Mercurial > octave
diff libinterp/octave-value/ov-base.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 | 980f39c3ab90 |
line wrap: on
line diff
--- a/libinterp/octave-value/ov-base.h Fri Jun 23 12:32:19 2017 -0700 +++ b/libinterp/octave-value/ov-base.h Fri Jun 23 18:18:07 2017 -0400 @@ -370,6 +370,8 @@ virtual bool isobject (void) const { return false; } + virtual bool is_classdef_meta (void) const { return false; } + virtual bool is_classdef_object (void) const { return false; } virtual bool isjava (void) const { return false; }