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);