mirror of
https://github.com/python/cpython.git
synced 2025-09-26 18:29:57 +00:00
#16152: fix tokenize to ignore whitespace at the end of the code when no newline is found. Patch by Ned Batchelder.
This commit is contained in:
parent
4552e3f95c
commit
2cc3b4ba9f
4 changed files with 12 additions and 1 deletions
|
@ -552,6 +552,11 @@ Evil tabs
|
||||||
DEDENT '' (4, 0) (4, 0)
|
DEDENT '' (4, 0) (4, 0)
|
||||||
DEDENT '' (4, 0) (4, 0)
|
DEDENT '' (4, 0) (4, 0)
|
||||||
|
|
||||||
|
Pathological whitespace (http://bugs.python.org/issue16152)
|
||||||
|
>>> dump_tokens("@ ")
|
||||||
|
ENCODING 'utf-8' (0, 0) (0, 0)
|
||||||
|
OP '@' (1, 0) (1, 1)
|
||||||
|
|
||||||
Non-ascii identifiers
|
Non-ascii identifiers
|
||||||
|
|
||||||
>>> dump_tokens("Örter = 'places'\\ngrün = 'green'")
|
>>> dump_tokens("Örter = 'places'\\ngrün = 'green'")
|
||||||
|
|
|
@ -108,7 +108,7 @@ ContStr = group(r"[bB]?[rR]?'[^\n'\\]*(?:\\.[^\n'\\]*)*" +
|
||||||
group("'", r'\\\r?\n'),
|
group("'", r'\\\r?\n'),
|
||||||
r'[bB]?[rR]?"[^\n"\\]*(?:\\.[^\n"\\]*)*' +
|
r'[bB]?[rR]?"[^\n"\\]*(?:\\.[^\n"\\]*)*' +
|
||||||
group('"', r'\\\r?\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)
|
PseudoToken = Whitespace + group(PseudoExtras, Number, Funny, ContStr, Name)
|
||||||
|
|
||||||
def _compile(expr):
|
def _compile(expr):
|
||||||
|
@ -473,6 +473,8 @@ def _tokenize(readline, encoding):
|
||||||
if pseudomatch: # scan for tokens
|
if pseudomatch: # scan for tokens
|
||||||
start, end = pseudomatch.span(1)
|
start, end = pseudomatch.span(1)
|
||||||
spos, epos, pos = (lnum, start), (lnum, end), end
|
spos, epos, pos = (lnum, start), (lnum, end), end
|
||||||
|
if start == end:
|
||||||
|
continue
|
||||||
token, initial = line[start:end], line[start]
|
token, initial = line[start:end], line[start]
|
||||||
|
|
||||||
if (initial in numchars or # ordinary number
|
if (initial in numchars or # ordinary number
|
||||||
|
|
|
@ -71,6 +71,7 @@ Des Barry
|
||||||
Ulf Bartelt
|
Ulf Bartelt
|
||||||
Don Bashford
|
Don Bashford
|
||||||
Nick Bastin
|
Nick Bastin
|
||||||
|
Ned Batchelder
|
||||||
Jeff Bauer
|
Jeff Bauer
|
||||||
Mike Bayer
|
Mike Bayer
|
||||||
Michael R Bax
|
Michael R Bax
|
||||||
|
|
|
@ -143,6 +143,9 @@ Core and Builtins
|
||||||
Library
|
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
|
- Issue #1207589: Add Cut/Copy/Paste items to IDLE right click Context Menu
|
||||||
Patch by Todd Rovito.
|
Patch by Todd Rovito.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue