From octave-maintainers-request at bevo dot che dot wisc dot edu Wed Nov 4 20:20:00 1998 Subject: Bugs in 2.1.9 From: "John W. Eaton" To: costabel at lie dot univ-rennes1 dot fr (Martin Costabel) Cc: octave-maintainers at bevo dot che dot wisc dot edu Date: Wed, 4 Nov 1998 20:19:36 -0600 (CST) On 4-Nov-1998, Martin Costabel wrote: | Hi, | | I was a little fast in praising 2.1.9. | Here are some bugs: | 2) Whos is broken: | >> function y=f(x) y=x; endfunction | >> whos | | *** currently compiled functions: | | prot type rows cols name | ==== ==== ==== ==== ==== | rwd user-defined function error: octave_base_value::rows (): wrong type argument `user-defined function' | error: octave_base_value::columns (): wrong type argument `user-defined function' | - - f | | This happens with any function. Please try the following patch. Thanks, jwe Wed Nov 4 17:21:41 1998 John W. Eaton * ov-base.cc (octave_base_value::rows, octave_base_value::columns, octave_base_value::length): Delete. * ov-base.h (octave_base_value::rows, octave_base_value::columns, octave_base_value::length): Define here. All return -1 if not defined in a derived class. Index: ov-base.h =================================================================== RCS file: /home/jwe/src/master/octave/src/ov-base.h,v retrieving revision 1.22 diff -c -r1.22 ov-base.h *** ov-base.h 1998/11/03 20:48:57 1.22 --- ov-base.h 1998/11/05 02:14:26 *************** *** 84,93 **** octave_lvalue struct_elt_ref (octave_value *parent, const string& nm); ! int rows (void) const; ! int columns (void) const; ! int length (void) const; bool is_defined (void) const { return false; } --- 84,94 ---- octave_lvalue struct_elt_ref (octave_value *parent, const string& nm); ! int rows (void) const { reteurn -1; } ! int columns (void) const { reteurn -1; } ! ! int length (void) const { reteurn -1; } bool is_defined (void) const { return false; } Index: ov-base.cc =================================================================== RCS file: /home/jwe/src/master/octave/src/ov-base.cc,v retrieving revision 1.16 diff -c -r1.16 ov-base.cc *** ov-base.cc 1998/10/30 20:26:30 1.16 --- ov-base.cc 1998/11/05 02:13:58 *************** *** 144,173 **** } int - octave_base_value::rows (void) const - { - int retval = -1; - gripe_wrong_type_arg ("octave_base_value::rows ()", type_name ()); - return retval; - } - - int - octave_base_value::columns (void) const - { - int retval = -1; - gripe_wrong_type_arg ("octave_base_value::columns ()", type_name ()); - return retval; - } - - int - octave_base_value::length (void) const - { - int retval = -1; - gripe_wrong_type_arg ("octave_base_value::length ()", type_name ()); - return retval; - } - - int octave_base_value::int_value (bool require_int, bool frc_str_conv) const { int retval = 0; --- 144,149 ----