#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)".
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