Hi, The following issue arose when implementing IronPython 3. Normally the behavior of CPython is authoritative, but in this case I started having doubts.
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? The comments on bpo (https://bugs.python.org/issue36919) suggest Case B, but inconclusive. If case B it is, since IronPython does not exhibit this behavior, I will submit a patch to StdLib test(s) to make them implementation independent. Thanks for comments, Pavel _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com