From: Amaury Forgeot d'Arc Date: Thu, 9 Jul 2009 23:20:02 +0000 (+0000) Subject: Merged revisions 73918-73919 via svnmerge from X-Git-Tag: v3.1.1rc1~94 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d31d4f2cc4dbe882fb75a2ee5dde473b8216d73a;p=python Merged revisions 73918-73919 via svnmerge from svn+ssh://pythondev@svn.python.org/python/branches/py3k ........ r73918 | amaury.forgeotdarc | 2009-07-10 01:00:40 +0200 (ven., 10 juil. 2009) | 9 lines #6323: pdb doesn't deal well with SyntaxErrors. It seems necessary to keep two layers of 'exec' (one in Bdb.run, one in Pdb._runscript); this allows the tracing function to be active when the inner 'exec' runs and tries to compile the real code. This partially revert r58127, the net effet of the two changes is to replace "exec('%s')" with "exec(%r)". ........ r73919 | amaury.forgeotdarc | 2009-07-10 01:07:52 +0200 (ven., 10 juil. 2009) | 2 lines NEWS entry for r73918. ........ --- diff --git a/Lib/pdb.py b/Lib/pdb.py index 23bc6dfa16..d379d1a9ab 100755 --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -1211,7 +1211,7 @@ see no sign that the breakpoint was reached. self.mainpyfile = self.canonic(filename) self._user_requested_quit = 0 with open(filename) as fp: - statement = fp.read() + statement = "exec(%r)" % (fp.read(),) self.run(statement) # Simplified interface diff --git a/Misc/NEWS b/Misc/NEWS index b37f18e26f..e650b33b80 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -34,6 +34,9 @@ C-API Library ------- +- Issue #6323: The pdb debugger did not exit when running a script with a + syntax error. + - Issue #6369: Fix an RLE decompression bug in the binhex module. - Issue #6344: Fixed a crash of mmap.read() when passed a negative argument.