diff --git a/Lib/pdb.py b/Lib/pdb.py
--- a/Lib/pdb.py
+++ b/Lib/pdb.py
@@ -357,7 +357,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(locals)
try:
code = compile(line + '\n', '', 'single')
save_stdout = sys.stdout
@@ -367,7 +368,7 @@
sys.stdin = self.stdin
sys.stdout = self.stdout
sys.displayhook = self.displayhook
- exec(code, globals, locals)
+ exec(code, ns, locals)
finally:
sys.stdout = save_stdout
sys.stdin = save_stdin