# HG changeset patch # User jwe # Date 1200472334 0 # Node ID 4d0d6c357bc628b1230b81aa0899626a2700f161 # Parent 0e1ccfe1bf913c9a92c169d75055a85269b3b1fa [project @ 2008-01-16 08:32:13 by jwe] diff --git a/src/ChangeLog b/src/ChangeLog --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,9 @@ +2008-01-16 John W. Eaton + + * pt-assign.cc (tree_simple_assignment::rvalue, + tree_multi_assignment::rvalue): Handle assignment of + comma-separated lists. + 2008-01-15 John W. Eaton * mappers.cc (install_mapper_functions): Move test for asin here diff --git a/src/pt-assign.cc b/src/pt-assign.cc --- 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 (); } }