# HG changeset patch # User jwe # Date 1162359285 0 # Node ID 5ea7e62233f2c0eb899c5b115f6188352cd35bbc # Parent c0011bf8f8158d7dcb621561b6e4cc48a52de2d7 [project @ 2006-11-01 05:34:45 by jwe] diff -r c0011bf8f815 -r 5ea7e62233f2 src/ChangeLog --- a/src/ChangeLog Tue Oct 31 20:10:39 2006 +0000 +++ b/src/ChangeLog Wed Nov 01 05:34:45 2006 +0000 @@ -1,3 +1,8 @@ +2006-10-31 John W. Eaton + + * ov-range.h (octave_range::empty_clone): Return octave_matrix + object instead of octave_range. + 2006-10-29 Juhani Saastamoinen * ls-mat5.cc (read_mat5_tag): Declare bytes as int32_t, not just int. diff -r c0011bf8f815 -r 5ea7e62233f2 src/ov-range.h --- a/src/ov-range.h Tue Oct 31 20:10:39 2006 +0000 +++ b/src/ov-range.h Wed Nov 01 05:34:45 2006 +0000 @@ -40,6 +40,7 @@ #include "error.h" #include "oct-stream.h" #include "ov-base.h" +#include "ov-re-mat.h" #include "ov-typeinfo.h" class Octave_map; @@ -77,7 +78,11 @@ ~octave_range (void) { } octave_base_value *clone (void) const { return new octave_range (*this); } - octave_base_value *empty_clone (void) const { return new octave_range (); } + + // A range is really just a special kind of real matrix object. In + // the places where we need to call empty_clone, it makes more sense + // to create an empty matrix (0x0) instead of an empty range (1x0). + octave_base_value *empty_clone (void) const { return new octave_matrix (); } type_conv_fcn numeric_conversion_function (void) const;