# HG changeset patch # User jwe # Date 1083951467 0 # Node ID 7e5370e5c7ee7ef82c1052b3c9fcdfa15217671c # Parent aa7573ddf60f22a6da140446030e27446f0c27bd [project @ 2004-05-07 17:37:47 by jwe] diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,10 @@ +2004-05-07 John W. Eaton + + * octave.cc (intern_argv): Insert __nargin__ in top_level_sym_tab + instead of making it a builtin variable. Mark it static. + * ov-usr-fcn.cc (install_automatic_vars): Mark local automatic + variables static. + 2004-04-30 John W. Eaton * oct-stream.cc (octave_base_stream::clearerr): New function. diff --git a/src/octave.cc b/src/octave.cc --- a/src/octave.cc +++ b/src/octave.cc @@ -164,7 +164,11 @@ static void intern_argv (int argc, char **argv) { - bind_builtin_variable ("__nargin__", argc-1, true, true, 0); + symbol_record *nargin_sr = top_level_sym_tab->lookup ("__nargin__", true); + + nargin_sr->mark_as_static (); + + nargin_sr->define (argc-1); Cell args; diff --git a/src/ov-usr-fcn.cc b/src/ov-usr-fcn.cc --- a/src/ov-usr-fcn.cc +++ b/src/ov-usr-fcn.cc @@ -556,8 +556,15 @@ nargin_sr = sym_tab->lookup ("__nargin__", true); nargout_sr = sym_tab->lookup ("__nargout__", true); + argn_sr->mark_as_static (); + nargin_sr->mark_as_static (); + nargout_sr->mark_as_static (); + if (takes_varargs ()) - varargin_sr = sym_tab->lookup ("varargin", true); + { + varargin_sr = sym_tab->lookup ("varargin", true); + varargin_sr->mark_as_static (); + } } }