Issue #8774: tabnanny uses the encoding cookie (#coding:...) to use the correct
encoding
diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py
index 2c6fb0c..7053fd9 100755
--- a/Lib/tabnanny.py
+++ b/Lib/tabnanny.py
@@ -93,8 +93,11 @@
check(fullname)
return
+ with open(file, 'rb') as f:
+ encoding, lines = tokenize.detect_encoding(f.readline)
+
try:
- f = open(file)
+ f = open(file, encoding=encoding)
except IOError as msg:
errprint("%r: I/O Error: %s" % (file, msg))
return
diff --git a/Misc/NEWS b/Misc/NEWS
index fb9b52c..5ac16df 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -375,7 +375,10 @@
Library
-------
-- Issue #4870: Add an `options` attribute to SSL contexts, as well as
+- Issue #8774: tabnanny uses the encoding cookie (#coding:...) to use the
+ correct encoding
+
+- Issue #4870: Add an `options` attribute to SSL contexts, as well as
several ``OP_*`` constants to the `ssl` module. This allows to selectively
disable protocol versions, when used in combination with `PROTOCOL_SSLv23`.