Mercurial > hg > octave-lyh
diff src/pt-assign.cc @ 7389:4d0d6c357bc6
[project @ 2008-01-16 08:32:13 by jwe]
author | jwe |
---|---|
date | Wed, 16 Jan 2008 08:32:14 +0000 |
parents | 745a8299c2b5 |
children | 71f068b22fcc |
line wrap: on
line diff
--- a/src/pt-assign.cc +++ b/src/pt-assign.cc @@ -209,14 +209,24 @@ { 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 (); + return retval; } else { + if (rhs_val.is_cs_list ()) + { + octave_value_list lst = rhs_val.list_value (); + + if (! lst.empty ()) + rhs_val = lst(0); + else + { + error ("invalid number of elements on RHS of assignment"); + eval_error (); + return retval; + } + } + octave_lvalue ult = lhs->lvalue (); if (error_state) @@ -385,9 +395,8 @@ if (tmp.is_cs_list ()) { - error ("invalid assignment of comma-separated list"); - eval_error (); - return retval; + rhs_val = tmp.list_value (); + n = rhs_val.length (); } }