diff libinterp/corefcn/mex.cc @ 27474:3fec8e9fa2aa

make recover_from_exception a member function * interpreter.h, interpreter.cc (interpreter::recover_from_exception): Now a member function. Change all uses.
author John W. Eaton <jwe@octave.org>
date Fri, 04 Oct 2019 16:40:30 -0400
parents fd32c1a9b1bd
children b442ec6dda5c
line wrap: on
line diff
--- a/libinterp/corefcn/mex.cc	Fri Oct 04 13:51:47 2019 -0700
+++ b/libinterp/corefcn/mex.cc	Fri Oct 04 16:40:30 2019 -0400
@@ -3241,6 +3241,8 @@
   for (int i = 0; i < nargin; i++)
     args(i) = mxArray::as_octave_value (argin[i]);
 
+  octave::interpreter& interp = octave::__get_interpreter__ ("mexCallMATLAB");
+
   bool execution_error = false;
 
   octave_value_list retval;
@@ -3257,7 +3259,7 @@
           // Should the error message be displayed here?  Do we need to
           // save the exception info for lasterror?
 
-          octave::interpreter::recover_from_exception ();
+          interp.recover_from_exception ();
 
           execution_error = true;
         }
@@ -3326,6 +3328,8 @@
 {
   int retval = 0;
 
+  octave::interpreter& interp = octave::__get_interpreter__ ("mexEvalString");
+
   int parse_status;
   bool execution_error = false;
 
@@ -3333,14 +3337,11 @@
 
   try
     {
-      octave::interpreter& interp
-        = octave::__get_interpreter__ ("mexEvalString");
-
       ret = interp.eval_string (std::string (s), false, parse_status, 0);
     }
   catch (const octave::execution_exception&)
     {
-      octave::interpreter::recover_from_exception ();
+      interp.recover_from_exception ();
 
       execution_error = true;
     }
@@ -3356,6 +3357,8 @@
 {
   mxArray *mx = nullptr;
 
+  octave::interpreter& interp = octave::__get_interpreter__ ("mexEvalString");
+
   int parse_status;
   bool execution_error = false;
 
@@ -3363,14 +3366,11 @@
 
   try
     {
-      octave::interpreter& interp
-        = octave::__get_interpreter__ ("mexEvalString");
-
       ret = interp.eval_string (std::string (s), false, parse_status, 0);
     }
   catch (const octave::execution_exception&)
     {
-      octave::interpreter::recover_from_exception ();
+      interp.recover_from_exception ();
 
       execution_error = true;
     }