diff --git a/Lib/tabnanny.py b/Lib/tabnanny.py index 2c6fb0cb838..7053fd9398d 100755 --- a/Lib/tabnanny.py +++ b/Lib/tabnanny.py @@ -93,8 +93,11 @@ def check(file): 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 fb9b52c7384..5ac16dfc075 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -375,7 +375,10 @@ C-API 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`.