summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>2009-07-09 23:00:40 (GMT)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>2009-07-09 23:00:40 (GMT)
commita63505437ac34aac17faadf0d49e322fe89c954a (patch)
treed0d403f148f70973b9eaf7e62952dbdb4847d17e
parentace3102131b29081119050dff4e229a58a487976 (diff)
downloadcpython-a63505437ac34aac17faadf0d49e322fe89c954a.zip
cpython-a63505437ac34aac17faadf0d49e322fe89c954a.tar.gz
cpython-a63505437ac34aac17faadf0d49e322fe89c954a.tar.bz2
#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)".
-rwxr-xr-xLib/pdb.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/Lib/pdb.py b/Lib/pdb.py
index 23bc6df..d379d1a 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