*** liboctave/Array.cc.orig 2004-04-30 12:06:53.000000000 +0200 --- liboctave/Array.cc 2004-06-02 17:30:27.000000000 +0200 *************** *** 2944,2951 **** // We didn't start out with all zero dimensions, so if // index is a colon, it refers to the current LHS // dimension. Otherwise, it is OK to enlarge to a ! // dimension given by the largest index (but that index ! // needs to be a number, not a colon). if (i < lhs_dims_len && (idx(i).is_colon () || idx(i).max () < lhs_dims(i))) --- 2944,2951 ---- // We didn't start out with all zero dimensions, so if // index is a colon, it refers to the current LHS // dimension. Otherwise, it is OK to enlarge to a ! // dimension given by the largest index, but if that ! // index is a colon the new dimension is singleton. if (i < lhs_dims_len && (idx(i).is_colon () || idx(i).max () < lhs_dims(i))) *************** *** 2953,2969 **** else if (! idx(i).is_colon ()) new_dims(i) = idx(i).max () + 1; else ! { ! // XXX FIXME XXX -- can we provide a more ! // informative message here? ! ! (*current_liboctave_error_handler) ! ("invalid array index for assignment"); ! ! retval = 0; ! ! break; ! } } } --- 2953,2959 ---- else if (! idx(i).is_colon ()) new_dims(i) = idx(i).max () + 1; else ! new_dims(i) = 1; } }