view test/fcn-handle/bug60845.m @ 30920:47cbc69e66cd

eliminate direct access to call stack from evaluator The call stack is an internal implementation detail of the evaluator. Direct access to it outside of the evlauator should not be needed. * pt-eval.h (tree_evaluator::get_call_stack): Delete.
author John W. Eaton <jwe@octave.org>
date Fri, 08 Apr 2022 15:19:22 -0400
parents 6d1224698acf
children
line wrap: on
line source

function output = bug60845 (varargin)
  ## ahandle is a boolean variable
  [Ahandle, static, fcn_handle] = checkInput (varargin{:});

  ## execute nested function using handle
  output = fcn_handle ();

  function [Ahandle, static, fcn_handle] = checkInput (varargin)
    ## initialize
    Ahandle = true;
    static = false;
    ## get a handle to nested (sibling) function.
    fcn_handle = @nestfcn;
  endfunction

  function r = nestfcn ()
    if (islogical (Ahandle))
      r = true;
    else
      r = false;
    end
  endfunction
endfunction