Mercurial > hg > octave-nkf
changeset 4987:bad4898b468e
[project @ 2004-09-10 20:24:05 by jwe]
author | jwe |
---|---|
date | Fri, 10 Sep 2004 20:24:06 +0000 |
parents | fac558699d0f |
children | 352d228d409b |
files | src/ChangeLog src/ov-builtin.cc src/ov-mapper.cc src/ov-usr-fcn.cc |
diffstat | 4 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,9 @@ 2004-09-10 John W. Eaton <jwe@octave.org> + * ov-builtin.cc (octave_builtin::do_multi_index_op): Use unwind + protect frame instead of a single unwind_protect::run. + * ov-mapper.cc (octave_mapper::do_multi_index_op): Likewise. + * data.cc (fill_matrix, identity_matrix): Also allow logical data type.
--- a/src/ov-builtin.cc +++ b/src/ov-builtin.cc @@ -108,6 +108,8 @@ ::error ("invalid use of colon in function argument list"); else { + unwind_protect::begin_frame ("builtin_func_eval"); + unwind_protect_ptr (curr_function); unwind_protect_ptr (curr_caller_function); @@ -116,7 +118,7 @@ retval = (*f) (args, nargout); - unwind_protect::run (); + unwind_protect::run_frame ("builtin_func_eval"); } return retval;
--- a/src/ov-mapper.cc +++ b/src/ov-mapper.cc @@ -287,6 +287,8 @@ { if (args(0).is_defined ()) { + unwind_protect::begin_frame ("mapper_func_eval"); + unwind_protect_ptr (curr_function); unwind_protect_ptr (curr_caller_function); @@ -295,7 +297,7 @@ retval = apply (args(0)); - unwind_protect::run (); + unwind_protect::run_frame ("mapper_func_eval"); } else ::error ("%s: argument undefined", name().c_str ());
--- a/src/ov-usr-fcn.cc +++ b/src/ov-usr-fcn.cc @@ -337,7 +337,7 @@ int nargin = args.length (); - unwind_protect::begin_frame ("func_eval"); + unwind_protect::begin_frame ("user_func_eval"); unwind_protect_int (call_depth); call_depth++; @@ -345,7 +345,7 @@ if (call_depth > Vmax_recursion_depth) { ::error ("max_recursion_limit exceeded"); - unwind_protect::run_frame ("func_eval"); + unwind_protect::run_frame ("user_func_eval"); return retval; } @@ -493,7 +493,7 @@ } abort: - unwind_protect::run_frame ("func_eval"); + unwind_protect::run_frame ("user_func_eval"); return retval; }