Mercurial > octave
changeset 27761:223981108144
fix stack frame location info when using debugger (bug #57315)
* pt-eval.cc (tree_evaluator::visit_statement,
tree_evaluator::visit_if_command_list): Set current location in call
stack when when in debug repl or when current frame is different from
debug frame instead of when m_statement_context is SC_FUNCTION or
SC_SCRIPT.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Fri, 29 Nov 2019 15:42:34 -0600 |
parents | 16e83787f970 |
children | 80d68a3e8ec0 |
files | libinterp/parse-tree/pt-eval.cc |
diffstat | 1 files changed, 4 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-eval.cc Sun Dec 01 19:51:35 2019 -0600 +++ b/libinterp/parse-tree/pt-eval.cc Fri Nov 29 15:42:34 2019 -0600 @@ -2562,8 +2562,8 @@ { tree_expression *expr = tic->condition (); - if (m_statement_context == SC_FUNCTION - || m_statement_context == SC_SCRIPT) + if (! (in_debug_repl () + && m_call_stack.current_frame () == m_debug_frame)) m_call_stack.set_location (tic->line (), tic->column ()); if (m_debug_mode && ! tic->is_else_clause ()) @@ -2692,8 +2692,8 @@ if (cmd || expr) { - if (m_statement_context == SC_FUNCTION - || m_statement_context == SC_SCRIPT) + if (! (in_debug_repl () + && m_call_stack.current_frame () == m_debug_frame)) m_call_stack.set_location (stmt.line (), stmt.column ()); try