[Python-Dev] Indentation oddness...
Dino Viehland
dinov at microsoft.com
Sat May 30 02:52:33 CEST 2009
> The 'single' mode, which is used for the REPL, is a bit different than
> 'exec',
> which is used for modules. This difference lets you insert "blank"
> lines of
> whitespace into a function definition without exiting the definition.
> Ending
> with a truly empty line does not cause the IndentationError, so the
> REPL can
> successfully compile the code, signaling that the user has finished
> typing the
> function.
Sorry, I probably should have mentioned this but it repros w/
compile(..., "exec") as well:
>>> code = "def Foo():\n\n pass\n\n "
>>> compile(code, 'foo', 'exec')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "foo", line 5
IndentationError: unindent does not match any outer indentation level
It also repros when passing in PyCF_DONT_IMPLY_DEDENT for flags under
single and exec.
More information about the Python-Dev
mailing list