# HG changeset patch # User jwe # Date 1045208187 0 # Node ID 0990c9b77109f9c022d9548442436e332e88d40c # Parent 0b24abe1ba0bd461904d061683f1e55dbb309984 [project @ 2003-02-14 07:36:26 by jwe] diff -r 0b24abe1ba0b -r 0990c9b77109 ChangeLog --- a/ChangeLog Fri Feb 14 01:58:12 2003 +0000 +++ b/ChangeLog Fri Feb 14 07:36:27 2003 +0000 @@ -1,3 +1,12 @@ +2003-02-13 Arno Klaassen + + * configure.in: Fix SH_LD and SH_LDFLAGS for -*-*-freebsd*. + +2003-02-13 John W. Eaton + + * configure.in: Use '$(CXX)', '$(AR)', not "$CXX" and "$AR" when + setting variables for building shared libraries. + 2003-02-13 Paul Kienzle * examples/make_int.cc: Support for ISO standard compilers. diff -r 0b24abe1ba0b -r 0990c9b77109 configure.in --- a/configure.in Fri Feb 14 01:58:12 2003 +0000 +++ b/configure.in Fri Feb 14 07:36:27 2003 +0000 @@ -22,7 +22,7 @@ ### 02111-1307, USA. AC_INIT -AC_REVISION($Revision: 1.409 $) +AC_REVISION($Revision: 1.410 $) AC_PREREQ(2.52) AC_CONFIG_SRCDIR([src/octave.cc]) AC_CONFIG_HEADER(config.h) @@ -630,21 +630,25 @@ SHLLIB_VER='$(SHLLIB).$(version)' SHLBIN_VER='$(SHLBIN).$(version)' SHLLINKEXT= -SH_LD="$CXX" +SH_LD='$(CXX)' SH_LDFLAGS=-shared MKOCTFILE_SH_LDFLAGS='$(SH_LDFLAGS)' SONAME_FLAGS= RLD_FLAG= NO_OCT_FILE_STRIP=false INCLUDE_LINK_DEPS=false -TEMPLATE_AR="$AR" +TEMPLATE_AR='$(AR)' TEMPLATE_ARFLAGS="$ARFLAGS" library_path_var=LD_LIBRARY_PATH case "$canonical_host_type" in - *-*-386bsd* | *-*-openbsd* | *-*-netbsd* | *-*-freebsd*) + *-*-386bsd* | *-*-openbsd* | *-*-netbsd*) SH_LD=ld SH_LDFLAGS=-Bshareable ;; + *-*-freebsd*) + SH_LD='$(CC)' + SH_LDFLAGS=-shared -Wl,-x + ;; alpha*-dec-osf*) CPICFLAG= CXXPICFLAG= @@ -738,7 +742,7 @@ if test "$GXX" = yes; then true else - TEMPLATE_AR="$CXX" + TEMPLATE_AR='$(CXX)' TEMPLATE_ARFLAGS="-xar -o" fi ;; diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/Array2-idx.h --- a/liboctave/Array2-idx.h Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/Array2-idx.h Fri Feb 14 07:36:27 2003 +0000 @@ -43,7 +43,7 @@ } else if (n_idx == 1) { - return index (idx[0]); + return index (Array::idx[0]); } else (*current_liboctave_error_handler) @@ -98,7 +98,14 @@ int len = tmp.length (); if (len == 0) - retval = Array2 (idx_orig_rows, idx_orig_columns); + { + if (idx_orig_rows == 0 || idx_orig_columns == 0) + retval = Array2 (idx_orig_rows, idx_orig_columns); + else if (nr == 1) + retval = Array2 (1, 0); + else + retval = Array2 (0, 1); + } else { if (idx_orig_rows == 1 || idx_orig_columns == 1) @@ -283,10 +290,10 @@ } } - if (--rep->count <= 0) - delete rep; + if (--(Array::rep)->count <= 0) + delete Array::rep; - rep = new typename Array::ArrayRep (new_data, new_n); + Array::rep = new typename Array::ArrayRep (new_data, new_n); if (nr == 1) { @@ -397,10 +404,10 @@ } } - if (--rep->count <= 0) - delete rep; + if (--(Array::rep)->count <= 0) + delete Array::rep; - rep = new typename Array::ArrayRep (new_data, nr * new_nc); + Array::rep = new typename Array::ArrayRep (new_data, nr * new_nc); d2 = new_nc; @@ -461,10 +468,10 @@ } } - if (--rep->count <= 0) - delete rep; + if (--(Array::rep)->count <= 0) + delete Array::rep; - rep = new typename Array::ArrayRep (new_data, new_nr * nc); + Array::rep = new typename Array::ArrayRep (new_data, new_nr * nc); d1 = new_nr; diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/Array2.cc --- a/liboctave/Array2.cc Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/Array2.cc Fri Feb 14 07:36:27 2003 +0000 @@ -124,14 +124,14 @@ if (r == dim1 () && c == dim2 ()) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int old_d1 = dim1 (); int old_d2 = dim2 (); int old_len = length (); - rep = new typename Array::ArrayRep (get_size (r, c)); + Array::rep = new typename Array::ArrayRep (get_size (r, c)); d1 = r; d2 = c; @@ -164,14 +164,14 @@ if (r == dim1 () && c == dim2 ()) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int old_d1 = dim1 (); int old_d2 = dim2 (); int old_len = length (); - rep = new typename Array::ArrayRep (get_size (r, c)); + Array::rep = new typename Array::ArrayRep (get_size (r, c)); d1 = r; d2 = c; diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/Array3.cc --- a/liboctave/Array3.cc Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/Array3.cc Fri Feb 14 07:36:27 2003 +0000 @@ -58,7 +58,7 @@ if (r == dim1 () && c == dim2 () && p == dim3 ()) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int old_d1 = dim1 (); @@ -68,10 +68,10 @@ int ts = get_size (get_size (r, c), p); - rep = new typename Array::ArrayRep (ts); + Array::rep = new typename Array::ArrayRep (ts); - d1 = r; - d2 = c; + Array2::d1 = r; + Array2::d2 = c; d3 = p; if (old_data && old_len > 0) @@ -104,7 +104,7 @@ if (r == dim1 () && c == dim2 () && p == dim3 ()) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int old_d1 = dim1 (); @@ -115,10 +115,10 @@ int ts = get_size (get_size (r, c), p); - rep = new typename Array::ArrayRep (ts); + Array::rep = new typename Array::ArrayRep (ts); - d1 = r; - d2 = c; + Array2::d1 = r; + Array2::d2 = c; d3 = p; int min_r = old_d1 < r ? old_d1 : r; diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/Array3.h --- a/liboctave/Array3.h Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/Array3.h Fri Feb 14 07:36:27 2003 +0000 @@ -48,7 +48,7 @@ Array3 (T *d, int n, int m, int k) : Array2 (d, n, get_size (m, k)) { - d2 = m; + Array2::d2 = m; d3 = k; set_max_indices (3); } @@ -57,28 +57,28 @@ Array3 (void) : Array2 () { - d2 = 0; + Array2::d2 = 0; d3 = 0; set_max_indices (3); } Array3 (int n, int m, int k) : Array2 (n, get_size (m, k)) { - d2 = m; + Array2::d2 = m; d3 = k; set_max_indices (3); } Array3 (int n, int m, int k, const T& val) : Array2 (n, m*k, val) { - d2 = m; + Array2::d2 = m; d3 = k; set_max_indices (3); } Array3 (const Array3& a) : Array2 (a) { - d2 = a.d2; + Array2::d2 = a.d2; d3 = a.d3; set_max_indices (3); } @@ -87,11 +87,11 @@ Array3& operator = (const Array3& a) { - if (this != &a && rep != a.rep) + if (this != &a && Array::rep != a.rep) { Array::operator = (a); - d1 = a.d1; - d2 = a.d2; + Array2::d1 = a.d1; + Array2::d2 = a.d2; d3 = a.d3; } @@ -102,8 +102,8 @@ // No checking of any kind, ever. - T& xelem (int i, int j, int k) { return Array2::xelem (i, d2*k+j); } - T xelem (int i, int j, int k) const { return Array2::xelem (i, d2*k+j); } + T& xelem (int i, int j, int k) { return Array2::xelem (i, Array2::d2*k+j); } + T xelem (int i, int j, int k) const { return Array2::xelem (i, Array2::d2*k+j); } // Note that the following element selection methods don't use // xelem() because they need to make use of the code in @@ -111,16 +111,16 @@ T& checkelem (int i, int j, int k) { - if (i < 0 || j < 0 || k < 0 || i >= d1 || j >= d2 || k >= d3) + if (i < 0 || j < 0 || k < 0 || i >= Array2::d1 || j >= Array2::d2 || k >= d3) { (*current_liboctave_error_handler) ("range error in Array3"); static T foo; return foo; } - return Array2::elem (i, d2*k+j); + return Array2::elem (i, Array2::d2*k+j); } - T& elem (int i, int j, int k) { return Array2::elem (i, d2*k+j); } + T& elem (int i, int j, int k) { return Array2::elem (i, Array2::d2*k+j); } #if defined (BOUNDS_CHECKING) T& operator () (int i, int j, int k) { return checkelem (i, j, k); } @@ -130,15 +130,15 @@ T checkelem (int i, int j, int k) const { - if (i < 0 || j < 0 || k < 0 || i >= d1 || j >= d2 || k >= d3) + if (i < 0 || j < 0 || k < 0 || i >= Array2::d1 || j >= Array2::d2 || k >= d3) { (*current_liboctave_error_handler) ("range error in Array3"); return T (); } - return Array2::elem (i, d1*k+j); + return Array2::elem (i, Array2::d1*k+j); } - T elem (int i, int j, int k) const { return Array2::elem (i, d2*k+j); } + T elem (int i, int j, int k) const { return Array2::elem (i, Array2::d2*k+j); } #if defined (BOUNDS_CHECKING) T operator () (int i, int j, int k) const { return checkelem (i, j, k); } diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/ArrayN.cc --- a/liboctave/ArrayN.cc Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/ArrayN.cc Fri Feb 14 07:36:27 2003 +0000 @@ -229,10 +229,10 @@ if (no_change) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); - rep = new typename Array::ArrayRep (get_size (dims)); + Array::rep = new typename Array::ArrayRep (get_size (dims)); Array old_dimensions = dimensions; @@ -284,12 +284,12 @@ if (no_change) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int len = get_size (dims); - rep = new typename Array::ArrayRep (len); + Array::rep = new typename Array::ArrayRep (len); Array old_dimensions = dimensions; @@ -300,7 +300,7 @@ Array ra_idx (dimensions.length (), 0); for (int i = 0; i < len; i++) - rep->elem (i) = val; + Array::rep->elem (i) = val; for (int i = 0; i < old_len; i++) { diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/ArrayN.h --- a/liboctave/ArrayN.h Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/ArrayN.h Fri Feb 14 07:36:27 2003 +0000 @@ -48,6 +48,7 @@ { protected: + ArrayN (T *d, const Array& dims) : Array (d, get_size (dims)) { dimensions = dims; @@ -95,7 +96,7 @@ ArrayN& operator = (const ArrayN& a) { - if (this != &a && rep != a.rep) + if (this != &a && Array::rep != a.rep) { Array::operator = (a); dimensions = a.dimensions; diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/ChangeLog --- a/liboctave/ChangeLog Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/ChangeLog Fri Feb 14 07:36:27 2003 +0000 @@ -1,3 +1,14 @@ +2003-02-14 John W. Eaton + + * Array2-idx.h (Array2::index): Fix thinko. + Additional compatibility fix. + +2003-02-13 Arno Klaassen + + * Array2-idx.h, Array2.cc, Array2.h, Array3.cc, Array3.h, + ArrayN.cc, ArrayN.h, DiagArray2.cc, DiagArray2.h, MDiagArray2.h: + Sprinkle with Array:: as necessary for gcc 3.4. + 2003-02-13 John W. Eaton * Array2-idx.h (Array2::index (idx_vector&, int, const T&)): diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/DiagArray2.cc --- a/liboctave/DiagArray2.cc Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/DiagArray2.cc Fri Feb 14 07:36:27 2003 +0000 @@ -134,13 +134,13 @@ if (r == dim1 () && c == dim2 ()) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int old_len = length (); int new_len = r < c ? r : c; - rep = new typename Array::ArrayRep (new_len); + Array::rep = new typename Array::ArrayRep (new_len); nr = r; nc = c; @@ -170,13 +170,13 @@ if (r == dim1 () && c == dim2 ()) return; - typename Array::ArrayRep *old_rep = rep; + typename Array::ArrayRep *old_rep = Array::rep; const T *old_data = data (); int old_len = length (); int new_len = r < c ? r : c; - rep = new typename Array::ArrayRep (new_len); + Array::rep = new typename Array::ArrayRep (new_len); nr = r; nc = c; diff -r 0b24abe1ba0b -r 0990c9b77109 liboctave/MDiagArray2.h --- a/liboctave/MDiagArray2.h Fri Feb 14 01:58:12 2003 +0000 +++ b/liboctave/MDiagArray2.h Fri Feb 14 07:36:27 2003 +0000 @@ -71,9 +71,9 @@ operator MArray2 () const { - MArray2 retval (nr, nc, T (0)); + MArray2 retval (DiagArray2::nr, DiagArray2::nc, T (0)); - int len = nr < nc ? nr : nc; + int len = DiagArray2::nr < DiagArray2::nc ? DiagArray2::nr : DiagArray2::nc; for (int i = 0; i < len; i++) retval.xelem (i, i) = xelem (i, i); diff -r 0b24abe1ba0b -r 0990c9b77109 src/ChangeLog --- a/src/ChangeLog Fri Feb 14 01:58:12 2003 +0000 +++ b/src/ChangeLog Fri Feb 14 07:36:27 2003 +0000 @@ -1,3 +1,15 @@ +2003-02-14 John W. Eaton + + * ov-str-mat.h (octave_char_matrix_str::is_real_type, + octave_char_matrix_str::is_matrix_type, + octave_char_matrix_str::is_numeric_type): Always return false. + +2003-02-13 John W. Eaton + + * lex.l (): If we are parsing a command, reset start state. + Use BEGIN (INITIAL) instead of BEGIN 0. Use parens around start + state in BEGIN statements. + 2003-02-13 Paul Kienzle * variables.cc (Fmlock, Fmunlock, Fmislocked): New functions. diff -r 0b24abe1ba0b -r 0990c9b77109 src/lex.l --- a/src/lex.l Fri Feb 14 01:58:12 2003 +0000 +++ b/src/lex.l Fri Feb 14 07:36:27 2003 +0000 @@ -245,13 +245,13 @@ %% . { - BEGIN NESTED_FUNCTION_BEGIN; + BEGIN (NESTED_FUNCTION_BEGIN); unput (yytext[0]); return ';'; } . { - BEGIN 0; + BEGIN (INITIAL); unput (yytext[0]); prep_for_nested_function (); return FCN; @@ -264,7 +264,7 @@ %} {NL} { - BEGIN 0; + BEGIN (INITIAL); current_input_column = 1; lexer_flags.quote_is_transpose = false; lexer_flags.cant_be_identifier = false; @@ -279,7 +279,7 @@ } else { - BEGIN 0; + BEGIN (INITIAL); if (strcmp (yytext, ",") == 0) TOK_RETURN (','); else @@ -455,7 +455,7 @@ else { lexer_flags.bracketflag++; - BEGIN MATRIX_START; + BEGIN (MATRIX_START); return '['; } } @@ -655,6 +655,9 @@ maybe_gripe_matlab_incompatible_comment (yytext[0]); + if (YY_START == COMMAND_START) + BEGIN (INITIAL); + if (nesting_level.none ()) return '\n'; else if (nesting_level.is_bracket ()) @@ -841,7 +844,7 @@ reset_parser (void) { // Start off on the right foot. - BEGIN 0; + BEGIN (INITIAL); parser_end_of_input = false; end_tokens_expected = 0; @@ -1268,7 +1271,7 @@ { if (lexer_flags.parsing_nested_function) { - BEGIN NESTED_FUNCTION_END; + BEGIN (NESTED_FUNCTION_END); yylval.tok_val = new token (token::function_end, l, c); token_stack.push (yylval.tok_val); @@ -2256,7 +2259,7 @@ } if (lexer_flags.bracketflag == 0) - BEGIN 0; + BEGIN (INITIAL); if (next_token_is_assign_op () && ! lexer_flags.looking_at_return_list) { @@ -2489,7 +2492,7 @@ if (tok == "gset") lexer_flags.doing_set = true; - BEGIN COMMAND_START; + BEGIN (COMMAND_START); } } diff -r 0b24abe1ba0b -r 0990c9b77109 src/ov-str-mat.h --- a/src/ov-str-mat.h Fri Feb 14 01:58:12 2003 +0000 +++ b/src/ov-str-mat.h Fri Feb 14 07:36:27 2003 +0000 @@ -90,11 +90,11 @@ bool is_string (void) const { return true; } - bool is_real_type (void) const { return Vimplicit_str_to_num_ok; } + bool is_real_type (void) const { return false; } - bool is_matrix_type (void) const { return Vimplicit_str_to_num_ok; } + bool is_matrix_type (void) const { return false; } - bool is_numeric_type (void) const { return Vimplicit_str_to_num_ok; } + bool is_numeric_type (void) const { return false; } bool valid_as_scalar_index (void) const; diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/ismatrix-5.m --- a/test/octave.test/number/ismatrix-5.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/ismatrix-5.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! ismatrix ("t"); implicit_str_to_num_ok = 1; -t2 = ismatrix ("t"); +t2 = ! ismatrix ("t"); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/ismatrix-6.m --- a/test/octave.test/number/ismatrix-6.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/ismatrix-6.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! ismatrix ("test"); implicit_str_to_num_ok = 1; -t2 = ismatrix ("test"); +t2 = ! ismatrix ("test"); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/ismatrix-7.m --- a/test/octave.test/number/ismatrix-7.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/ismatrix-7.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! ismatrix (["test"; "ing"]); implicit_str_to_num_ok = 1; -t2 = ismatrix (["test"; "ing"]); +t2 = ! ismatrix (["test"; "ing"]); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/isscalar-5.m --- a/test/octave.test/number/isscalar-5.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/isscalar-5.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! isscalar ("t"); implicit_str_to_num_ok = 1; -t2 = isscalar ("t"); +t2 = ! isscalar ("t"); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/issquare-5.m --- a/test/octave.test/number/issquare-5.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/issquare-5.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! issquare ("t"); implicit_str_to_num_ok = 1; -t2 = (issquare ("t") == 1); +t2 = ! issquare ("t"); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/issquare-7.m --- a/test/octave.test/number/issquare-7.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/issquare-7.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! issquare (["test"; "ing"; "1"; "2"]); implicit_str_to_num_ok = 1; -t2 = (issquare (["test"; "ing"; "1"; "2"]) == 4); +t2 = ! issquare (["test"; "ing"; "1"; "2"]); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/issymmetric-5.m --- a/test/octave.test/number/issymmetric-5.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/issymmetric-5.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! issymmetric ("t"); implicit_str_to_num_ok = 1; -t2 = (issymmetric ("t") == 1); +t2 = ! issymmetric ("t"); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/issymmetric-7.m --- a/test/octave.test/number/issymmetric-7.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/issymmetric-7.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! issymmetric (["te"; "et"]); implicit_str_to_num_ok = 1; -t2 = (issymmetric (["te"; "et"]) == 2); +t2 = ! issymmetric (["te"; "et"]); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/isvector-5.m --- a/test/octave.test/number/isvector-5.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/isvector-5.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! isvector ("t"); implicit_str_to_num_ok = 1; -t2 = isvector ("t"); +t2 = ! isvector ("t"); t1 && t2 diff -r 0b24abe1ba0b -r 0990c9b77109 test/octave.test/number/isvector-6.m --- a/test/octave.test/number/isvector-6.m Fri Feb 14 01:58:12 2003 +0000 +++ b/test/octave.test/number/isvector-6.m Fri Feb 14 07:36:27 2003 +0000 @@ -1,5 +1,5 @@ implicit_str_to_num_ok = 0; t1 = ! isvector ("test"); implicit_str_to_num_ok = 1; -t2 = isvector ("test"); +t2 = ! isvector ("test"); t1 && t2