diff options
| author | Serhiy Storchaka <storchaka@gmail.com> | 2014-09-05 07:22:05 (GMT) |
|---|---|---|
| committer | Serhiy Storchaka <storchaka@gmail.com> | 2014-09-05 07:22:05 (GMT) |
| commit | 3eb554fc828c812a31c1a3cd9f619eacbb708010 (patch) | |
| tree | 8f949a481d0170358d6d06ea577d0ce766383d15 /Lib/idlelib/IOBinding.py | |
| parent | 423f1282b3476e2e58b6631632f2521b80f556c7 (diff) | |
| download | cpython-3eb554fc828c812a31c1a3cd9f619eacbb708010.zip cpython-3eb554fc828c812a31c1a3cd9f619eacbb708010.tar.gz cpython-3eb554fc828c812a31c1a3cd9f619eacbb708010.tar.bz2 | |
Issue #22221: Backported fixes from Python 3 (issue #18960).
* Now the source encoding declaration on the second line isn't effective if
the first line contains anything except a comment. This affects compile(),
eval() and exec() too.
* IDLE now ignores the source encoding declaration on the second line if the
first line contains anything except a comment.
* 2to3 and the findnocoding.py script now ignore the source encoding
declaration on the second line if the first line contains anything except
a comment.
Diffstat (limited to 'Lib/idlelib/IOBinding.py')
| -rw-r--r-- | Lib/idlelib/IOBinding.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py index aedd372..e3affa8 100644 --- a/Lib/idlelib/IOBinding.py +++ b/Lib/idlelib/IOBinding.py @@ -72,6 +72,7 @@ else: encoding = encoding.lower() coding_re = re.compile(r'^[ \t\f]*#.*coding[:=][ \t]*([-\w.]+)') +blank_re = re.compile(r'^[ \t\f]*(?:[#\r\n]|$)') class EncodingMessage(SimpleDialog): "Inform user that an encoding declaration is needed." @@ -130,6 +131,8 @@ def coding_spec(str): match = coding_re.match(line) if match is not None: break + if not blank_re.match(line): + return None else: return None name = match.group(1) |
