Mercurial > octave
diff libinterp/corefcn/input.cc @ 25402:ef2b9d4abf4a
eliminate some global variables from tree_evaluator
* debug.cc (F__db_next_breakpoint_quiet__): Define with DEFMETHOD.
* octave-cmd.cc (octave_cmd_debug::execute):
Call F__db_next_breakpoint_quiet__ as an interpreter method.
* pt-eval.h, pt-eval.cc (tree_evaluator::m_current_frame,
tree_evaluator::m_debug_mode,
tree_evaluator::m_quiet_breakpoint_flag): New data members to replace
static data members.
(tree_evaluator::current_frame, tree_evaluator::debug_mode,
tree_evaluator::quiet_breakpoint_flag): New functions.
Adapat usage.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Tue, 22 May 2018 11:39:44 -0400 |
parents | 55047ed5419b |
children | ab10403a0b50 |
line wrap: on
line diff
--- a/libinterp/corefcn/input.cc Tue May 22 00:53:15 2018 -0400 +++ b/libinterp/corefcn/input.cc Tue May 22 11:39:44 2018 -0400 @@ -623,8 +623,9 @@ { octave::unwind_protect frame; - bool silent = octave::tree_evaluator::quiet_breakpoint_flag; - octave::tree_evaluator::quiet_breakpoint_flag = false; + octave::tree_evaluator& tw = interp.get_evaluator (); + + bool silent = tw.quiet_breakpoint_flag (false); octave::call_stack& cs = interp.get_call_stack (); @@ -719,8 +720,6 @@ octave::parser curr_parser; - octave::tree_evaluator& tw = interp.get_evaluator (); - while (Vdebugging) { try @@ -1073,10 +1072,11 @@ // Skip the frame assigned to the keyboard function. cs.goto_frame_relative (0); - octave::tree_evaluator::debug_mode = true; - octave::tree_evaluator::quiet_breakpoint_flag = false; + octave::tree_evaluator& tw = interp.get_evaluator (); - octave::tree_evaluator::current_frame = cs.current_frame (); + tw.debug_mode (true); + tw.quiet_breakpoint_flag (false); + tw.current_frame (cs.current_frame ()); do_keyboard (interp, args);