# HG changeset patch # User jwe # Date 810175339 0 # Node ID 94bedeb289e5669f5b25aa8579b5ae8b54463b67 # Parent 61bb2bdee11ea6294fb424aaa250e5d5ebef5010 [project @ 1995-09-04 00:29:21 by jwe] diff -r 61bb2bdee11e -r 94bedeb289e5 liboctave/idx-vector.cc --- a/liboctave/idx-vector.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/liboctave/idx-vector.cc Mon Sep 04 00:42:19 1995 +0000 @@ -29,8 +29,9 @@ #include #endif +#include + #include -#include #include "dMatrix.h" #include "Range.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/error.cc --- a/src/error.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/error.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,8 +25,9 @@ #include #endif +#include + #include -#include #include "utils.h" #include "error.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/file-io.cc --- a/src/file-io.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/file-io.cc Mon Sep 04 00:42:19 1995 +0000 @@ -33,16 +33,20 @@ #include #endif +#include +#include +#include +#include +#include + #include +#ifdef HAVE_UNISTD_H #include -#include -#include -#include -#include -#include +#endif #include #include -#include + +#include #include diff -r 61bb2bdee11e -r 94bedeb289e5 src/help.cc --- a/src/help.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/help.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,13 +25,15 @@ #include #endif +#include +#include +#include + #include #ifdef HAVE_UNISTD_H #include #endif -#include -#include -#include + #include #include diff -r 61bb2bdee11e -r 94bedeb289e5 src/input.cc --- a/src/input.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/input.cc Mon Sep 04 00:42:19 1995 +0000 @@ -37,18 +37,20 @@ #include #endif +#include +#include +#include +#include +#include +#include + #include #ifdef HAVE_UNISTD_H #include #endif -#include -#include -#include + #include #include -#include -#include -#include // This must come before anything that includes iostream.h... extern "C" diff -r 61bb2bdee11e -r 94bedeb289e5 src/load-save.cc --- a/src/load-save.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/load-save.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,13 +25,14 @@ #include #endif -#include -#include -#include +#include +#include +#include +#include + #include #include #include -#include #include "tree-base.h" #include "tree-expr.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/mappers.cc --- a/src/mappers.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/mappers.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,8 +25,9 @@ #include #endif -#include -#include +#include +#include + #include #include "missing-math.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/oct-hist.cc --- a/src/oct-hist.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/oct-hist.cc Mon Sep 04 00:42:19 1995 +0000 @@ -32,14 +32,16 @@ #include #endif +#include +#include +#include + #include #ifdef HAVE_UNISTD_H #include #endif #include -#include -#include -#include + #include #include diff -r 61bb2bdee11e -r 94bedeb289e5 src/pager.cc --- a/src/pager.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/pager.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,11 +25,12 @@ #include #endif -#include +#include +#include + #include #include #include -#include #include "procstream.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/pr-output.cc --- a/src/pr-output.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/pr-output.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,11 +25,13 @@ #include #endif +#include +#include +#include + #include #include -#include -#include -#include + #include #include "dMatrix.h" @@ -41,6 +43,7 @@ #include "user-prefs.h" #include "pr-output.h" #include "mappers.h" +#include "oct-str.h" #include "sysdep.h" #include "pager.h" #include "help.h" @@ -1389,7 +1392,6 @@ if (pr_as_read_syntax) { - if (free_format) { os << base << " : "; @@ -1451,6 +1453,32 @@ } } +void +octave_print_internal (ostream& os, Octave_str_obj& s, + int pr_as_read_syntax) +{ + int nstr = s.num_strings (); + + if (pr_as_read_syntax && nstr > 1) + os << "[ "; + + for (int i = 0; i < nstr; i++) + { + if (pr_as_read_syntax) + { + os << "\"" << s.elem (i) << "\""; + + if (i < nstr - 1) + os << "; "; + } + else + os << s.elem (i) << "\n"; + } + + if (pr_as_read_syntax && nstr > 1) + os << " ]"; +} + DEFUN ("disp", Fdisp, Sdisp, 1, 1, "disp (X): display value without name tag") { diff -r 61bb2bdee11e -r 94bedeb289e5 src/pt-base.cc --- a/src/pt-base.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/pt-base.cc Mon Sep 04 00:42:19 1995 +0000 @@ -29,8 +29,9 @@ #include #endif +#include + #include -#include #include "tree-base.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/pt-exp-base.cc --- a/src/pt-exp-base.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/pt-exp-base.cc Mon Sep 04 00:42:19 1995 +0000 @@ -29,6 +29,11 @@ #include #endif +#include +#include +#include +#include + #include #ifdef HAVE_UNISTD_H #include @@ -36,10 +41,6 @@ #include #include -#include -#include -#include -#include #include "variables.h" #include "user-prefs.h" @@ -336,8 +337,7 @@ Matrix m; ComplexMatrix cm; - char *string = 0; - char *str_ptr = 0; + Octave_str_obj string; // Eliminate empties and gather stats. @@ -450,7 +450,7 @@ case md_down: { - if (cols_this_row != col_total) + if (cols_this_row != col_total && ! all_strings) { ::error ("number of columns must match"); goto done; @@ -471,7 +471,7 @@ // Don\'t forget to check to see if the last element will fit. - if (cols_this_row != col_total) + if (cols_this_row != col_total && ! all_strings) { ::error ("number of columns must match"); goto done; @@ -480,11 +480,8 @@ // Now, extract the values from the individual elements and insert // them in the result matrix. - if (all_strings && row_total == 1 && col_total > 0) - { - string = str_ptr = new char [col_total + 1]; - string[col_total] = '\0'; - } + if (all_strings) + string.resize (row_total); else if (found_complex) cm.resize (row_total, col_total, 0.0); else @@ -554,10 +551,26 @@ { m (put_row, put_col) = tmp.double_value (); } - else if (tmp.is_string () && all_strings && str_ptr) + else if (tmp.is_string () && all_strings) { - memcpy (str_ptr, tmp.string_value (), nc); - str_ptr += nc; + switch (list[i].direction) + { + case md_right: + if (nr == 1) + string.append_right (put_row, tmp.string_value ()); + else + string.append_right (tmp.all_strings ()); + break; + + case md_none: + case md_down: + string.append_down (put_row, tmp.all_strings ()); + break; + + default: + panic_impossible (); + break; + } } else { @@ -574,12 +587,12 @@ prev_nc = nc; } - if (all_strings && string) - retval = tree_constant (string); + if (all_strings && string.num_strings () > 0) + retval = string; else if (found_complex) - retval = tree_constant (cm); + retval = cm; else - retval = tree_constant (m); + retval = m; done: delete [] list; diff -r 61bb2bdee11e -r 94bedeb289e5 src/pt-plot.cc --- a/src/pt-plot.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/pt-plot.cc Mon Sep 04 00:42:19 1995 +0000 @@ -29,11 +29,12 @@ #include #endif +#include + #include #ifdef HAVE_UNISTD_H #include #endif -#include #include #include #include diff -r 61bb2bdee11e -r 94bedeb289e5 src/sighandlers.cc --- a/src/sighandlers.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/sighandlers.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,13 +25,15 @@ #include #endif +#include +#include + #include #ifdef HAVE_UNISTD_H #include #endif #include -#include -#include + #include #include "sighandlers.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/sysdep.cc --- a/src/sysdep.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/sysdep.cc Mon Sep 04 00:42:19 1995 +0000 @@ -33,16 +33,17 @@ #include #endif +#include +#include +#include +#include +#include +#include + #include #ifdef HAVE_UNISTD_H #include #endif -#include -#include -#include -#include -#include -#include #include "tree-const.h" #include "octave.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/tc-rep.cc --- a/src/tc-rep.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/tc-rep.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,8 +25,9 @@ #include #endif -#include -#include +#include +#include + #include #include diff -r 61bb2bdee11e -r 94bedeb289e5 src/token.cc --- a/src/token.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/token.cc Mon Sep 04 00:42:19 1995 +0000 @@ -29,7 +29,7 @@ #include #endif -#include +#include #include "error.h" #include "token.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/unwind-prot.cc --- a/src/unwind-prot.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/unwind-prot.cc Mon Sep 04 00:42:19 1995 +0000 @@ -29,7 +29,7 @@ #include #endif -#include +#include #include "SLStack.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/user-prefs.cc --- a/src/user-prefs.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/user-prefs.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,7 +25,7 @@ #include #endif -#include +#include #include "user-prefs.h" #include "mappers.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/utils.cc --- a/src/utils.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/utils.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,13 +25,14 @@ #include #endif +#include +#include + #include #ifdef HAVE_UNISTD_H #include #endif #include -#include -#include #include #include #include diff -r 61bb2bdee11e -r 94bedeb289e5 src/variables.cc --- a/src/variables.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/variables.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,19 +25,13 @@ #include #endif -#if 0 -#include -#include - -#include "mappers.h" -#endif +#include +#include #include #ifdef HAVE_UNISTD_H #include #endif -#include -#include #include #include "defaults.h" @@ -1556,6 +1550,9 @@ DEFVAR ("ans", SBV_ans, , 0, 0, 1, 0, ""); + DEFVAR ("argv", SBV_argv, , 0, 1, 1, 0, + "the command line arguments this program was invoked with"); + DEFVAR ("automatic_replot", SBV_automatic_replot, "false", 0, 0, 1, automatic_replot, "if true, auto-insert a replot command when a plot changes"); @@ -1651,6 +1648,14 @@ 0, 0, 1, print_empty_dimensions, "also print dimensions of empty matrices"); + DEFVAR ("program_invocation_name", SBV_program_invocation_name, + raw_prog_name, 0, 1, 1, 0, + "the full name of the current program or script, including the\n\ +directory specification"); + + DEFVAR ("program_name", SBV_program_name, prog_name, 0, 1, 1, 0, + "the name of the current program or script"); + DEFVAR ("propagate_empty_matrices", SBV_propagate_empty_matrices, "true", 0, 0, 1, propagate_empty_matrices, "operations on empty matrices return an empty matrix, not an error"); diff -r 61bb2bdee11e -r 94bedeb289e5 src/xdiv.cc --- a/src/xdiv.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/xdiv.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,7 +25,8 @@ #include #endif -#include +#include + #include #include "xdiv.h" diff -r 61bb2bdee11e -r 94bedeb289e5 src/xpow.cc --- a/src/xpow.cc Mon Sep 04 00:24:09 1995 +0000 +++ b/src/xpow.cc Mon Sep 04 00:42:19 1995 +0000 @@ -25,7 +25,8 @@ #include #endif -#include +#include + #include #include "xpow.h"