use floor division and add a test that exercises the tabsize codepath

This commit is contained in:
Benjamin Peterson 2009-10-15 01:49:37 +00:00
parent e537adfd08
commit 447dc15658
2 changed files with 18 additions and 1 deletions

View File

@ -508,6 +508,23 @@ pass the '-ucompiler' option to process the full directory.
... break
... else: True
True
Evil tabs
>>> dump_tokens("def f():\\n\\tif x\\n \tpass")
NAME 'def' (1, 0) (1, 3)
NAME 'f' (1, 4) (1, 5)
OP '(' (1, 5) (1, 6)
OP ')' (1, 6) (1, 7)
OP ':' (1, 7) (1, 8)
NEWLINE '\\n' (1, 8) (1, 9)
INDENT '\\t' (2, 0) (2, 1)
NAME 'if' (2, 1) (2, 3)
NAME 'x' (2, 4) (2, 5)
NEWLINE '\\n' (2, 5) (2, 6)
INDENT ' ' (3, 0) (3, 9)
NAME 'pass' (3, 9) (3, 13)
DEDENT '' (4, 0) (4, 0)
DEDENT '' (4, 0) (4, 0)
"""

View File

@ -319,7 +319,7 @@ def generate_tokens(readline):
if line[pos] == ' ':
column = column + 1
elif line[pos] == '\t':
column = (column/tabsize + 1)*tabsize
column = (column//tabsize + 1)*tabsize
elif line[pos] == '\f':
column = 0
else: