New submission from Pavel Koneski <pavel.kone...@gmail.com>:
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. ---------- components: Interpreter Core messages: 342515 nosy: BCSharp priority: normal severity: normal status: open title: Exception form 'compile' reports a newline char not present in input type: behavior versions: Python 3.5, Python 3.6, Python 3.7, Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36919> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com