- Finally fixed the bug in compile() and exec where a string ending

with an indented code block but no newline would raise SyntaxError.
  This would have been a four-line change in parsetok.c...  Except
  codeop.py depends on this behavior, so a compilation flag had to be
  invented that causes the tokenizer to revert to the old behavior;
  this required extra changes to 2 .h files, 2 .c files, and 2 .py
  files.  (Fixes SF bug #501622.)
This commit is contained in:
Guido van Rossum 2003-02-13 22:07:59 +00:00
parent 5aa3da6495
commit 4b499dd3fb
10 changed files with 47 additions and 13 deletions

View file

@ -89,6 +89,15 @@ expect_error("2.0e+")
expect_error("1e-")
expect_error("3-4e/21")
if verbose:
print "testing compile() of indented block w/o trailing newline"
s = """
if 1:
if 2:
pass"""
compile(s, "<string>", "exec")
if verbose:
print "testing literals with leading zeroes"