Message342515
Since Python 3.2, input in 'exec' mode of 'compile' does not have to end in a newline anymore. However, it creates a surprising behavior when a 'SyntaxError' is reported:
>>> try: compile('try', '<string>', 'exec')
... except SyntaxError as ex: print(repr(ex))
...
SyntaxError('invalid syntax', ('<string>', 1, 4, 'try\n'))
The 'text' field of the exception thrown contains an additional newline character that was not present in the input. Is it:
a. Proper Python language behavior?
b. CPython implementation artifact?
c. A bug?
In case of:
a. I will submit a patch to IronPython, which does not add an extra newline at the moment.
b. I can submit a patch to CPython to make StdLib tests implementation independent.
c. This inquiry can serve as a bug report. |
|
Date |
User |
Action |
Args |
2019-05-14 20:28:37 | BCSharp | set | recipients:
+ BCSharp |
2019-05-14 20:28:37 | BCSharp | set | messageid: <1557865717.35.0.0613603941425.issue36919@roundup.psfhosted.org> |
2019-05-14 20:28:37 | BCSharp | link | issue36919 messages |
2019-05-14 20:28:36 | BCSharp | create | |
|