#16152: merge with 3.2.

This commit is contained in:
Ezio Melotti 2012-11-03 17:46:51 +02:00
commit fafa8b7797
4 changed files with 11 additions and 1 deletions

View File

@ -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():

View File

@ -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

View File

@ -77,6 +77,7 @@ Ulf Bartelt
Don Bashford
Pior Bastida
Nick Bastin
Ned Batchelder
Jeff Bauer
Michael R Bax
Anthony Baxter

View File

@ -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.