]> granicus.if.org Git - python/commitdiff
#6323: pdb doesn't deal well with SyntaxErrors.
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Thu, 9 Jul 2009 23:00:40 +0000 (23:00 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Thu, 9 Jul 2009 23:00:40 +0000 (23:00 +0000)
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)".

Lib/pdb.py

index 23bc6dfa16b7a2e43d1919e0e5c983a57210140a..d379d1a9abd765f6977b2a842b1ac558c2e69cf4 100755 (executable)
@@ -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