diff options
Diffstat (limited to 'Lib')
-rwxr-xr-x | Lib/pdb.py | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -194,6 +194,12 @@ class Pdb(bdb.Bdb, cmd.Cmd): self.cmdloop() self.forget() + def displayhook(self, obj): + """Custom displayhook for the exec in default(), which prevents + assignment of the _ variable in the builtins. + """ + print obj + def default(self, line): if line[:1] == '!': line = line[1:] locals = self.curframe.f_locals @@ -202,13 +208,16 @@ class Pdb(bdb.Bdb, cmd.Cmd): code = compile(line + '\n', '<stdin>', 'single') save_stdout = sys.stdout save_stdin = sys.stdin + save_displayhook = sys.displayhook try: sys.stdin = self.stdin sys.stdout = self.stdout + sys.displayhook = self.displayhook exec code in globals, locals finally: sys.stdout = save_stdout sys.stdin = save_stdin + sys.displayhook = save_displayhook except: t, v = sys.exc_info()[:2] if type(t) == type(''): |