Nick Coghlan added the comment:
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.
----------
Added file:
http://bugs.python.org/file35510/issue21669_custom_error_messages_v2.diff
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue21669>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com