Commit 1bd82a5e authored by Guido van Rossum's avatar Guido van Rossum

Paul Prescod's patches to allow the stack viewer to pop up when a

traceback is printed.
parent 34dc0d45
...@@ -44,6 +44,7 @@ menudefs = [ ...@@ -44,6 +44,7 @@ menudefs = [
('_Go to file/line', '<<goto-file-line>>'), ('_Go to file/line', '<<goto-file-line>>'),
('_Open stack viewer', '<<open-stack-viewer>>'), ('_Open stack viewer', '<<open-stack-viewer>>'),
('_Debugger toggle', '<<toggle-debugger>>'), ('_Debugger toggle', '<<toggle-debugger>>'),
('_JIT Stack viewer toggle', '<<toggle-jit-stack-viewer>>' ),
]), ]),
('help', [ ('help', [
('_Help...', '<<help>>'), ('_Help...', '<<help>>'),
......
...@@ -217,8 +217,13 @@ class ModifiedInterpreter(InteractiveInterpreter): ...@@ -217,8 +217,13 @@ class ModifiedInterpreter(InteractiveInterpreter):
raise raise
else: else:
self.showtraceback() self.showtraceback()
if self.tkconsole.jit_stack_view:
self.tkconsole.open_stack_viewer()
except: except:
self.showtraceback() self.showtraceback()
if self.tkconsole.jit_stack_view:
self.tkconsole.open_stack_viewer()
finally: finally:
self.tkconsole.endexecuting() self.tkconsole.endexecuting()
...@@ -265,6 +270,7 @@ class PyShell(OutputWindow): ...@@ -265,6 +270,7 @@ class PyShell(OutputWindow):
text.bind("<<open-stack-viewer>>", self.open_stack_viewer) text.bind("<<open-stack-viewer>>", self.open_stack_viewer)
text.bind("<<toggle-debugger>>", self.toggle_debugger) text.bind("<<toggle-debugger>>", self.toggle_debugger)
text.bind("<<open-python-shell>>", self.flist.open_shell) text.bind("<<open-python-shell>>", self.flist.open_shell)
text.bind("<<toggle-jit-stack-viewer>>", self.toggle_jit_stack_viewer)
sys.stdout = PseudoFile(self, "stdout") sys.stdout = PseudoFile(self, "stdout")
sys.stderr = PseudoFile(self, "stderr") sys.stderr = PseudoFile(self, "stderr")
...@@ -290,6 +296,11 @@ class PyShell(OutputWindow): ...@@ -290,6 +296,11 @@ class PyShell(OutputWindow):
else: else:
self.open_debugger() self.open_debugger()
jit_stack_view = 0
def toggle_jit_stack_viewer( self, event=None):
self.jit_stack_view = not self.jit_stack_view
def close_debugger(self): def close_debugger(self):
db = self.interp.getdebugger() db = self.interp.getdebugger()
if db: if db:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment