comparison 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
comparison
equal deleted inserted replaced
5749:26beffa9f66f 5750:bd9cd65d51e4
91 if (rhs_val.is_undefined ()) 91 if (rhs_val.is_undefined ())
92 { 92 {
93 error ("value on right hand side of assignment is undefined"); 93 error ("value on right hand side of assignment is undefined");
94 eval_error (); 94 eval_error ();
95 } 95 }
96 else if (rhs_val.is_cs_list ())
97 {
98 error ("invalid assignment of comma-separated list");
99 eval_error ();
100 }
96 else 101 else
97 { 102 {
98 octave_lvalue ult = lhs->lvalue (); 103 octave_lvalue ult = lhs->lvalue ();
99 104
100 if (error_state) 105 if (error_state)
216 221
217 if (rhs_val.empty ()) 222 if (rhs_val.empty ())
218 { 223 {
219 error ("value on right hand side of assignment is undefined"); 224 error ("value on right hand side of assignment is undefined");
220 eval_error (); 225 eval_error ();
226 return retval;
221 } 227 }
222 else 228 else
223 { 229 {
224 int k = 0; 230 int k = 0;
225 231
229 { 235 {
230 octave_value tmp = rhs_val(0); 236 octave_value tmp = rhs_val(0);
231 237
232 if (tmp.is_cs_list ()) 238 if (tmp.is_cs_list ())
233 { 239 {
234 rhs_val = tmp.list_value (); 240 error ("invalid assignment of comma-separated list");
235 241 eval_error ();
236 n = rhs_val.length (); 242 return retval;
237 } 243 }
238 } 244 }
239 245
240 retval.resize (n, octave_value ()); 246 retval.resize (n, octave_value ());
241 247
248 if (lhs_elt) 254 if (lhs_elt)
249 { 255 {
250 octave_lvalue ult = lhs_elt->lvalue (); 256 octave_lvalue ult = lhs_elt->lvalue ();
251 257
252 if (error_state) 258 if (error_state)
253 eval_error (); 259 {
260 eval_error ();
261 break;
262 }
254 else if (k < n) 263 else if (k < n)
255 { 264 {
256 ult.assign (etype, rhs_val(k)); 265 ult.assign (etype, rhs_val(k));
257 266
258 if (! error_state) 267 if (! error_state)
265 } 274 }
266 else 275 else
267 error ("element number %d undefined in return list", k+1); 276 error ("element number %d undefined in return list", k+1);
268 277
269 if (error_state) 278 if (error_state)
270 eval_error (); 279 {
280 eval_error ();
281 break;
282 }
271 else if (print_result ()) 283 else if (print_result ())
272 { 284 {
273 if (Vprint_rhs_assign_val) 285 if (Vprint_rhs_assign_val)
274 retval(k).print_with_name 286 retval(k).print_with_name
275 (octave_stdout, lhs_elt->str_print_code ()); 287 (octave_stdout, lhs_elt->str_print_code ());