From 4bd81725f2e4933484d8b2539ac9a3e60d130df6 Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Thu, 6 Jan 2011 00:49:38 +0000 Subject: [PATCH] Issue #10492: bdb.Bdb.run() only traces the execution of the code And not the compilation (if the input is a string). --- Lib/bdb.py | 2 ++ Misc/NEWS | 3 +++ 2 files changed, 5 insertions(+) diff --git a/Lib/bdb.py b/Lib/bdb.py index 9f5e7ae630d..f711004483d 100644 --- a/Lib/bdb.py +++ b/Lib/bdb.py @@ -385,6 +385,8 @@ class Bdb: if locals is None: locals = globals self.reset() + if isinstance(cmd, str): + cmd = compile(cmd, "", "exec") sys.settrace(self.trace_dispatch) try: exec(cmd, globals, locals) diff --git a/Misc/NEWS b/Misc/NEWS index cd55adb06c8..3cd9257d7bd 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -30,6 +30,9 @@ Core and Builtins Library ------- +- Issue #10492: bdb.Bdb.run() only traces the execution of the code, not the + compilation (if the input is a string). + - Issue #7995: When calling accept() on a socket with a timeout, the returned socket is now always blocking, regardless of the operating system.