diff libinterp/octave-value/ov.h @ 23683:ffd27f53fc79

make +package function calls work again (bug #51295, #51296) * ov.h (octave_value::is_classdef_meta): New function. * ov-base.h (octave_base_value::is_classdef_meta): New virtual function. * ov-classdef.cc (octave_classdef_meta::is_classdef_meta): New function. * pt-eval.cc (tree_evaluator::visit_index_expression): Handle calls to functions from +package directories. Don't call subsref on function objects unless they are classdef_meta objects. If indexing produces a function object, call it.
author John W. Eaton <jwe@octave.org>
date Fri, 23 Jun 2017 18:18:07 -0400
parents ef71711f6d64
children 6e0fd7e3c262
line wrap: on
line diff
--- a/libinterp/octave-value/ov.h	Fri Jun 23 12:32:19 2017 -0700
+++ b/libinterp/octave-value/ov.h	Fri Jun 23 18:18:07 2017 -0400
@@ -586,6 +586,9 @@
   bool is_map (void) const
   { return rep->isstruct (); }
 
+  bool is_classdef_meta (void) const
+  { return rep->is_classdef_meta (); }
+
   bool is_classdef_object (void) const
   { return rep->is_classdef_object (); }