diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-03-20 21:36:29 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-03-20 21:36:29 (GMT) |
commit | e431d3c9aadb52dd1eea4d1e606e94f1c8471459 (patch) | |
tree | 5154063f2e6048881fa88675efd6dfb4bd2f5c4f /Lib | |
parent | 97eee1cfda602df25866a6a62796f675caf52323 (diff) | |
download | cpython-e431d3c9aadb52dd1eea4d1e606e94f1c8471459.zip cpython-e431d3c9aadb52dd1eea4d1e606e94f1c8471459.tar.gz cpython-e431d3c9aadb52dd1eea4d1e606e94f1c8471459.tar.bz2 |
Issue #26581: Use the first coding cookie on a line, not the last one.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/idlelib/IOBinding.py | 2 | ||||
-rw-r--r-- | Lib/lib2to3/pgen2/tokenize.py | 2 | ||||
-rw-r--r-- | Lib/test/test_importlib/source/test_source_encoding.py | 2 | ||||
-rw-r--r-- | Lib/test/test_source_encoding.py | 2 | ||||
-rw-r--r-- | Lib/tokenize.py | 2 |
5 files changed, 5 insertions, 5 deletions
diff --git a/Lib/idlelib/IOBinding.py b/Lib/idlelib/IOBinding.py index a4cc205..84f39a2 100644 --- a/Lib/idlelib/IOBinding.py +++ b/Lib/idlelib/IOBinding.py @@ -62,7 +62,7 @@ locale_encoding = locale_encoding.lower() encoding = locale_encoding ### KBK 07Sep07 This is used all over IDLE, check! ### 'encoding' is used below in encode(), check! -coding_re = re.compile(r'^[ \t\f]*#.*coding[:=][ \t]*([-\w.]+)', re.ASCII) +coding_re = re.compile(r'^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)', re.ASCII) blank_re = re.compile(r'^[ \t\f]*(?:[#\r\n]|$)', re.ASCII) def coding_spec(data): diff --git a/Lib/lib2to3/pgen2/tokenize.py b/Lib/lib2to3/pgen2/tokenize.py index 1ff1c61..d14db60 100644 --- a/Lib/lib2to3/pgen2/tokenize.py +++ b/Lib/lib2to3/pgen2/tokenize.py @@ -236,7 +236,7 @@ class Untokenizer: startline = False toks_append(tokval) -cookie_re = re.compile(r'^[ \t\f]*#.*coding[:=][ \t]*([-\w.]+)', re.ASCII) +cookie_re = re.compile(r'^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)', re.ASCII) blank_re = re.compile(br'^[ \t\f]*(?:[#\r\n]|$)', re.ASCII) def _get_normal_name(orig_enc): diff --git a/Lib/test/test_importlib/source/test_source_encoding.py b/Lib/test/test_importlib/source/test_source_encoding.py index b604afb..1e0771b 100644 --- a/Lib/test/test_importlib/source/test_source_encoding.py +++ b/Lib/test/test_importlib/source/test_source_encoding.py @@ -14,7 +14,7 @@ import unittest import warnings -CODING_RE = re.compile(r'^[ \t\f]*#.*coding[:=][ \t]*([-\w.]+)', re.ASCII) +CODING_RE = re.compile(r'^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)', re.ASCII) class EncodingTest: diff --git a/Lib/test/test_source_encoding.py b/Lib/test/test_source_encoding.py index 7979c82..3873400 100644 --- a/Lib/test/test_source_encoding.py +++ b/Lib/test/test_source_encoding.py @@ -178,7 +178,7 @@ class AbstractSourceEncodingTest: def test_double_coding_same_line(self): src = (b'#coding:iso8859-15 coding:latin1\n' b'print(ascii("\xc3\xa4"))\n') - self.check_script_output(src, br"'\xc3\xa4'") + self.check_script_output(src, br"'\xc3\u20ac'") def test_first_non_utf8_coding_line(self): src = (b'#coding:iso-8859-15 \xa4\n' diff --git a/Lib/tokenize.py b/Lib/tokenize.py index 9fd676c..b1d0c83 100644 --- a/Lib/tokenize.py +++ b/Lib/tokenize.py @@ -33,7 +33,7 @@ import re import sys from token import * -cookie_re = re.compile(r'^[ \t\f]*#.*coding[:=][ \t]*([-\w.]+)', re.ASCII) +cookie_re = re.compile(r'^[ \t\f]*#.*?coding[:=][ \t]*([-\w.]+)', re.ASCII) blank_re = re.compile(br'^[ \t\f]*(?:[#\r\n]|$)', re.ASCII) import token |