From: Guido van Rossum Date: Tue, 15 Oct 1996 14:40:21 +0000 (+0000) Subject: Allow code objects to be passed to run() and eval(). X-Git-Tag: v1.4~94 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4808dcb5645d88f185c22a4fdff489dc8816240c;p=thirdparty%2FPython%2Fcpython.git Allow code objects to be passed to run() and eval(). --- diff --git a/Lib/bdb.py b/Lib/bdb.py index 6d0536db6917..b2c827c5d71b 100644 --- a/Lib/bdb.py +++ b/Lib/bdb.py @@ -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: