refactoring function handle implementation for version 6

"John W. Eaton" <[email protected]>
Newsgroups gmane.comp.gnu.octave.maintainers
Message-ID <[email protected]>
I pushed a series of changesets to stable to improve the implementation 
of function handles.

   a5be4fc661d6  hide specific stack frame and stack frame walker classes
   9a3deb17b4ea  use shared_ptr for stack frames in call stack and for 
accesss and static links
   7a8c69c4eb55  convert obsolete octave_fcn_inline object to @inline class
   e9a12be5fd79  don't document the vectorize function.
   8eb8ba8aff9a  refactor octave_function call method
   5bfa8e018704  store local init vars for anonymous functions in 
handle, not function object
   0ffae065ca03  new cellstring constructor
   71c34141cc2d  refactor handling of parent functions and localfunctions
   d05a4194f1ad  move make_fcn_handle to tree_evaluator class
   48c1e8d88ea2  new functions for finding scoped functions and class 
methods
   76a9f31540e3  try harder to find functions in some symbol_table 
find_* functions
   22e90bdcf47f  make find_scoped_function available in symbol_table class
   8f3aedc5ab4f  split search for private functions into separate function
   55f82d23fe5e  new octave_classdef_meta::is_classdef_method function
   e760fef2829c  refactor octave_fcn_handle class
   23fe97205db5  new tests for bug #57941
   8dd50efa3c47  new nested function handle tests
   5bca1527b034  new tests for bug #51567
   bdd52f5e4170  new test for bug #58519

These changes have also been merged with default.

I know that it's a big set of changes to go on stable, but it fixes a 
number of issues with function handles and sets up a better framework to 
further improve compatibility in the future.

I presented a description on this list of most of these changes about a 
month ago:

 
https://lists.gnu.org/archive/html/octave-maintainers/2020-05/msg00066.html

and we discussed them briefly during the recent developers meeting.

Please open bug reports if there are any issues.

Comments also welcome here.

jwe
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.