diff --git a/Lib/irix5/DEVICE.py b/Lib/irix5/DEVICE.py
index 2c20485..7ace8cb 100755
--- a/Lib/irix5/DEVICE.py
+++ b/Lib/irix5/DEVICE.py
@@ -385,6 +385,7 @@
 DEPTHCHANGE = 543
 WINSHUT = 546
 DRAWOVERLAY = 547
+VIDEO = 548
 MENUBUTTON = RIGHTMOUSE
 WINCLOSE = 537
 KEYBDFNAMES = 544
diff --git a/Lib/lib-stdwin/wdb.py b/Lib/lib-stdwin/wdb.py
index b3d6b73..c499296 100644
--- a/Lib/lib-stdwin/wdb.py
+++ b/Lib/lib-stdwin/wdb.py
@@ -2,8 +2,6 @@
 
 # XXX To do:
 # - don't fall out of bottom frame
-# - is the /tmp file hack really needed?
-# - also use it for post-mortem debugging
 
 
 import stdwin
@@ -273,6 +271,8 @@
 			d.close()
 
 
+# Simplified interface
+
 def run(statement):
 	x = Wdb().init()
 	try: x.run(statement)
@@ -288,6 +288,21 @@
 	try: apply(Pdb().init().runcall, args)
 	finally: x.close()
 
+
+# Post-Mortem interface
+
+def post_mortem(traceback):
+	p = Pdb().init()
+	p.reset()
+	p.interaction(None, traceback)
+
+def pm():
+	import sys
+	post_mortem(sys.last_traceback)
+
+
+# Main program for testing
+
 TESTCMD = 'import x; x.main()'
 
 def test():
diff --git a/Lib/pdb.doc b/Lib/pdb.doc
index 0ae4c0e..c92b572 100644
--- a/Lib/pdb.doc
+++ b/Lib/pdb.doc
@@ -9,6 +9,15 @@
 The debugger's prompt is '(Pdb) '.  This will stop in the first
 function call in <a statement>.
 
+Alternatively, if a statement terminated with an unhandled exception,
+you can use pdb's post-mortem facility to inspect the contents of the
+traceback:
+
+	>>> <a statement>
+	<exception traceback>
+	>>> import pdb
+	>>> pdb.pm()
+
 The commands recognized by the debugger are listed in the next
 section.  Most can be abbreviated as indicated; e.g., h(elp) means
 that 'help' can be typed as 'h' or 'help' (but not as 'he' or 'hel',
diff --git a/Lib/pdb.py b/Lib/pdb.py
index f564f64..94dcd79 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -248,6 +248,8 @@
 		print self.format_stack_entry(frame_lineno)
 
 
+# Simplified interface
+
 def run(statement):
 	Pdb().init().run(statement)
 
@@ -257,6 +259,22 @@
 def runcall(*args):
 	apply(Pdb().init().runcall, args)
 
+
+# Post-Mortem interface
+
+def post_mortem(t):
+	p = Pdb().init()
+	p.reset()
+	while t.tb_next <> None: t = t.tb_next
+	p.interaction(t.tb_frame, t)
+
+def pm():
+	import sys
+	post_mortem(sys.last_traceback)
+
+
+# Main program for testing
+
 TESTCMD = 'import x; x.main()'
 
 def test():
diff --git a/Lib/plat-irix5/DEVICE.py b/Lib/plat-irix5/DEVICE.py
index 2c20485..7ace8cb 100755
--- a/Lib/plat-irix5/DEVICE.py
+++ b/Lib/plat-irix5/DEVICE.py
@@ -385,6 +385,7 @@
 DEPTHCHANGE = 543
 WINSHUT = 546
 DRAWOVERLAY = 547
+VIDEO = 548
 MENUBUTTON = RIGHTMOUSE
 WINCLOSE = 537
 KEYBDFNAMES = 544
diff --git a/Lib/stdwin/wdb.py b/Lib/stdwin/wdb.py
index b3d6b73..c499296 100755
--- a/Lib/stdwin/wdb.py
+++ b/Lib/stdwin/wdb.py
@@ -2,8 +2,6 @@
 
 # XXX To do:
 # - don't fall out of bottom frame
-# - is the /tmp file hack really needed?
-# - also use it for post-mortem debugging
 
 
 import stdwin
@@ -273,6 +271,8 @@
 			d.close()
 
 
+# Simplified interface
+
 def run(statement):
 	x = Wdb().init()
 	try: x.run(statement)
@@ -288,6 +288,21 @@
 	try: apply(Pdb().init().runcall, args)
 	finally: x.close()
 
+
+# Post-Mortem interface
+
+def post_mortem(traceback):
+	p = Pdb().init()
+	p.reset()
+	p.interaction(None, traceback)
+
+def pm():
+	import sys
+	post_mortem(sys.last_traceback)
+
+
+# Main program for testing
+
 TESTCMD = 'import x; x.main()'
 
 def test():
