- After an exception, run.py was not setting the exception vector. Noam
  Raphael suggested correcting this so pdb's postmortem pm() would work.
  IDLEfork Patch 844675

Modified: NEWS.txt  run.py
diff --git a/Lib/idlelib/NEWS.txt b/Lib/idlelib/NEWS.txt
index 07291c3..c6df2c3 100644
--- a/Lib/idlelib/NEWS.txt
+++ b/Lib/idlelib/NEWS.txt
@@ -3,6 +3,10 @@
 
 *Release date: XX-XXX-2003*
 
+- After an exception, run.py was not setting the exception vector. Noam
+  Raphael suggested correcting this so pdb's postmortem pm() would work. 
+  IDLEfork Patch 844675
+
 - IDLE didn't start correctly when Python was installed in "Program Files" on
   W2K and XP.  Python Bugs 780451, 784183
 
diff --git a/Lib/idlelib/run.py b/Lib/idlelib/run.py
index 4e6345c..d1fe08f 100644
--- a/Lib/idlelib/run.py
+++ b/Lib/idlelib/run.py
@@ -111,7 +111,8 @@
 def print_exception():
     flush_stdout()
     efile = sys.stderr
-    typ, val, tb = sys.exc_info()
+    typ, val, tb = excinfo = sys.exc_info()
+    sys.last_type, sys.last_value, sys.last_traceback = excinfo
     tbe = traceback.extract_tb(tb)
     print >>efile, '\nTraceback (most recent call last):'
     exclude = ("run.py", "rpc.py", "threading.py", "Queue.py",