https://github.com/python/cpython/commit/fda8aec625d5be02ebb1c67fad89db85fa1f4f12
commit: fda8aec625d5be02ebb1c67fad89db85fa1f4f12
branch: 3.13
author: Miss Islington (bot) <[email protected]>
committer: pablogsal <[email protected]>
date: 2024-08-23T00:32:11Z
summary:

[3.13] gh-122546: Relax SyntaxError check when raising errors on the new REPL 
(GH-123233) (#123247)

gh-122546: Relax SyntaxError check when raising errors on the new REPL 
(GH-123233)
(cherry picked from commit 4c3f0cbeaec0d49212d305618743fabb0e74a696)

Co-authored-by: Sergey B Kirpichev <[email protected]>

files:
M Lib/code.py
M Lib/test/test_pyrepl/test_pyrepl.py

diff --git a/Lib/code.py b/Lib/code.py
index 5f7a2d3be07cad..25f5b6a577fff8 100644
--- a/Lib/code.py
+++ b/Lib/code.py
@@ -110,7 +110,7 @@ def showsyntaxerror(self, filename=None, **kwargs):
         colorize = kwargs.pop('colorize', False)
         try:
             typ, value, tb = sys.exc_info()
-            if filename and typ is SyntaxError:
+            if filename and issubclass(typ, SyntaxError):
                 value.filename = filename
             source = kwargs.pop('source', "")
             self._showtraceback(typ, value, None, colorize, source)
diff --git a/Lib/test/test_pyrepl/test_pyrepl.py 
b/Lib/test/test_pyrepl/test_pyrepl.py
index a433212fe92ddc..9944cd08dd5162 100644
--- a/Lib/test/test_pyrepl/test_pyrepl.py
+++ b/Lib/test/test_pyrepl/test_pyrepl.py
@@ -1109,6 +1109,10 @@ def test_correct_filename_in_syntaxerrors(self):
             self.skipTest("pyrepl not available")
         self.assertIn("SyntaxError: invalid syntax", output)
         self.assertIn("<python-input-0>", output)
+        commands = " b\nexit()\n"
+        output, exit_code = self.run_repl(commands, env=env)
+        self.assertIn("IndentationError: unexpected indent", output)
+        self.assertIn("<python-input-0>", output)
 
     def run_repl(
         self,

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-checkins.python.org/
Member address: [email protected]

Reply via email to