summaryrefslogtreecommitdiffstats
path: root/Lib/tokenize.py
diff options
context:
space:
mode:
authorTerry Jan Reedy <tjreedy@udel.edu>2014-02-24 04:32:59 (GMT)
committerTerry Jan Reedy <tjreedy@udel.edu>2014-02-24 04:32:59 (GMT)
commitbd7cf3ade36f00f7d23a0edca9be365c4ad8a762 (patch)
tree73e56db4710722238ad85d10381e8bd5491175e4 /Lib/tokenize.py
parente0a03d6e2e0f64ff4a747419403e123289e5c3dd (diff)
downloadcpython-bd7cf3ade36f00f7d23a0edca9be365c4ad8a762.zip
cpython-bd7cf3ade36f00f7d23a0edca9be365c4ad8a762.tar.gz
cpython-bd7cf3ade36f00f7d23a0edca9be365c4ad8a762.tar.bz2
Issue #9974: When untokenizing, use row info to insert backslash+newline.
Original patches by A. Kuchling and G. Rees (#12691).
Diffstat (limited to 'Lib/tokenize.py')
-rw-r--r--Lib/tokenize.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/Lib/tokenize.py b/Lib/tokenize.py
index a16d475..661ddeb 100644
--- a/Lib/tokenize.py
+++ b/Lib/tokenize.py
@@ -188,6 +188,10 @@ class Untokenizer:
if row < self.prev_row or row == self.prev_row and col < self.prev_col:
raise ValueError("start ({},{}) precedes previous end ({},{})"
.format(row, col, self.prev_row, self.prev_col))
+ row_offset = row - self.prev_row
+ if row_offset:
+ self.tokens.append("\\\n" * row_offset)
+ self.prev_col = 0
col_offset = col - self.prev_col
if col_offset:
self.tokens.append(" " * col_offset)
@@ -199,6 +203,8 @@ class Untokenizer:
self.compat(t, it)
break
tok_type, token, start, end, line = t
+ if tok_type == ENDMARKER:
+ break
self.add_whitespace(start)
self.tokens.append(token)
self.prev_row, self.prev_col = end