Mercurial > hg > octave-lyh
changeset 2602:9cbbbcf5b6f5
[project @ 1997-01-07 06:18:23 by jwe]
author | jwe |
---|---|
date | Tue, 07 Jan 1997 06:20:06 +0000 |
parents | 3723512a827a |
children | 939bc9157319 |
files | ChangeLog PROJECTS README.Linux doc/ChangeLog info/ChangeLog info/terminal.c libcruft/ChangeLog liboctave/ChangeLog scripts/ChangeLog src/ChangeLog src/pt-mat.cc test/ChangeLog |
diffstat | 12 files changed, 86 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 7 00:16:35 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Version 2.0.1 released. + Thu Dec 19 16:18:59 1996 John W. Eaton <jwe@bevo.che.wisc.edu> * aclocal.m4 (OCTAVE_FLIBS): Only add -Xlinker args if compiler is
--- a/PROJECTS +++ b/PROJECTS @@ -78,6 +78,10 @@ * Check matrix classes for proper handling of empty matrices. + * Force all empty matrices to be 0x0 even when other dimensions have + been speicified, for compatibility with Matlab, at least when some + preference variable is set. + * Improve design of ODE, DAE, classes. * Make it possible to specify a time which dassl and lsode should
--- a/README.Linux +++ b/README.Linux @@ -1,10 +1,10 @@ -Since July 1996, most work on Octave has been done using a -Linux/GNU system, and a number of people who regularly test Octave -snapshot releases also primarily use Linux/GNU systems. +Since July 1996, most work on Octave has been done using a Linux +system, and a number of people who regularly test Octave snapshot +releases also primarily use Linux systems. However, I have recently started to receive a significant number of reports from people who say that they can't compile or run Octave on -Linux/GNU systems. In nearly every case, the problem has turned out +Linux systems. In nearly every case, the problem has turned out to be that the compilers or libraries have not been installed properly. I suspect that this often results from a botched upgrade, or from attempting to install the compilers from the standard source
--- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 7 00:17:24 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Version 2.0.1 released. + Tue Dec 10 01:43:13 1996 John W. Eaton <jwe@bevo.che.wisc.edu> * Version 2.0 released.
--- a/info/ChangeLog +++ b/info/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 6 19:14:49 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * terminal.c (terminal_prep_terminal): Only delete OCRNL from + ttybuff.c_oflag if it is defined. + Mon Dec 9 14:20:01 1996 John W. Eaton <jwe@bevo.che.wisc.edu> * Makefile.in (install): Use $(EXE) suffix so that install will
--- a/info/terminal.c +++ b/info/terminal.c @@ -637,7 +637,11 @@ #if defined (HAVE_TERMIOS_H) || defined (HAVE_TERMIO_H) ttybuff.c_iflag &= (~ISTRIP & ~INLCR & ~IGNCR & ~ICRNL & ~IXON); - ttybuff.c_oflag &= (~ONLCR & ~OCRNL); +#ifdef OCRNL + ttybuff.c_oflag &= ~OCRNL; +#endif + ttybuff.c_oflag &= ~ONLCR; + ttybuff.c_lflag &= (~ICANON & ~ECHO); ttybuff.c_cc[VMIN] = 1;
--- a/libcruft/ChangeLog +++ b/libcruft/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 7 00:17:17 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Version 2.0.1 released. + Tue Dec 17 11:02:02 1996 John W. Eaton <jwe@bevo.che.wisc.edu> * misc/lo-error.c: Convert C++-style comments to C-style comments.
--- a/liboctave/ChangeLog +++ b/liboctave/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 7 00:16:57 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Version 2.0.1 released. + Sun Jan 5 12:07:45 1997 John W. Eaton <jwe@bevo.che.wisc.edu> * dMatrix.cc (Matrix::read): Correctly compute the number of
--- a/scripts/ChangeLog +++ b/scripts/ChangeLog @@ -1,3 +1,7 @@ +Tue Jan 7 00:16:52 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Version 2.0.1 released. + Thu Dec 19 22:16:46 1996 John W. Eaton <jwe@bevo.che.wisc.edu> * elfun/lcm.m: Replace missing if statement.
--- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,19 @@ +Tue Jan 7 00:16:41 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * Version 2.0.1 released. + +Mon Jan 6 00:00:07 1997 John W. Eaton <jwe@bevo.che.wisc.edu> + + * pt-mat.cc (tm_row_const_rep::all_mt): New variable. + (tm_row_const::all_empty): New function. + (tm_row_const::tm_row_const_rep::init): Set all_mt here. + (tm_const::all_mt): New variable. + (tm_const::all_emtpy): New function. + (tm_const::init): Set all_mt here. + (tree_matrix::eval): Return an empty matrix if the list contains + only empty elements. If it contains only empty strings, return an + empty string. + Sun Jan 5 12:50:25 1997 John W. Eaton <jwe@bevo.che.wisc.edu> * ops.h (SC_MX_BOOL_OP, MX_SC_BOOL_OP): New arg, empty_result.
--- a/src/pt-mat.cc +++ b/src/pt-mat.cc @@ -71,11 +71,11 @@ tm_row_const_rep (void) : SLList<octave_value> (), count (1), nr (0), nc (0), - all_str (false), is_cmplx (false), ok (false) { } + all_str (false), is_cmplx (false), all_mt (true), ok (false) { } tm_row_const_rep (const tree_matrix_row& mr) : SLList<octave_value> (), count (1), nr (0), nc (0), - all_str (false), is_cmplx (false), ok (false) + all_str (false), is_cmplx (false), all_mt (true), ok (false) { init (mr); } ~tm_row_const_rep (void) { } @@ -87,6 +87,7 @@ bool all_str; bool is_cmplx; + bool all_mt; bool ok; @@ -145,6 +146,7 @@ bool all_strings (void) const { return rep->all_str; } bool is_complex (void) const { return rep->is_cmplx; } + bool all_empty (void) const { return rep->all_mt; } octave_value& operator () (Pix p) { return rep->operator () (p); } @@ -198,6 +200,8 @@ } else { + all_mt = false; + if (first_elem) { first_elem = false; @@ -260,7 +264,7 @@ tm_const (const tree_matrix& tm) : SLList<tm_row_const> (), nr (0), nc (0), all_str (false), - is_cmplx (false), ok (false) + is_cmplx (false), all_mt (true), ok (false) { init (tm); } ~tm_const (void) { } @@ -270,6 +274,7 @@ bool all_strings (void) const { return all_str; } bool is_complex (void) const { return is_cmplx; } + bool all_empty (void) const { return all_mt; } operator void* () const { return ok ? (void *) -1 : (void *) 0; } @@ -280,6 +285,7 @@ bool all_str; bool is_cmplx; + bool all_mt; bool ok; @@ -318,6 +324,9 @@ if (! is_cmplx && tmp.is_complex ()) is_cmplx = true; + if (all_mt && ! tmp.all_empty ()) + all_mt = false; + append (tmp); } else @@ -345,6 +354,8 @@ } else { + all_mt = false; + if (first_elem) { first_elem = false; @@ -462,6 +473,9 @@ tm_const tmp (*this); + bool all_strings = false; + bool all_empty = false; + if (tmp) { int nr = tmp.rows (); @@ -474,9 +488,11 @@ // Now, extract the values from the individual elements and // insert them in the result matrix. - bool all_strings = tmp.all_strings (); bool found_complex = tmp.is_complex (); + all_strings = tmp.all_strings (); + all_empty = tmp.all_empty (); + if (all_strings) chm.resize (nr, nc, Vstring_fill_char); else if (found_complex) @@ -554,6 +570,14 @@ done: + if (! error_state && retval.is_undefined () && all_empty) + { + if (all_strings) + retval = ""; + else + retval = Matrix (); + } + return retval; }