diff src/toplev.cc @ 2942:026f342c2019

[project @ 1997-05-08 02:20:57 by jwe]
author jwe
date Thu, 08 May 1997 02:28:50 +0000
parents 66ef74ee5d9f
children ef3379196bcf
line wrap: on
line diff
--- a/src/toplev.cc
+++ b/src/toplev.cc
@@ -467,7 +467,7 @@
 
 // XXX FIXME XXX -- this may not be the best place for these...
 
-octave_value_list
+static octave_value_list
 feval (const octave_value_list& args, int nargout)
 {
   octave_value_list retval;
@@ -476,11 +476,22 @@
 
   if (fcn)
     {
+      string_vector arg_names = args.name_tags ();
+
       int tmp_nargin = args.length () - 1;
-      octave_value_list tmp_args;
-      tmp_args.resize (tmp_nargin);
+
+      octave_value_list tmp_args (tmp_nargin, octave_value ());
+
+      string_vector tmp_arg_names (tmp_nargin);
+
       for (int i = 0; i < tmp_nargin; i++)
-	tmp_args(i) = args(i+1);
+	{
+	  tmp_args(i) = args(i+1);
+	  tmp_arg_names(i) = arg_names(i+1);
+	}
+
+      tmp_args.stash_name_tags (tmp_arg_names);
+
       retval = fcn->eval (nargout, tmp_args);
     }
 
@@ -793,7 +804,7 @@
     {
       octave_value_list fcn = octave_atexit_functions.pop ();
 
-      feval (fcn, false);
+      feval (fcn, 0);
     }
 }