Index: Lib/pdb.py =================================================================== --- Lib/pdb.py (revision 59953) +++ Lib/pdb.py (working copy) @@ -193,7 +193,15 @@ globals = self.curframe.f_globals try: code = compile(line + '\n', '', 'single') - exec code in globals, locals + save_stdin = sys.stdin + save_stdout = sys.stdout + try: + sys.stdin = self.stdin + sys.stdout = self.stdout + exec code in globals, locals + finally: + sys.stdout = save_stdout + sys.stdin = save_stdin except: t, v = sys.exc_info()[:2] if type(t) == type(''): @@ -641,7 +649,7 @@ sys.settrace(None) globals = self.curframe.f_globals locals = self.curframe.f_locals - p = Pdb() + p = Pdb(self.completekey, self.stdin, self.stdout) p.prompt = "(%s) " % self.prompt.strip() print >>self.stdout, "ENTERING RECURSIVE DEBUGGER" sys.call_tracing(p.run, (arg, globals, locals))