changeset 33451:35ecb8a019e3

maint: merge stable to default
author John W. Eaton <jwe@octave.org>
date Wed, 24 Apr 2024 13:12:41 -0400
parents 71317c258da9 (current diff) f86b8eb0c654 (diff)
children 418932096146 2a0cdc52220b
files libinterp/octave-value/ov-classdef.cc
diffstat 1 files changed, 8 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/octave-value/ov-classdef.cc	Sat Apr 20 12:59:52 2024 -0400
+++ b/libinterp/octave-value/ov-classdef.cc	Wed Apr 24 13:12:41 2024 -0400
@@ -395,16 +395,17 @@
             os << "  " << nm;
           else
             {
+              os << std::setw (max_len+2) << nm << ": ";
+
               octave_value val = prop.get_value (m_object, false);
-              const dim_vector& dims = val.dims ();
 
-              os << std::setw (max_len+2) << nm << ": ";
-              if (val.is_string ())
-                os << val.string_value ();
-              else if (val.islogical ())
-                os << val.bool_value ();
+              if (val.ndims () == 2 && val.rows () == 1 && (val.isnumeric () || val.islogical () || val.is_string ()))
+                val.short_disp (os);
               else
-                os << "[" << dims.str () << " " << val.class_name () << "]";
+                {
+                  dim_vector dims = val.dims ();
+                  os << "[" << dims.str () << " " << val.class_name () << "]";
+                }
             }
 
           newline (os);