Mercurial > octave-nkf
diff libinterp/parse-tree/pt-eval.cc @ 17577:c702371ff6df classdef
maint: periodic merge of default to classdef
author | John W. Eaton <jwe@octave.org> |
---|---|
date | Sat, 05 Oct 2013 11:22:09 -0400 |
parents | 2ed5bc680c71 b81b9d079515 |
children | 93b3d03b05e7 |
line wrap: on
line diff
--- a/libinterp/parse-tree/pt-eval.cc Thu Sep 12 21:08:07 2013 -0400 +++ b/libinterp/parse-tree/pt-eval.cc Sat Oct 05 11:22:09 2013 -0400 @@ -816,18 +816,18 @@ break; else { - // Clear preivous values before next statement is + // Clear previous values before next statement is // evaluated so that we aren't holding an extra // reference to a value that may be used next. For // example, in code like this: // - // X = rand (N); ## refcount for X should be 1 - // ## after this statement + // X = rand (N); # refcount for X should be 1 + // # after this statement // - // X(idx) = val; ## no extra copy of X should be - // ## needed, but we will be faked - // ## out if retval is not cleared - // ## between statements here + // X(idx) = val; # no extra copy of X should be + // # needed, but we will be faked + // # out if retval is not cleared + // # between statements here // result_values = empty_list; } @@ -927,6 +927,27 @@ buffer_error_messages--; + tree_identifier *expr_id = cmd.identifier (); + octave_lvalue ult; + + if (expr_id) + { + + octave_scalar_map err; + + ult = expr_id->lvalue (); + + if (error_state) + return; + + err.assign ("message", last_error_message ()); + err.assign ("identifier", last_error_id ()); + + if (! error_state) + ult.assign (octave_value::op_asn_eq, err); + + } + if (catch_code) catch_code->accept (*this); } @@ -1244,9 +1265,9 @@ be called recursively. If the limit is exceeded, an error message is\n\ printed and control returns to the top level.\n\ \n\ -When called from inside a function with the \"local\" option, the variable is\n\ -changed locally for the function and any subroutines it calls. The original\n\ -variable value is restored when exiting the function.\n\ +When called from inside a function with the @qcode{\"local\"} option, the\n\ +variable is changed locally for the function and any subroutines it calls.\n\ +The original variable value is restored when exiting the function.\n\ @end deftypefn") { return SET_INTERNAL_VARIABLE (max_recursion_depth); @@ -1274,9 +1295,9 @@ Octave will display the results produced by evaluating expressions\n\ within a function body that are not terminated with a semicolon.\n\ \n\ -When called from inside a function with the \"local\" option, the variable is\n\ -changed locally for the function and any subroutines it calls. The original\n\ -variable value is restored when exiting the function.\n\ +When called from inside a function with the @qcode{\"local\"} option, the\n\ +variable is changed locally for the function and any subroutines it calls.\n\ +The original variable value is restored when exiting the function.\n\ @end deftypefn") { return SET_INTERNAL_VARIABLE (silent_functions);