diff src/pt-assign.cc @ 5750:bd9cd65d51e4

[project @ 2006-04-11 18:43:25 by jwe]
author jwe
date Tue, 11 Apr 2006 18:43:25 +0000
parents 4c8a2e4e0717
children ace8d8d26933
line wrap: on
line diff
--- a/src/pt-assign.cc
+++ b/src/pt-assign.cc
@@ -93,6 +93,11 @@
 	      error ("value on right hand side of assignment is undefined");
 	      eval_error ();
 	    }
+	  else if (rhs_val.is_cs_list ())
+	    {
+	      error ("invalid assignment of comma-separated list");
+	      eval_error ();
+	    }
 	  else
 	    {
 	      octave_lvalue ult = lhs->lvalue ();
@@ -218,6 +223,7 @@
 	{
 	  error ("value on right hand side of assignment is undefined");
 	  eval_error ();
+	  return retval;
 	}
       else
 	{
@@ -231,9 +237,9 @@
 
 	      if (tmp.is_cs_list ())
 		{
-		  rhs_val = tmp.list_value ();
-
-		  n = rhs_val.length ();
+		  error ("invalid assignment of comma-separated list");
+		  eval_error ();
+		  return retval;
 		}
 	    }
 
@@ -250,7 +256,10 @@
 		  octave_lvalue ult = lhs_elt->lvalue ();
 
 		  if (error_state)
-		    eval_error ();
+		    {
+		      eval_error ();
+		      break;
+		    }
 		  else if (k < n)
 		    {
 		      ult.assign (etype, rhs_val(k));
@@ -267,7 +276,10 @@
 		    error ("element number %d undefined in return list", k+1);
 
 		  if (error_state)
-		    eval_error ();
+		    {
+		      eval_error ();
+		      break;
+		    }
 		  else if (print_result ())
 		    {
 		      if (Vprint_rhs_assign_val)