comparison 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
comparison
equal deleted inserted replaced
2941:b779a5b8aed4 2942:026f342c2019
465 return retval; 465 return retval;
466 } 466 }
467 467
468 // XXX FIXME XXX -- this may not be the best place for these... 468 // XXX FIXME XXX -- this may not be the best place for these...
469 469
470 octave_value_list 470 static octave_value_list
471 feval (const octave_value_list& args, int nargout) 471 feval (const octave_value_list& args, int nargout)
472 { 472 {
473 octave_value_list retval; 473 octave_value_list retval;
474 474
475 octave_symbol *fcn = is_valid_function (args(0), "feval", 1); 475 octave_symbol *fcn = is_valid_function (args(0), "feval", 1);
476 476
477 if (fcn) 477 if (fcn)
478 { 478 {
479 string_vector arg_names = args.name_tags ();
480
479 int tmp_nargin = args.length () - 1; 481 int tmp_nargin = args.length () - 1;
480 octave_value_list tmp_args; 482
481 tmp_args.resize (tmp_nargin); 483 octave_value_list tmp_args (tmp_nargin, octave_value ());
484
485 string_vector tmp_arg_names (tmp_nargin);
486
482 for (int i = 0; i < tmp_nargin; i++) 487 for (int i = 0; i < tmp_nargin; i++)
483 tmp_args(i) = args(i+1); 488 {
489 tmp_args(i) = args(i+1);
490 tmp_arg_names(i) = arg_names(i+1);
491 }
492
493 tmp_args.stash_name_tags (tmp_arg_names);
494
484 retval = fcn->eval (nargout, tmp_args); 495 retval = fcn->eval (nargout, tmp_args);
485 } 496 }
486 497
487 return retval; 498 return retval;
488 } 499 }
791 { 802 {
792 while (! octave_atexit_functions.empty ()) 803 while (! octave_atexit_functions.empty ())
793 { 804 {
794 octave_value_list fcn = octave_atexit_functions.pop (); 805 octave_value_list fcn = octave_atexit_functions.pop ();
795 806
796 feval (fcn, false); 807 feval (fcn, 0);
797 } 808 }
798 } 809 }
799 810
800 DEFUN (atexit, args, , 811 DEFUN (atexit, args, ,
801 "atexit (NAME): register NAME as a function to call when Octave exits\n\ 812 "atexit (NAME): register NAME as a function to call when Octave exits\n\