Mercurial > octave
diff libinterp/corefcn/defun.cc @ 27201:bd49997051ef
eliminate direct access to call stack in defun functions
* pt-eval.h, pt-eval.cc (tree_evaluator::current_function): New function.
* defun.cc (print_usage, get_current_shlib): Eliminate direct access
to call stack.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 01 Apr 2019 17:39:42 +0000 |
parents | 711f23332204 |
children | b442ec6dda5c |
line wrap: on
line diff
--- a/libinterp/corefcn/defun.cc Mon Apr 01 17:32:02 2019 +0000 +++ b/libinterp/corefcn/defun.cc Mon Apr 01 17:39:42 2019 +0000 @@ -26,7 +26,6 @@ #include <string> -#include "call-stack.h" #include "defun.h" #include "dynamic-ld.h" #include "error.h" @@ -50,9 +49,9 @@ void print_usage (void) { - octave::call_stack& cs = octave::__get_call_stack__ ("print_usage"); + octave::tree_evaluator& tw = octave::__get_evaluator__ ("print_usage"); - const octave_function *cur = cs.current (); + const octave_function *cur = tw.current_function (); if (cur) print_usage (cur->name ()); @@ -139,9 +138,9 @@ { octave::dynamic_library retval; - octave::call_stack& cs = octave::__get_call_stack__ ("get_current_shlib"); + octave::tree_evaluator& tw = octave::__get_evaluator__ ("get_current_shlib"); - octave_function *curr_fcn = cs.current (); + octave_function *curr_fcn = tw.current_function (); if (curr_fcn) {