summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEzio Melotti <ezio.melotti@gmail.com>2012-11-03 15:46:51 (GMT)
committerEzio Melotti <ezio.melotti@gmail.com>2012-11-03 15:46:51 (GMT)
commitfafa8b7797034aa799157172392a5b7721e1854a (patch)
tree02a8a59d5561c54d43dd69136afc66c377be7dee
parent4af77a027680f2aa956a4d1c50947d6e2dbd0185 (diff)
parent2cc3b4ba9ffa658784da03f14a0a068e2c61d1b3 (diff)
downloadcpython-fafa8b7797034aa799157172392a5b7721e1854a.zip
cpython-fafa8b7797034aa799157172392a5b7721e1854a.tar.gz
cpython-fafa8b7797034aa799157172392a5b7721e1854a.tar.bz2
#16152: merge with 3.2.
-rw-r--r--Lib/test/test_tokenize.py4
-rw-r--r--Lib/tokenize.py4
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS3
4 files changed, 11 insertions, 1 deletions
diff --git a/Lib/test/test_tokenize.py b/Lib/test/test_tokenize.py
index 213e9b4..b4a58f0 100644
--- a/Lib/test/test_tokenize.py
+++ b/Lib/test/test_tokenize.py
@@ -1109,6 +1109,10 @@ class TestTokenize(TestCase):
token.NAME, token.AMPER, token.NUMBER,
token.RPAR)
+ def test_pathological_trailing_whitespace(self):
+ # See http://bugs.python.org/issue16152
+ self.assertExactTypeEqual('@ ', token.AT)
+
__test__ = {"doctests" : doctests, 'decistmt': decistmt}
def test_main():
diff --git a/Lib/tokenize.py b/Lib/tokenize.py
index d669412..cbf91ef 100644
--- a/Lib/tokenize.py
+++ b/Lib/tokenize.py
@@ -162,7 +162,7 @@ ContStr = group(StringPrefix + r"'[^\n'\\]*(?:\\.[^\n'\\]*)*" +
group("'", r'\\\r?\n'),
StringPrefix + r'"[^\n"\\]*(?:\\.[^\n"\\]*)*' +
group('"', r'\\\r?\n'))
-PseudoExtras = group(r'\\\r?\n', Comment, Triple)
+PseudoExtras = group(r'\\\r?\n|\Z', Comment, Triple)
PseudoToken = Whitespace + group(PseudoExtras, Number, Funny, ContStr, Name)
def _compile(expr):
@@ -555,6 +555,8 @@ def _tokenize(readline, encoding):
if pseudomatch: # scan for tokens
start, end = pseudomatch.span(1)
spos, epos, pos = (lnum, start), (lnum, end), end
+ if start == end:
+ continue
token, initial = line[start:end], line[start]
if (initial in numchars or # ordinary number
diff --git a/Misc/ACKS b/Misc/ACKS
index d80ead0..ee1ce67 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -77,6 +77,7 @@ Ulf Bartelt
Don Bashford
Pior Bastida
Nick Bastin
+Ned Batchelder
Jeff Bauer
Michael R Bax
Anthony Baxter
diff --git a/Misc/NEWS b/Misc/NEWS
index 618f34b..eaf6b3a 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -61,6 +61,9 @@ Core and Builtins
Library
-------
+- Issue #16152: fix tokenize to ignore whitespace at the end of the code when
+ no newline is found. Patch by Ned Batchelder.
+
- Issue #1207589: Add Cut/Copy/Paste items to IDLE right click Context Menu
Patch by Todd Rovito.