Have Bdb frame_returning in the finally clause
diff --git a/Lib/bdb.py b/Lib/bdb.py
index 1a562f4..59440a9 100644
--- a/Lib/bdb.py
+++ b/Lib/bdb.py
@@ -83,9 +83,11 @@
def dispatch_return(self, frame, arg):
if self.stop_here(frame) or frame == self.returnframe:
- self.frame_returning = frame
- self.user_return(frame, arg)
- self.frame_returning = None
+ try:
+ self.frame_returning = frame
+ self.user_return(frame, arg)
+ finally:
+ self.frame_returning = None
if self.quitting: raise BdbQuit
return self.trace_dispatch