changeset 11808:2994f58f204e release-3-0-x

parse.y (Feval): Return value produced by evaluating CATCH string
author John W. Eaton <jwe@octave.org>
date Tue, 19 Aug 2008 13:47:03 -0400
parents cf86d5c634dd
children 63380109b520
files src/ChangeLog src/parse.y
diffstat 2 files changed, 10 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2008-08-19  John W. Eaton  <jwe@octave.org>
+
+	* parse.y (Feval): Return value produced by evaluating CATCH string.
+
 2008-08-19  Jaroslav Hajek <highegg@gmail.com>
 
 	Version 3.0.2 released.
--- a/src/parse.y
+++ b/src/parse.y
@@ -4017,9 +4017,6 @@
       octave_value_list tmp = eval_string (args(0), nargout > 0,
 					   parse_status, nargout);
 
-      if (nargout > 0)
-	retval = tmp;
-
       if (nargin > 1 && (parse_status != 0 || error_state))
 	{
 	  error_state = 0;
@@ -4029,10 +4026,13 @@
 
 	  buffer_error_messages--;
 
-	  eval_string (args(1), 0, parse_status, nargout);
-
-	  retval = octave_value_list ();
+	  tmp = eval_string (args(1), nargout > 0, parse_status, nargout);
+
+	  if (nargout > 0)
+	    retval = tmp;
 	}
+      else if (nargout > 0)
+	retval = tmp;
 
       unwind_protect::run_frame ("Feval");
     }