diff --git a/Lib/pdb.py b/Lib/pdb.py --- a/Lib/pdb.py +++ b/Lib/pdb.py @@ -356,8 +356,8 @@ def default(self, line): if line[:1] == '!': line = line[1:] - locals = self.curframe_locals - globals = self.curframe.f_globals + ns = self.curframe.f_globals.copy() + ns.update(self.curframe_locals) try: code = compile(line + '\n', '', 'single') save_stdout = sys.stdout @@ -367,7 +367,7 @@ sys.stdin = self.stdin sys.stdout = self.stdout sys.displayhook = self.displayhook - exec(code, globals, locals) + exec(code, ns) finally: sys.stdout = save_stdout sys.stdin = save_stdin