Mercurial > hg > octave-nkf
diff src/variables.cc @ 5743:a527e0f77aa5
[project @ 2006-04-06 08:20:21 by jwe]
author | jwe |
---|---|
date | Thu, 06 Apr 2006 08:20:23 +0000 |
parents | 40b08b29dd53 |
children | 1c36a2e82266 |
line wrap: on
line diff
--- a/src/variables.cc +++ b/src/variables.cc @@ -1625,8 +1625,10 @@ Octave_map ni; std::string caller_function_name; - if (curr_caller_function) - caller_function_name = curr_caller_function->name (); + + octave_function *caller = octave_call_stack::caller (); + if (caller) + caller_function_name = caller->name (); ni.assign ("function", caller_function_name); ni.assign ("level", 1); @@ -1944,8 +1946,10 @@ } else if (args.length () == 0) { - if (curr_function) - mlock (curr_function->name ()); + octave_user_function *fcn = octave_call_stack::caller_script (); + + if (fcn) + mlock (fcn->name ()); else error ("mlock: invalid use outside a function"); } @@ -1976,8 +1980,10 @@ } else if (args.length () == 0) { - if (curr_function) - mlock (curr_function->name ()); + octave_user_function *fcn = octave_call_stack::caller_script (); + + if (fcn) + mlock (fcn->name ()); else error ("munlock: invalid use outside a function"); } @@ -2009,8 +2015,10 @@ } else if (args.length () == 0) { - if (curr_function) - retval = mislocked (curr_function->name ()); + octave_user_function *fcn = octave_call_stack::caller_script (); + + if (fcn) + retval = mislocked (fcn->name ()); else error ("mislocked: invalid use outside a function"); }