Mercurial > octave
view scripts/legacy/module.mk @ 28427:7a8c69c4eb55 stable
convert obsolete octave_fcn_inline object to @inline class
Use a legacy @class object to provide inline function objects instead
of using a built-in class derived from the octave_function_handle
class.
* scripts/legacy/@inline: New directory containing the following
files: argnames.m, char.m, feval.m, formula.m, inline.m, subsref.m,
vectorize.m.
* scripts/legacy/@inline/module.mk: New file.
* scripts/legacy/module.mk, scripts/module.mk: Update.
* test/inline-fcn.tst: New tests.
* test/module.mk: Update.
* ov-fcn-inline.h, ov-fcn-inline.cc: Delete. Remove all uses.
* libinterp/octave-value/module.mk: Update.
* external.txi, func.txi, octave.texi, plot.txi, quad.txi:
Eliminate discusion of inline function objects.
* fplot.m, __ezplot__.m: Use isa to identify inline objects instead of
instead of checking typeinfo.
* ov-fcn-handle.cc, ov-typeinfo.cc: Fix tests.
* ov-base.h, ov-base.cc (octave_base_value::fcn_inline_value): Delete.
* ov.h, ov.cc (octave_value::fcn_inline_value): Delete.
(octave_value::xfcn_inline_value): Delete value extractor.
* ov-class.cc, ov-class.h (octave_inline, octave_inline_fcn):
New classes that allow us to preserve the is_inline_function and
function_value methods that were previously available in the
octave_fcn_inline class.
(F__inline_ctor__): New function for final construction of inline
objects.
* ls-hdf5.cc, ls-mat5.cc, ls-oct-binary.cc, ls-oct-text.cc:
Handle loading of inline function objects from old files as special
cases. New inline function objects will be saved and loaded as
ordinary @class objects.
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Mon, 23 Mar 2020 15:29:49 -0400 |
parents | 8f5e625062f3 |
children | 2396ee754ce8 |
line wrap: on
line source
FCN_FILE_DIRS += %reldir% %canon_reldir%_FCN_FILES = \ %reldir%/findstr.m \ %reldir%/flipdim.m \ %reldir%/genvarname.m \ %reldir%/isdir.m \ %reldir%/isequalwithequalnans.m \ %reldir%/isstr.m \ %reldir%/setstr.m \ %reldir%/strmatch.m \ %reldir%/strread.m \ %reldir%/textread.m ## include %reldir%/@inline/module.mk ## The include above fails because Automake cannot process the '@' character. ## As a work around, the contents of %reldir%/@inline/module.mk are placed directly ## in this module.mk file. scripts_EXTRA_DIST += %reldir%/@inline/module.mk ######################## include %reldir%/@inline/module.mk ######################## FCN_FILE_DIRS += %reldir%/@inline %canon_reldir%_@inline_FCN_FILES = \ %reldir%/@inline/argnames.m \ %reldir%/@inline/formula.m \ %reldir%/@inline/inline.m \ %reldir%/@inline/vectorize.m %canon_reldir%_@inlinedir = $(fcnfiledir)/@inline %canon_reldir%_@inline_DATA = $(%canon_reldir%_@inline_FCN_FILES) FCN_FILES += $(%canon_reldir%_@inline_FCN_FILES) PKG_ADD_FILES += %reldir%/@inline/PKG_ADD DIRSTAMP_FILES += %reldir%/@inline/$(octave_dirstamp) ####################### end include %reldir%/@inline/module.mk ##################### %canon_reldir%dir = $(fcnfiledir)/legacy %canon_reldir%_DATA = $(%canon_reldir%_FCN_FILES) FCN_FILES += $(%canon_reldir%_FCN_FILES) PKG_ADD_FILES += %reldir%/PKG_ADD DIRSTAMP_FILES += %reldir%/$(octave_dirstamp)