]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Allow code objects to be passed to run() and eval().
authorGuido van Rossum <guido@python.org>
Tue, 15 Oct 1996 14:40:21 +0000 (14:40 +0000)
committerGuido van Rossum <guido@python.org>
Tue, 15 Oct 1996 14:40:21 +0000 (14:40 +0000)
Lib/bdb.py

index 6d0536db69171e2044302fd4f2431ca66dfadac3..b2c827c5d71bf06ed17bd5bc0ebc6b49cbb60546 100644 (file)
@@ -7,6 +7,7 @@
 # And of course... you can roll your own!
 
 import sys
+import types
 
 BdbQuit = 'bdb.BdbQuit' # Exception to give up completely
 
@@ -278,9 +279,11 @@ class Bdb: # Basic Debugger
                        locals = globals
                self.reset()
                sys.settrace(self.trace_dispatch)
+               if type(cmd) <> types.CodeType:
+                       cmd = cmd+'\n'
                try:
                        try:
-                               exec cmd + '\n' in globals, locals
+                               exec cmd in globals, locals
                        except BdbQuit:
                                pass
                finally:
@@ -295,9 +298,11 @@ class Bdb: # Basic Debugger
                        locals = globals
                self.reset()
                sys.settrace(self.trace_dispatch)
+               if type(expr) <> types.CodeType:
+                       expr = expr+'\n'
                try:
                        try:
-                               return eval(expr + '\n', globals, locals)
+                               return eval(expr, globals, locals)
                        except BdbQuit:
                                pass
                finally: