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 23bc6df..d379d1a 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -1211,7 +1211,7 @@
         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