diff src/ov-usr-fcn.cc @ 11557:e9d72a3caa46

mark automatic variables as automatic
author John W. Eaton <jwe@octave.org>
date Mon, 17 Jan 2011 13:36:59 -0500
parents fd0a3ac60b0e
children 1e4dfc7a9487
line wrap: on
line diff
--- a/src/ov-usr-fcn.cc	Mon Jan 17 13:25:13 2011 -0500
+++ b/src/ov-usr-fcn.cc	Mon Jan 17 13:36:59 2011 -0500
@@ -543,7 +543,11 @@
    const octave_value_list& va_args, const std::list<octave_lvalue> *lvalue_list)
 {
   if (! arg_names.empty ())
-    symbol_table::varref ("argn") = arg_names;
+    {
+      symbol_table::varref ("argn") = arg_names;
+
+      symbol_table::mark_automatic ("argn");
+    }
 
   symbol_table::varref (".nargin.") = nargin;
   symbol_table::varref (".nargout.") = nargout;
@@ -551,6 +555,9 @@
   symbol_table::mark_hidden (".nargin.");
   symbol_table::mark_hidden (".nargout.");
 
+  symbol_table::mark_automatic (".nargin.");
+  symbol_table::mark_automatic (".nargout.");
+
   if (takes_varargs ())
     symbol_table::varref ("varargin") = va_args.cell_value ();
   
@@ -575,7 +582,9 @@
             }
 
           symbol_table::varref (".ignored.") = bh;
+
           symbol_table::mark_hidden (".ignored.");
+          symbol_table::mark_automatic (".ignored.");
         }
     }
 }