Mercurial > hg > octave-lyh
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\ |