summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xLib/pydoc.py2
-rw-r--r--Misc/NEWS4
2 files changed, 5 insertions, 1 deletions
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 2533226..aa4b6d5 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -2580,7 +2580,7 @@ def _url_handler(url, content_type="text/html"):
def html_getfile(path):
"""Get and display a source file listing safely."""
path = path.replace('%20', ' ')
- with open(path, 'r') as fp:
+ with tokenize.open(path) as fp:
lines = html.escape(fp.read())
body = '<pre>%s</pre>' % lines
heading = html.heading(
diff --git a/Misc/NEWS b/Misc/NEWS
index ae0ed58..0bc7cd7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -27,6 +27,10 @@ Library
- Issue #12467: warnings: fix a race condition if a warning is emitted at
shutdown, if globals()['__file__'] is None.
+- Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support
+ Python scripts using a encoding different than UTF-8 (read the coding cookie
+ of the script).
+
- Issue #12451: pydoc: importfile() now opens the Python script in binary mode,
instead of text mode using the locale encoding, to avoid encoding issues.