This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients alex, glyph, gvanrossum, ncoghlan
Date 2014-06-07.12:37:05
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1402144627.2.0.95655395421.issue21669@psf.upfronthosting.co.za>
In-reply-to
Content
Updated patch with the heuristics factored out into a helper function, with a more detailed explanation and additional logic to handle compound statements.

>>> def foo():
...     print bar
  File "<stdin>", line 2
    print bar
            ^
SyntaxError: Missing parentheses in call to 'print'

It's still just basic string hackery, though. The one liner handling, for example, relies on the fact that ":<whitespace>print " and ":<whitespace>exec " are going to be uncommon outside Python 2 code being ported to Python 3, so it just looks for the first colon on the line and checks from there, without worrying about slice notation or dicts.
History
Date User Action Args
2014-06-07 12:37:07ncoghlansetrecipients: + ncoghlan, gvanrossum, glyph, alex
2014-06-07 12:37:07ncoghlansetmessageid: <1402144627.2.0.95655395421.issue21669@psf.upfronthosting.co.za>
2014-06-07 12:37:07ncoghlanlinkissue21669 messages
2014-06-07 12:37:06ncoghlancreate