Mercurial > hg > octave-lyh
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 ()); |