Mercurial > octave
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; }