New submission from Rémy Oudompheng <remyoudomph...@gmail.com>: When running "2to3 -f raise" on the following code, which uses an old Python 2.4 raise of a string:
def f(): raise ("message %s %s" % (1, 2)) try: f() finally: pass I obtain the following quite surprising result. I would have expected to get either an error or leave the original file unchanged, because "raise (s)" is syntactically valid although incorrect. $ 2to3 -f raise w.py RefactoringTool: Refactored w.py --- w.py (original) +++ w.py (refactored) @@ -1,5 +1,5 @@ def f(): - raise ("message %s %s" % (1, 2)) + raise "message %s %s" try: f() ---------- components: 2to3 (2.x to 3.x conversion tool) messages: 368355 nosy: Rémy Oudompheng priority: normal severity: normal status: open title: 2to3 raise can silently remove code from old 2.4 string exceptions type: behavior versions: Python 3.7, Python 3.8 _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue40547> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com