mirror of https://github.com/python/cpython.git
From: "Tim Peters" <tim_one@msn.com>
The 1.5.1 tabnanny.py suffers an assert error if fed a script whose last line is both indented and lacks a newline: if 1: print 'oh fudge' # no newline here: The attached version repairs that.
This commit is contained in:
parent
cd5a5f627a
commit
aa2a7a4ae6
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
"""The Tab Nanny despises ambiguous indentation. She knows no mercy."""
|
"""The Tab Nanny despises ambiguous indentation. She knows no mercy."""
|
||||||
|
|
||||||
# Released to the public domain, by Tim Peters, 6 April 1998.
|
# Released to the public domain, by Tim Peters, 15 April 1998.
|
||||||
|
|
||||||
__version__ = "4"
|
__version__ = "5"
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -270,7 +270,13 @@ def tokeneater(type, token, start, end, line,
|
||||||
# that when the run of DEDENTs ends, the indentation of the
|
# that when the run of DEDENTs ends, the indentation of the
|
||||||
# program statement (or ENDMARKER) that triggered the run is
|
# program statement (or ENDMARKER) that triggered the run is
|
||||||
# equal to what's left at the top of the indents stack
|
# equal to what's left at the top of the indents stack
|
||||||
assert check_equal # else no earlier NEWLINE, or an earlier INDENT
|
|
||||||
|
# Ouch! This assert triggers if the last line of the source
|
||||||
|
# is indented *and* lacks a newline -- then DEDENTs pop out
|
||||||
|
# of thin air.
|
||||||
|
# assert check_equal # else no earlier NEWLINE, or an earlier INDENT
|
||||||
|
check_equal = 1
|
||||||
|
|
||||||
del indents[-1]
|
del indents[-1]
|
||||||
|
|
||||||
elif check_equal and type not in JUNK:
|
elif check_equal and type not in JUNK:
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
"""The Tab Nanny despises ambiguous indentation. She knows no mercy."""
|
"""The Tab Nanny despises ambiguous indentation. She knows no mercy."""
|
||||||
|
|
||||||
# Released to the public domain, by Tim Peters, 6 April 1998.
|
# Released to the public domain, by Tim Peters, 15 April 1998.
|
||||||
|
|
||||||
__version__ = "4"
|
__version__ = "5"
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -270,7 +270,13 @@ def tokeneater(type, token, start, end, line,
|
||||||
# that when the run of DEDENTs ends, the indentation of the
|
# that when the run of DEDENTs ends, the indentation of the
|
||||||
# program statement (or ENDMARKER) that triggered the run is
|
# program statement (or ENDMARKER) that triggered the run is
|
||||||
# equal to what's left at the top of the indents stack
|
# equal to what's left at the top of the indents stack
|
||||||
assert check_equal # else no earlier NEWLINE, or an earlier INDENT
|
|
||||||
|
# Ouch! This assert triggers if the last line of the source
|
||||||
|
# is indented *and* lacks a newline -- then DEDENTs pop out
|
||||||
|
# of thin air.
|
||||||
|
# assert check_equal # else no earlier NEWLINE, or an earlier INDENT
|
||||||
|
check_equal = 1
|
||||||
|
|
||||||
del indents[-1]
|
del indents[-1]
|
||||||
|
|
||||||
elif check_equal and type not in JUNK:
|
elif check_equal and type not in JUNK:
|
||||||
|
|
|
@ -2,9 +2,9 @@
|
||||||
|
|
||||||
"""The Tab Nanny despises ambiguous indentation. She knows no mercy."""
|
"""The Tab Nanny despises ambiguous indentation. She knows no mercy."""
|
||||||
|
|
||||||
# Released to the public domain, by Tim Peters, 6 April 1998.
|
# Released to the public domain, by Tim Peters, 15 April 1998.
|
||||||
|
|
||||||
__version__ = "4"
|
__version__ = "5"
|
||||||
|
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
|
@ -270,7 +270,13 @@ def tokeneater(type, token, start, end, line,
|
||||||
# that when the run of DEDENTs ends, the indentation of the
|
# that when the run of DEDENTs ends, the indentation of the
|
||||||
# program statement (or ENDMARKER) that triggered the run is
|
# program statement (or ENDMARKER) that triggered the run is
|
||||||
# equal to what's left at the top of the indents stack
|
# equal to what's left at the top of the indents stack
|
||||||
assert check_equal # else no earlier NEWLINE, or an earlier INDENT
|
|
||||||
|
# Ouch! This assert triggers if the last line of the source
|
||||||
|
# is indented *and* lacks a newline -- then DEDENTs pop out
|
||||||
|
# of thin air.
|
||||||
|
# assert check_equal # else no earlier NEWLINE, or an earlier INDENT
|
||||||
|
check_equal = 1
|
||||||
|
|
||||||
del indents[-1]
|
del indents[-1]
|
||||||
|
|
||||||
elif check_equal and type not in JUNK:
|
elif check_equal and type not in JUNK:
|
||||||
|
|
Loading…
Reference in New Issue