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