Add the "interact" pdb command from pdb++.
diff --git a/Lib/pdb.py b/Lib/pdb.py
index ad71c81..d6a9a92 100755
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -67,15 +67,16 @@
 # commands and is appended to __doc__ after the class has been defined.
 
 import sys
-import linecache
 import cmd
 import bdb
 import dis
 import os
 import re
+import code
 import pprint
-import traceback
 import inspect
+import traceback
+import linecache
 
 
 class Restart(Exception):
@@ -1167,6 +1168,16 @@
         # None of the above...
         self.message(type(value))
 
+    def do_interact(self, arg):
+        """interact
+
+        Start an interative interpreter whose global namespace
+        contains all the (global and local) names found in the current scope.
+        """
+        ns = self.curframe.f_globals.copy()
+        ns.update(self.curframe_locals)
+        code.interact("*interactive*", local=ns)
+
     def do_alias(self, arg):
         """alias [name [command [parameter parameter ...] ]]
         Create an alias called 'name' that executes 'command'.  The
@@ -1342,8 +1353,8 @@
         'help', 'where', 'down', 'up', 'break', 'tbreak', 'clear', 'disable',
         'enable', 'ignore', 'condition', 'commands', 'step', 'next', 'until',
         'jump', 'return', 'retval', 'run', 'continue', 'list', 'longlist',
-        'args', 'print', 'pp', 'whatis', 'source', 'alias', 'unalias',
-        'debug', 'quit',
+        'args', 'print', 'pp', 'whatis', 'source', 'interact', 'alias',
+        'unalias', 'debug', 'quit',
     ]
 
     for _command in _help_order: