# HG changeset patch # User jwe # Date 1076709481 0 # Node ID 60c78bde10e56d9ab10a73128a56a9c57149cc05 # Parent 9a6bfff40c8d7ef8efbf8f2be650d0d8d2cbd584 [project @ 2004-02-13 21:58:01 by jwe] diff -r 9a6bfff40c8d -r 60c78bde10e5 ChangeLog --- a/ChangeLog Fri Feb 13 21:27:55 2004 +0000 +++ b/ChangeLog Fri Feb 13 21:58:01 2004 +0000 @@ -1,3 +1,7 @@ +2004-02-13 John W. Eaton + + * Makefile.in (header-msg): Required bison version now 1.31 or later. + 2004-01-29 John W. Eaton * emacs/octave-mod.el: If line-end-position is not defined, diff -r 9a6bfff40c8d -r 60c78bde10e5 Makefile.in --- a/Makefile.in Fri Feb 13 21:27:55 2004 +0000 +++ b/Makefile.in Fri Feb 13 21:58:01 2004 +0000 @@ -49,7 +49,7 @@ @echo "* flex (2.5.4 or a more recent version) -- required if" @echo "* you need to recreate lex.cc from lex.l" @echo "*" - @echo "* bison (1.28 or a more recent version) -- required if" + @echo "* bison (1.31 or a more recent version) -- required if" @echo "* you need to recreate parse.cc from parse.y" @echo "*" @echo "* gperf (2.7.1 or a more recent version) -- required if" diff -r 9a6bfff40c8d -r 60c78bde10e5 liboctave/Array.cc --- a/liboctave/Array.cc Fri Feb 13 21:27:55 2004 +0000 +++ b/liboctave/Array.cc Fri Feb 13 21:58:01 2004 +0000 @@ -1165,10 +1165,19 @@ n = nr; else { - (*current_liboctave_error_handler) - ("A(idx) = []: expecting A to be row or column vector or scalar"); - - return; + // Reshape to row vector for Matlab compatibility. + + n = nr * nc; + nr = 1; + nc = n; + + if (liboctave_wfi_flag) + { + (*current_liboctave_warning_handler) + ("A(idx) = []: expecting A to be row or column vector or scalar"); + + return; + } } if (idx_arg.is_colon_equiv (n, 1)) @@ -1214,10 +1223,7 @@ iidx++; else { - if (nr == 1) - new_data[ii] = elem (0, i); - else - new_data[ii] = elem (i, 0); + new_data[ii] = elem (i); ii++; } @@ -2629,7 +2635,9 @@ if (idx_i) { - if (len == 0) + if (rhs_nr == 0 && rhs_nc == 0) + lhs.maybe_delete_elements (idx_i); + else if (len == 0) { if (! ((rhs_nr == 1 && rhs_nc == 1) || (rhs_nr == 0 && rhs_nc == 0))) diff -r 9a6bfff40c8d -r 60c78bde10e5 liboctave/ChangeLog --- a/liboctave/ChangeLog Fri Feb 13 21:27:55 2004 +0000 +++ b/liboctave/ChangeLog Fri Feb 13 21:58:01 2004 +0000 @@ -1,3 +1,9 @@ +2004-02-13 John W. Eaton + + * Array.cc (maybe_delete_elements_2): Allow X(n) = [] for 2-d X. + (Arrayassign2): Also call maybe_delete_elements for single + index when rows and columns or LHS are both greater than 1. + 2004-02-13 Petter Risholm * Array.cc (Array::maybe_delete_elements):