> 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.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to