Mercurial > jwe > octave
changeset 27293:9dcbc0a449af
correctly set debug_frame when using "keyboard" (bug #56625)
* pt-eval.cc (tree_evaluator::enter_debugger): Set m_debug_frame from
result of call to call_stack::dbupdown instead of setting it to
current frame, which may be the call to a function like "keyboard".
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Wed, 24 Jul 2019 12:34:47 -0400 |
parents | 0a2e5c808709 |
children | 9b053ba971b2 |
files | libinterp/parse-tree/pt-eval.cc |
diffstat | 1 files changed, 2 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-eval.cc Wed Jul 24 07:47:33 2019 +0200 +++ b/libinterp/parse-tree/pt-eval.cc Wed Jul 24 12:34:47 2019 -0400 @@ -1158,7 +1158,8 @@ es.debug_on_warning (false); // Go up to the nearest user code frame. - m_call_stack.dbupdown (0); + + m_debug_frame = m_call_stack.dbupdown (0); // FIXME: probably we just want to print one line, not the // entire statement, which might span many lines... @@ -1170,8 +1171,6 @@ debugger *dbgr = new debugger (m_interpreter, m_debugger_stack.size ()); - m_debug_frame = m_call_stack.current_frame (); - m_debugger_stack.push (dbgr); frame.add ([this] (void)