changeset 4457:d7d9ca19960a

[project @ 2003-07-11 03:05:38 by jwe]
author jwe
date Fri, 11 Jul 2003 03:05:39 +0000
parents b0aff7648c2d
children 2274f58d9b80
files ChangeLog doc/faq/Octave-FAQ.texi doc/interpreter/basics.txi doc/interpreter/matrix.txi doc/interpreter/var.txi emacs/octave-mod.el scripts/ChangeLog scripts/miscellaneous/dump_prefs.m scripts/strings/blanks.m src/ChangeLog src/octave.cc src/ov-base.cc src/ov-base.h src/ov-bool-mat.cc src/ov-bool-mat.h src/ov-bool.cc src/ov-bool.h src/ov-cell.cc src/ov-cell.h src/ov-ch-mat.h src/ov-range.cc src/ov-range.h src/ov-re-mat.cc src/ov-re-mat.h src/ov-scalar.cc src/ov-scalar.h src/ov-str-mat.cc src/ov-str-mat.h src/ov.cc src/ov.h src/strfns.cc src/utils.cc test/octave.test/arith/arith.exp test/octave.test/contin/contin.exp test/octave.test/diffeq/diffeq.exp test/octave.test/error/error.exp test/octave.test/eval-catch/eval-catch.exp test/octave.test/eval/eval.exp test/octave.test/global/global.exp test/octave.test/index-wfi-f/index.exp test/octave.test/index-wfi-t/index.exp test/octave.test/infnan/infnan.exp test/octave.test/io/io.exp test/octave.test/io/sscanf-1.m test/octave.test/linalg/linalg.exp test/octave.test/linalg/lu-2.m test/octave.test/matrix/matrix.exp test/octave.test/nonlin/nonlin.exp test/octave.test/number/number.exp test/octave.test/poly/poly.exp test/octave.test/prefer/prefer-12.m test/octave.test/prefer/prefer-31.m test/octave.test/prefer/prefer-32.m test/octave.test/prefer/prefer-33.m test/octave.test/prefer/prefer.exp test/octave.test/quad/quad.exp test/octave.test/recursion/recursion.exp test/octave.test/return/return.exp test/octave.test/set/set.exp test/octave.test/signal/signal.exp test/octave.test/stats/stats.exp test/octave.test/string/string.exp test/octave.test/struct/struct.exp test/octave.test/switch/switch.exp test/octave.test/system/localtime-1.m test/octave.test/system/system.exp test/octave.test/transpose/transpose.exp test/octave.test/try/try.exp
diffstat 68 files changed, 973 insertions(+), 943 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2003-07-10  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* emacs/octave-mod.el (octave-variables): Add warn_neg_dim_as_zero
+	to the list.
+	Delete treat_neg_dim_as_zero from the list.
+
 2003-07-09  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* emacs/octave-mod.el (octave-variables): Include
--- a/doc/faq/Octave-FAQ.texi
+++ b/doc/faq/Octave-FAQ.texi
@@ -728,7 +728,6 @@
   initialize_global_variables   = true
   page_screen_output            = false
   print_empty_dimensions        = false
-  treat_neg_dim_as_zero         = true
   warn_function_name_clash      = false
   whitespace_in_literal_matrix  = "traditional"
 @end group
--- a/doc/interpreter/basics.txi
+++ b/doc/interpreter/basics.txi
@@ -168,7 +168,6 @@
   initialize_global_variables   = true
   page_screen_output            = false
   print_empty_dimensions        = false
-  treat_neg_dim_as_zero         = true
   warn_function_name_clash      = false
   whitespace_in_literal_matrix  = "traditional"
 @end group
--- a/doc/interpreter/matrix.txi
+++ b/doc/interpreter/matrix.txi
@@ -190,7 +190,7 @@
 
 @DOCSTRING(logspace)
 
-@DOCSTRING(treat_neg_dim_as_zero)
+@DOCSTRING(warn_neg_dim_as_zero)
 
 @DOCSTRING(warn_imag_to_real)
 
--- a/doc/interpreter/var.txi
+++ b/doc/interpreter/var.txi
@@ -376,11 +376,6 @@
 
 Default value: 1.
 
-@item treat_neg_dim_as_zero
-@xref{Special Utility Matrices}.
-
-Default value: 0.
-
 @item warn_assign_as_truth_value
 @xref{The if Statement}.
 
@@ -416,6 +411,11 @@
 
 Default value: 0.
 
+@item warn_neg_dim_as_zero
+@xref{Special Utility Matrices}.
+
+Default value: 0.
+
 @item warn_num_to_str
 @xref{String Conversions}.
 
--- a/emacs/octave-mod.el
+++ b/emacs/octave-mod.el
@@ -156,11 +156,11 @@
     "sighup_dumps_octave_core" "sigterm_dumps_octave_core"
     "silent_functions" "split_long_rows" "stderr" "stdin" "stdout"
     "string_fill_char" "struct_levels_to_print"
-    "suppress_verbose_help_message" "treat_neg_dim_as_zero"
-    "warn_assign_as_truth_value" "warn_comma_in_global_decl"
-    "warn_divide_by_zero" "warn_fortran_indexing" "warn_function_name_clash"
-    "warn_imag_to_real" "warn_missing_semicolon"
-     "warn_num_to_str" "warn_str_to_num" "whitespace_in_literal_matrix")
+    "suppress_verbose_help_message" "warn_assign_as_truth_value"
+    "warn_comma_in_global_decl" "warn_divide_by_zero"
+    "warn_fortran_indexing" "warn_function_name_clash"
+    "warn_imag_to_real" "warn_missing_semicolon" "warn_neg_dim_as_zero"
+    "warn_num_to_str" "warn_str_to_num" "whitespace_in_literal_matrix")
   "Builtin variables in Octave.")
 
 (defvar octave-function-header-regexp
--- a/scripts/ChangeLog
+++ b/scripts/ChangeLog
@@ -1,3 +1,11 @@
+2003-07-10  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* miscellaneous/dump_prefs.m: Include warn_neg_dim_as_zero in the
+	list.
+	Delete treat_neg_dim_as_zero from the list.
+
+	* strings/blanks.m: Don't check treat_neg_dim_as_zero.
+
 2003-07-09  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* general/reshape.m: Omit do_fortran_indexing from doc string (it
--- a/scripts/miscellaneous/dump_prefs.m
+++ b/scripts/miscellaneous/dump_prefs.m
@@ -94,7 +94,6 @@
               "string_fill_char";
               "struct_levels_to_print";
               "suppress_verbose_help_message";
-              "treat_neg_dim_as_zero";
               "warn_assign_as_truth_value";
               "warn_divide_by_zero";
               "warn_fortran_indexing";
@@ -102,6 +101,7 @@
               "warn_future_time_stamp";
               "warn_imag_to_real";
               "warn_missing_semicolon";
+              "warn_neg_dim_as_zero";
               "warn_num_to_str";
               "warn_str_to_num";
               "warn_variable_switch_label";
--- a/scripts/strings/blanks.m
+++ b/scripts/strings/blanks.m
@@ -31,7 +31,7 @@
     usage ("blanks (n)");
   endif
 
-  if (isscalar (n) && n == round (n) && (treat_neg_dim_as_zero || n >= 0))
+  if (isscalar (n) && n == round (n))
     s = setstr (ones (1, n) * toascii (" "));
   else
     error ("blanks: n must be a non-negative integer");
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,28 @@
+2003-07-10  John W. Eaton  <jwe@bevo.che.wisc.edu>
+
+	* strfns.cc (Fchar): Force string conversions without warnings.
+
+	* ov.h (octave_value::convert_to_str, octave_value::all_strings,
+	octave_value::string_value, octave_value:convert_to_str_internal):
+	New arg, force.  Fix all derived classes to match.
+
+	* strfns.cc (Fchar): Temporarily reset Vwarn_num_to_str to avoid
+	warnings.
+
+	* ov.cc (convert_to_str): New arg, force.
+
+	* octave.cc (maximum_braindamage): Don't set treat_neg_dim_as_zero.
+
+	* utils.cc (Vwarn_neg_dim_as_zero): New variable.
+	(warn_neg_dim_as_zero): New function.
+	(symbols_of_utils): Add DEFVAR for warn_neg_dim_as_zero.
+	(check_dimensions): Check Vwarn_neg_dim_as_zero, not
+	Vtreat_neg_dim_as_zero.
+
+	* utils.cc (Vtreat_neg_dim_as_zero): Delete.
+	(treat_neg_dim_as_zero): Delete.
+	(symbols_of_utils): Delete DEFVAR for treat_neg_dim_as_zero.
+
 2003-07-09  John W. Eaton  <jwe@bevo.che.wisc.edu>
 
 	* octave.cc (maximum_braindamage): Don't set prefer_column_vectors.
--- a/src/octave.cc
+++ b/src/octave.cc
@@ -354,7 +354,6 @@
   bind_builtin_variable ("initialize_global_variables", true);
   bind_builtin_variable ("page_screen_output", false);
   bind_builtin_variable ("print_empty_dimensions", false);
-  bind_builtin_variable ("treat_neg_dim_as_zero", true);
   bind_builtin_variable ("warn_function_name_clash", false);
   bind_builtin_variable ("whitespace_in_literal_matrix", "traditional");
 }
--- a/src/ov-base.cc
+++ b/src/ov-base.cc
@@ -166,7 +166,7 @@
 }
 
 octave_value
-octave_base_value::convert_to_str_internal (bool) const
+octave_base_value::convert_to_str_internal (bool, bool) const
 {
   gripe_wrong_type_arg ("octave_base_value::convert_to_str_internal ()",
 			type_name ());
@@ -323,11 +323,11 @@
 }
 
 string_vector
-octave_base_value::all_strings (bool pad) const
+octave_base_value::all_strings (bool pad, bool force) const
 {
   string_vector retval;
 
-  octave_value tmp = convert_to_str (pad);
+  octave_value tmp = convert_to_str (pad, force);
 
   if (! error_state)
     retval = tmp.all_strings ();
@@ -336,11 +336,11 @@
 }
 
 std::string
-octave_base_value::string_value (void) const
+octave_base_value::string_value (bool force) const
 {
   std::string retval;
 
-  octave_value tmp = convert_to_str ();
+  octave_value tmp = convert_to_str (force);
 
   if (! error_state)
     retval = tmp.string_value ();
--- a/src/ov-base.h
+++ b/src/ov-base.h
@@ -195,9 +195,9 @@
 
   charMatrix char_matrix_value (bool = false) const;
 
-  string_vector all_strings (bool pad = false) const;
+  string_vector all_strings (bool pad = false, bool force = false) const;
 
-  std::string string_value (void) const;
+  std::string string_value (bool force = false) const;
 
   Range range_value (void) const;
 
@@ -219,7 +219,7 @@
 
   boolMatrix bool_matrix_value (void) const;
 
-  octave_value convert_to_str_internal (bool pad = false) const;
+  octave_value convert_to_str_internal (bool pad, bool force) const;
 
   void convert_to_row_or_column_vector (void);
 
--- a/src/ov-bool-mat.cc
+++ b/src/ov-bool-mat.cc
@@ -127,6 +127,13 @@
   return retval;
 }
 
+octave_value
+octave_bool_matrix::convert_to_str_internal (bool pad, bool force) const
+{
+  octave_value tmp = octave_value (matrix_value ());
+  return tmp.convert_to_str (pad, force);
+}
+
 /*
 ;;; Local Variables: ***
 ;;; mode: C++ ***
--- a/src/ov-bool-mat.h
+++ b/src/ov-bool-mat.h
@@ -98,8 +98,7 @@
   boolMatrix bool_matrix_value (void) const
     { return matrix; }
 
-  octave_value convert_to_str_internal (bool = false) const
-    { return octave_value (matrix); }
+  octave_value convert_to_str_internal (bool pad, bool force) const;
 
 protected:
 
--- a/src/ov-bool.cc
+++ b/src/ov-bool.cc
@@ -103,7 +103,7 @@
 }
 
 octave_value
-octave_bool::convert_to_str_internal (bool) const
+octave_bool::convert_to_str_internal (bool, bool) const
 {
   char s[2];
   s[0] = static_cast<char> (scalar);
--- a/src/ov-bool.h
+++ b/src/ov-bool.h
@@ -102,7 +102,7 @@
   boolMatrix bool_matrix_value (void) const
     { return boolMatrix (1, 1, scalar); }
 
-  octave_value convert_to_str_internal (bool pad = false) const;
+  octave_value convert_to_str_internal (bool pad, bool force) const;
 
 private:
 
--- a/src/ov-cell.cc
+++ b/src/ov-cell.cc
@@ -256,7 +256,7 @@
 }
 
 string_vector
-octave_cell::all_strings (bool pad) const
+octave_cell::all_strings (bool pad, bool) const
 {
   string_vector retval;
 
--- a/src/ov-cell.h
+++ b/src/ov-cell.h
@@ -98,10 +98,10 @@
 
   octave_value_list list_value (void) const;
 
-  octave_value convert_to_str_internal (bool pad = false) const
-    { return all_strings (pad); }
+  octave_value convert_to_str_internal (bool pad, bool force) const
+    { return all_strings (pad, force); }
 
-  string_vector all_strings (bool pad = false) const;
+  string_vector all_strings (bool pad = false, bool force = false) const;
 
   void print (std::ostream& os, bool pr_as_read_syntax = false) const;
 
--- a/src/ov-ch-mat.h
+++ b/src/ov-ch-mat.h
@@ -101,7 +101,7 @@
   charMatrix char_matrix_value (bool = false) const
     { return matrix; }
 
-  octave_value convert_to_str_internal (bool = false) const
+  octave_value convert_to_str_internal (bool, bool) const
     { return octave_value (matrix, true); }
 
 protected:
--- a/src/ov-range.cc
+++ b/src/ov-range.cc
@@ -217,10 +217,10 @@
 }
 
 octave_value
-octave_range::convert_to_str_internal (bool pad) const
+octave_range::convert_to_str_internal (bool pad, bool force) const
 {
   octave_value tmp (range.matrix_value ());
-  return tmp.convert_to_str (pad);
+  return tmp.convert_to_str (pad, force);
 }
 
 void
--- a/src/ov-range.h
+++ b/src/ov-range.h
@@ -154,7 +154,7 @@
 
   Range range_value (void) const { return range; }
 
-  octave_value convert_to_str_internal (bool pad = false) const;
+  octave_value convert_to_str_internal (bool pad, bool force) const;
 
   void print (std::ostream& os, bool pr_as_read_syntax = false) const;
 
--- a/src/ov-re-mat.cc
+++ b/src/ov-re-mat.cc
@@ -123,7 +123,7 @@
 }
 
 octave_value
-octave_matrix::convert_to_str_internal (bool) const
+octave_matrix::convert_to_str_internal (bool, bool) const
 {
   octave_value retval;
 
--- a/src/ov-re-mat.h
+++ b/src/ov-re-mat.h
@@ -102,7 +102,7 @@
 
   void decrement (void) { matrix -= 1.0; }
 
-  octave_value convert_to_str_internal (bool pad = false) const;
+  octave_value convert_to_str_internal (bool pad, bool force) const;
 
 private:
 
--- a/src/ov-scalar.cc
+++ b/src/ov-scalar.cc
@@ -77,7 +77,7 @@
 }
 
 octave_value
-octave_scalar::convert_to_str_internal (bool) const
+octave_scalar::convert_to_str_internal (bool, bool) const
 {
   octave_value retval;
 
--- a/src/ov-scalar.h
+++ b/src/ov-scalar.h
@@ -94,7 +94,7 @@
   ComplexMatrix complex_matrix_value (bool = false) const
     { return  ComplexMatrix (1, 1, Complex (scalar)); }
 
-  octave_value convert_to_str_internal (bool pad = false) const;
+  octave_value convert_to_str_internal (bool pad, bool force) const;
 
   void increment (void) { ++scalar; }
 
--- a/src/ov-str-mat.cc
+++ b/src/ov-str-mat.cc
@@ -161,7 +161,7 @@
 }
 
 string_vector
-octave_char_matrix_str::all_strings (bool) const
+octave_char_matrix_str::all_strings (bool, bool) const
 {
   int n = matrix.rows ();
 
@@ -174,7 +174,7 @@
 }
 
 std::string
-octave_char_matrix_str::string_value (void) const
+octave_char_matrix_str::string_value (bool) const
 {
   return matrix.row_as_string (0);  // XXX FIXME??? XXX
 }
--- a/src/ov-str-mat.h
+++ b/src/ov-str-mat.h
@@ -100,9 +100,9 @@
 
   Matrix matrix_value (bool = false) const;
 
-  string_vector all_strings (bool pad = false) const;
+  string_vector all_strings (bool pad = false, bool force = false) const;
 
-  std::string string_value (void) const;
+  std::string string_value (bool force = false) const;
 
   bool print_as_scalar (void) const { return (rows () <= 1); }
 
--- a/src/ov.cc
+++ b/src/ov.cc
@@ -1128,11 +1128,11 @@
 }
 
 octave_value
-octave_value::convert_to_str (bool pad) const
+octave_value::convert_to_str (bool pad, bool force) const
 {
-  octave_value retval = convert_to_str_internal (pad);
+  octave_value retval = convert_to_str_internal (pad, force);
 
-  if (is_numeric_type () && Vwarn_num_to_str)
+  if (! force && is_numeric_type () && Vwarn_num_to_str)
     gripe_implicit_conversion (type_name (), retval.type_name ());
 
   return retval;
--- a/src/ov.h
+++ b/src/ov.h
@@ -478,10 +478,11 @@
   virtual charMatrix char_matrix_value (bool frc_str_conv = false) const
     { return rep->char_matrix_value (frc_str_conv); }
 
-  virtual string_vector all_strings (bool pad = false) const
+  virtual string_vector all_strings (bool pad = false,
+				     bool force = false) const
     { return rep->all_strings (pad); }
 
-  virtual std::string string_value (void) const
+  virtual std::string string_value (bool force = false) const
     { return rep->string_value (); }
 
   virtual Range range_value (void) const
@@ -536,10 +537,10 @@
   // class wants a certain kind of constant, he should simply ask for
   // it, and we should convert it if possible.
 
-  octave_value convert_to_str (bool pad = false) const;
+  octave_value convert_to_str (bool pad = false, bool force = false) const;
 
-  virtual octave_value convert_to_str_internal (bool pad = false) const
-    { return rep->convert_to_str_internal (pad); }
+  virtual octave_value convert_to_str_internal (bool pad, bool force) const
+    { return rep->convert_to_str_internal (pad, force); }
 
   virtual void convert_to_row_or_column_vector (void)
     { rep->convert_to_row_or_column_vector (); }
@@ -547,7 +548,8 @@
   virtual void print (std::ostream& os, bool pr_as_read_syntax = false) const
     { rep->print (os, pr_as_read_syntax); }
 
-  virtual void print_raw (std::ostream& os, bool pr_as_read_syntax = false) const
+  virtual void print_raw (std::ostream& os,
+			  bool pr_as_read_syntax = false) const
     { rep->print_raw (os, pr_as_read_syntax); }
 
   virtual bool print_name_tag (std::ostream& os, const std::string& name) const
--- a/src/strfns.cc
+++ b/src/strfns.cc
@@ -33,6 +33,7 @@
 #include "gripes.h"
 #include "ov.h"
 #include "oct-obj.h"
+#include "unwind-prot.h"
 #include "utils.h"
 
 DEFUN (char, args, ,
@@ -67,7 +68,7 @@
   int nargin = args.length ();
 
   if (nargin == 1)
-    retval = args(0).convert_to_str (true);
+    retval = args(0).convert_to_str (true, true);
   else if (nargin > 1)
     {
       int n_elts = 0;
@@ -76,11 +77,11 @@
 
       for (int i = 0; i < nargin; i++)
 	{
-	  string_vector s = args(i).all_strings ();
+	  string_vector s = args(i).all_strings (false, true);
 
 	  if (error_state)
 	    {
-	      error ("char: expecting arguments to be strings");
+	      error ("char: unable to convert some args to strings");
 	      return retval;
 	    }
 
@@ -98,7 +99,7 @@
 
       for (int i = 0; i < nargin; i++)
 	{
-	  string_vector s = args(i).all_strings ();
+	  string_vector s = args(i).all_strings (false, true);
 
 	  int n = s.length ();
 
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -71,11 +71,11 @@
 #include "utils.h"
 #include "variables.h"
 
-// Should expressions like ones (-1, 5) result in an empty matrix or
-// an error?  A positive value means yes.  A negative value means
-// yes, but print a warning message.  Zero means it should be
-// considered an error.
-static int Vtreat_neg_dim_as_zero;
+// If TRUE, print a warning for expressions like
+//
+//   ones (-1, 5)
+//
+static int Vwarn_neg_dim_as_zero;
 
 // Return TRUE if S is a valid identifier.
 
@@ -777,18 +777,11 @@
 {
   if (nr < 0 || nc < 0)
     {
-      if (Vtreat_neg_dim_as_zero)
-	{
-	  nr = (nr < 0) ? 0 : nr;
-	  nc = (nc < 0) ? 0 : nc;
+      if (Vwarn_neg_dim_as_zero)
+	warning ("%s: converting negative dimension to zero", warnfor);
 
-	  if (Vtreat_neg_dim_as_zero < 0)
-	    warning ("%s: converting negative dimension to zero",
-		     warnfor);
-	}
-      else
-	error ("%s: can't create a matrix with negative dimensions",
-	       warnfor);
+      nr = (nr < 0) ? 0 : nr;
+      nc = (nc < 0) ? 0 : nc;
     }
 }
 
@@ -1012,9 +1005,9 @@
 }
 
 static int
-treat_neg_dim_as_zero (void)
+warn_neg_dim_as_zero (void)
 {
-  Vtreat_neg_dim_as_zero = check_preference ("treat_neg_dim_as_zero");
+  Vwarn_neg_dim_as_zero = check_preference ("warn_neg_dim_as_zero");
 
   return 0;
 }
@@ -1022,20 +1015,18 @@
 void
 symbols_of_utils (void)
 {
-  DEFVAR (treat_neg_dim_as_zero, false, treat_neg_dim_as_zero,
+  DEFVAR (warn_neg_dim_as_zero, false, warn_neg_dim_as_zero,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} treat_neg_dim_as_zero\n\
-If the value of @code{treat_neg_dim_as_zero} is nonzero, expressions\n\
-like\n\
+@defvr {Built-in Variable} warn_neg_dim_as_zero\n\
+If the value of @code{warn_neg_dim_as_zero} is nonzero, print a warning\n\
+for expressions like\n\
 \n\
 @example\n\
 eye (-1)\n\
 @end example\n\
 \n\
 @noindent\n\
-produce an empty matrix (i.e., row and column dimensions are zero).\n\
-Otherwise, an error message is printed and control is returned to the\n\
-top level.  The default value is 0.\n\
+The default value is 0.\n\
 @end defvr");
 }
 
--- a/test/octave.test/arith/arith.exp
+++ b/test/octave.test/arith/arith.exp
@@ -9,19 +9,19 @@
 # duplication_matrix
 
 set test beta-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test beta-1.m
 
 set test beta-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test beta-2.m
 
 set test beta-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test beta-3.m
 
 set test betainc-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test betainc-1.m
 
 set test betainc-2
@@ -37,131 +37,131 @@
 do_test betainc-4.m
 
 set test ceil-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ceil-1.m
 
 set test ceil-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ceil-2.m
 
 set test ceil-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ceil-3.m
 
 set test ceil-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ceil-4.m
 
 set test erf-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test erf-1.m
 
 set test erf-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test erf-2.m
 
 set test erf-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test erf-3.m
 
 set test exp-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test exp-1.m
 
 set test exp-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test exp-2.m
 
 set test exp-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test exp-3.m
 
 set test exp-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test exp-4.m
 
 set test exp-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test exp-5.m
 
 set test fix-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fix-1.m
 
 set test fix-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fix-2.m
 
 set test fix-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fix-3.m
 
 set test fix-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fix-4.m
 
 set test floor-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test floor-1.m
 
 set test floor-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test floor-2.m
 
 set test floor-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test floor-3.m
 
 set test floor-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test floor-4.m
 
 set test gamma-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test gamma-1.m
 
 set test gamma-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test gamma-2.m
 
 set test gamma-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test gamma-3.m
 
 set test gammainc-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test gammainc-1.m
 
 set test gcd-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test gcd-1.m
 
 set test gcd-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test gcd-2.m
 
 set test gcd-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test gcd-3.m
 
 set test lcm-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lcm-1.m
 
 set test lcm-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test lcm-2.m
 
 set test lcm-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test lcm-3.m
 
 set test max-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test max-1.m
 
 set test max-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test max-2.m
 
 set test max-3
@@ -173,11 +173,11 @@
 do_test max-4.m
 
 set test min-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test min-1.m
 
 set test min-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test min-2.m
 
 set test min-3
@@ -189,511 +189,511 @@
 do_test min-4.m
 
 set test pow2-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test pow2-1.m
 
 set test pow2-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test pow2-2.m
 
 set test pow2-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test pow2-3.m
 
 set test rem-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test rem-1.m
 
 set test rem-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test rem-2.m
 
 set test rem-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test rem-3.m
 
 set test rem-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test rem-4.m
 
 set test rem-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test rem-5.m
 
 set test rem-6
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test rem-6.m
 
 set test round-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test round-1.m
 
 set test round-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test round-2.m
 
 set test round-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test round-3.m
 
 set test round-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test round-4.m
 
 set test sign-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sign-1.m
 
 set test sign-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sign-2.m
 
 set test sign-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sign-3.m
 
 set test sign-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sign-4.m
 
 set test sqrt-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sqrt-1.m
 
 set test sqrt-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sqrt-2.m
 
 set test sqrt-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sqrt-3.m
 
 set test sqrt-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sqrt-4.m
 
 set test abs-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test abs-1.m
 
 set test abs-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test abs-2.m
 
 set test abs-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test abs-3.m
 
 set test abs-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test abs-4.m
 
 set test xor-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test xor-1.m
 
 set test xor-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test xor-2.m
 
 set test xor-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test xor-3.m
 
 set test xor-4
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test xor-4.m
 
 set test arg-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test arg-1.m
 
 set test arg-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test arg-2.m
 
 set test arg-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test arg-3.m
 
 set test arg-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test arg-4.m
 
 set test conj-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test conj-1.m
 
 set test conj-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test conj-2.m
 
 set test conj-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test conj-3.m
 
 set test conj-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test conj-4.m
 
 set test imag-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test imag-1.m
 
 set test imag-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test imag-2.m
 
 set test imag-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test imag-3.m
 
 set test imag-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test imag-4.m
 
 set test real-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test real-1.m
 
 set test real-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test real-2.m
 
 set test real-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test real-3.m
 
 set test real-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test real-4.m
 
 set test log-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test log-1.m
 
 set test log-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test log-2.m
 
 set test log-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test log-3.m
 
 set test log10-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test log10-1.m
 
 set test log10-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test log10-2.m
 
 set test log10-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test log10-3.m
 
 set test log2-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test log2-1.m
 
 set test log2-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test log2-2.m
 
 set test log2-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test log2-3.m
 
 set test sin-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sin-1.m
 
 set test sin-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sin-2.m
 
 set test sin-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sin-3.m
 
 set test cos-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cos-1.m
 
 set test cos-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test cos-2.m
 
 set test cos-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test cos-3.m
 
 set test tan-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tan-1.m
 
 set test tan-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test tan-2.m
 
 set test tan-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test tan-3.m
 
 set test sec-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sec-1.m
 
 set test sec-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test sec-2.m
 
 set test sec-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test sec-3.m
 
 set test csc-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test csc-1.m
 
 set test csc-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test csc-2.m
 
 set test csc-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test csc-3.m
 
 set test cot-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cot-1.m
 
 set test cot-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test cot-2.m
 
 set test cot-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test cot-3.m
 
 set test asin-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test asin-1.m
 
 set test asin-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test asin-2.m
 
 set test asin-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test asin-3.m
 
 set test acos-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test acos-1.m
 
 set test acos-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test acos-2.m
 
 set test acos-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test acos-3.m
 
 set test atan-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test atan-1.m
 
 set test atan-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test atan-2.m
 
 set test atan-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test atan-3.m
 
 set test asec-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test asec-1.m
 
 set test asec-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test asec-2.m
 
 set test asec-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test asec-3.m
 
 set test acsc-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test acsc-1.m
 
 set test acsc-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acsc-2.m
 
 set test acsc-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acsc-3.m
 
 set test acot-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test acot-1.m
 
 set test acot-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acot-2.m
 
 set test acot-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acot-3.m
 
 set test sinh-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sinh-1.m
 
 set test sinh-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sinh-2.m
 
 set test sinh-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sinh-3.m
 
 set test cosh-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cosh-1.m
 
 set test cosh-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test cosh-2.m
 
 set test cosh-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test cosh-3.m
 
 set test tanh-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tanh-1.m
 
 set test tanh-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test tanh-2.m
 
 set test tanh-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test tanh-3.m
 
 set test sech-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sech-1.m
 
 set test sech-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test sech-2.m
 
 set test sech-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test sech-3.m
 
 set test csch-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test csch-1.m
 
 set test csch-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test csch-2.m
 
 set test csch-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test csch-3.m
 
 set test coth-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test coth-1.m
 
 set test coth-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test coth-2.m
 
 set test coth-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test coth-3.m
 
 set test asinh-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test asinh-1.m
 
 set test asinh-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test asinh-2.m
 
 set test asinh-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test asinh-3.m
 
 set test acosh-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test acosh-1.m
 
 set test acosh-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test acosh-2.m
 
 set test acosh-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test acosh-3.m
 
 set test atanh-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test atanh-1.m
 
 set test atanh-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test atanh-2.m
 
 set test atanh-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test atanh-3.m
 
 set test asech-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test asech-1.m
 
 set test asech-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test asech-2.m
 
 set test asech-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test asech-3.m
 
 set test acsch-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test acsch-1.m
 
 set test acsch-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acsch-2.m
 
 set test acsch-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acsch-3.m
 
 set test acoth-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test acoth-1.m
 
 set test acoth-2
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acoth-2.m
 
 set test acoth-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test acoth-3.m
 
 set test atan2-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test atan2-1.m
 
 set test atan2-2
@@ -705,11 +705,11 @@
 do_test atan2-3.m
 
 set test sum-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sum-1.m
 
 set test sum-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sum-2.m
 
 set test sum-3
@@ -717,15 +717,15 @@
 do_test sum-3.m
 
 set test sum-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sum-4.m
 
 set test prod-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prod-1.m
 
 set test prod-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prod-2.m
 
 set test prod-3
@@ -733,15 +733,15 @@
 do_test prod-3.m
 
 set test prod-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prod-4.m
 
 set test cumsum-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cumsum-1.m
 
 set test cumsum-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cumsum-2.m
 
 set test cumsum-3
@@ -749,15 +749,15 @@
 do_test cumsum-3.m
 
 set test cumsum-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cumsum-4.m
 
 set test cumprod-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cumprod-1.m
 
 set test cumprod-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cumprod-2.m
 
 set test cumprod-3
@@ -765,15 +765,15 @@
 do_test cumprod-3.m
 
 set test cumprod-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cumprod-4.m
 
 set test sumsq-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sumsq-1.m
 
 set test sumsq-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sumsq-2.m
 
 set test sumsq-3
@@ -781,17 +781,17 @@
 do_test sumsq-3.m
 
 set test sumsq-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sumsq-4.m
 
 set test bincoeff-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test bincoeff-1.m
 
 set test bincoeff-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test bincoeff-2.m
 
 set test bincoeff-3
-set prog_output "usage.*"
+set prog_output "^usage.*"
 do_test bincoeff-3.m
--- a/test/octave.test/contin/contin.exp
+++ b/test/octave.test/contin/contin.exp
@@ -3,11 +3,11 @@
 do_test contin-1.m
 
 set test contin-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-2.m
 
 set test contin-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-3.m
 
 set test contin-4
@@ -15,49 +15,49 @@
 do_test contin-4.m
 
 set test contin-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-5.m
 
 set test contin-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-6.m
 
 set test contin-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-7.m
 
 set test contin-8
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-8.m
 
 set test contin-9
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-9.m
 
 set test contin-10
-set prog_output "ans = 6"
+set prog_output "^ans = 6"
 do_test contin-10.m
 
 set test contin-11
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-11.m
 
 set test contin-12
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-12.m
 
 set test contin-13
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-13.m
 
 set test contin-14
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-14.m
 
 set test contin-15
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-15.m
 
 set test contin-16
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test contin-16.m
--- a/test/octave.test/diffeq/diffeq.exp
+++ b/test/octave.test/diffeq/diffeq.exp
@@ -3,19 +3,19 @@
 # lsode
 
 set test lsode-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lsode-1.m
 
 set test lsode-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lsode-2.m
 
 set test lsode-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lsode-3.m
 
 set test lsode_options-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lsode_options-1.m
 
 set test lsode_options-2
@@ -29,15 +29,15 @@
 # dassl
 
 set test dassl-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test dassl-1.m
 
 set test dassl-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test dassl-2.m
 
 set test dassl_options-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test dassl_options-1.m
 
 set test dassl_options-2
--- a/test/octave.test/error/error.exp
+++ b/test/octave.test/error/error.exp
@@ -1,44 +1,44 @@
 set test error-1
-set prog_output "error: foo\nerror: called from `g'\nerror: called from `f'"
+set prog_output "^error: foo\nerror: called from `g'\nerror: called from `f'"
 do_test error-1.m
 
 set test error-2
-set prog_output "error: foo"
+set prog_output "^error: foo"
 do_test error-2.m
 
 set test error-3
-set prog_output "error: unspecified error"
+set prog_output "^error: unspecified error"
 do_test error-3.m
 
 set test error-4
-set prog_output "error: foo"
+set prog_output "^error: foo"
 do_test error-4.m
 
 set test warning-1
-set prog_output "warning: foo"
+set prog_output "^warning:.*warning: foo"
 do_test warning-1.m
 
 set test warning-2
-set prog_output "ans = backtrace"
+set prog_output "^ans = backtrace"
 do_test warning-2.m
 
 set test warning-3
-set prog_output "warning: foo"
+set prog_output "^warning: foo"
 do_test warning-3.m
 
 set test usage-1
-set prog_output "usage: foo\nerror: called from `g'\nerror: called from `f'"
+set prog_output "^usage: foo\nerror: called from `g'\nerror: called from `f'"
 do_test usage-1.m
 
 set test usage-2
-set prog_output "usage: foo"
+set prog_output "^usage: foo"
 do_test usage-2.m
 
 set test usage-3
-set prog_output "usage: unknown"
+set prog_output "^usage: unknown"
 do_test usage-3.m
 
 set test usage-4
-set prog_output "usage: foo"
+set prog_output "^usage: foo"
 do_test usage-4.m
 
--- a/test/octave.test/eval-catch/eval-catch.exp
+++ b/test/octave.test/eval-catch/eval-catch.exp
@@ -10,12 +10,12 @@
 
 ## suppress error; do not execute code after error
 set test eval-catch-3
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test eval-catch-3.m
 
 ## execute catch clause
 set test eval-catch-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eval-catch-4.m
 
 ## define __error_text__ *only* within catch-string
@@ -30,7 +30,7 @@
 
 ## pass __error_text__ to user-defined subroutine
 set test eval-catch-7
-set prog_output "ans = <`a' undefined.*\n>"
+set prog_output "^ans = <`a' undefined.*\n>"
 do_test eval-catch-7.m
 
 ## handle nested eval: eval in try-string
--- a/test/octave.test/eval/eval.exp
+++ b/test/octave.test/eval/eval.exp
@@ -3,7 +3,7 @@
 do_test eval-1.m
 
 set test eval-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eval-2.m
 
 set test eval-3
@@ -19,7 +19,7 @@
 do_test eval-5.m
 
 set test eval-6
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test eval-6.m
 
 set test eval-7
@@ -27,7 +27,7 @@
 do_test eval-7.m
 
 set test eval-8
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eval-8.m
 
 set test eval-9
@@ -35,6 +35,6 @@
 do_test eval-9.m
 
 set test eval-10
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eval-10.m
 
--- a/test/octave.test/global/global.exp
+++ b/test/octave.test/global/global.exp
@@ -7,7 +7,7 @@
 do_test global-2.m
 
 set test global-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test global-3.m
 
 set test global-4
@@ -15,7 +15,7 @@
 do_test global-4.m
 
 set test global-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test global-5.m
 
 set test global-6
@@ -23,7 +23,7 @@
 do_test global-6.m
 
 set test global-7
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test global-7.m
 
 set test global-8
--- a/test/octave.test/index-wfi-f/index.exp
+++ b/test/octave.test/index-wfi-f/index.exp
@@ -3,161 +3,161 @@
 ## scalar tests
 
 set test index-s-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-1.m
 
 set test index-s-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-2.m
 
 set test index-s-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-3.m
 
 set test index-s-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-4.m
 
 set test index-s-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-5.m
 
 set test index-s-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-6.m
 
 set test index-s-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-7.m
 
 set test index-s-8
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-8.m
 
 set test index-s-9
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-9.m
 
 set test index-s-10
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-10.m
 
 set test index-s-11
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-11.m
 
 set test index-s-12
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-12.m
 
 set test index-s-13
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-13.m
 
 set test index-s-14
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-14.m
 
 set test index-s-15
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-15.m
 
 set test index-s-16
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-16.m
 
 set test index-s-17
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-17.m
 
 set test index-s-18
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-18.m
 
 set test index-s-19
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-19.m
 
 set test index-s-20
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-20.m
 
 ## vector tests
 
 set test index-v-1
-set prog_output "ans = 4"
+set prog_output "^ans = 4"
 do_test v-1.m
 
 set test index-v-2
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test v-2.m
 
 set test index-v-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-3.m
 
 set test index-v-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-4.m
 
 set test index-v-5
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test v-5.m
 
 set test index-v-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-6.m
 
 set test index-v-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-7.m
 
 set test index-v-8
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-8.m
 
 set test index-v-9
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-9.m
 
 set test index-v-10
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-10.m
 
 set test index-v-11
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-11.m
 
 set test index-v-12
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-12.m
 
 set test index-v-13
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-13.m
 
 set test index-v-14
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-14.m
 
 set test index-v-15
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-15.m
 
 ## matrix tests
 
 set test index-m-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test m-1.m
 
 set test index-m-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test m-2.m
 
 set test index-m-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test m-3.m
 
 set test index-m-4
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test m-4.m
--- a/test/octave.test/index-wfi-t/index.exp
+++ b/test/octave.test/index-wfi-t/index.exp
@@ -3,161 +3,161 @@
 ## scalar tests
 
 set test index-s-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-1.m
 
 set test index-s-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-2.m
 
 set test index-s-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-3.m
 
 set test index-s-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-4.m
 
 set test index-s-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-5.m
 
 set test index-s-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-6.m
 
 set test index-s-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test s-7.m
 
 set test index-s-8
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-8.m
 
 set test index-s-9
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-9.m
 
 set test index-s-10
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-10.m
 
 set test index-s-11
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-11.m
 
 set test index-s-12
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-12.m
 
 set test index-s-13
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-13.m
 
 set test index-s-14
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-14.m
 
 set test index-s-15
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-15.m
 
 set test index-s-16
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-16.m
 
 set test index-s-17
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-17.m
 
 set test index-s-18
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-18.m
 
 set test index-s-19
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-19.m
 
 set test index-s-20
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test s-20.m
 
 ## vector tests
 
 set test index-v-1
-set prog_output "ans = 4"
+set prog_output "^ans = 4"
 do_test v-1.m
 
 set test index-v-2
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test v-2.m
 
 set test index-v-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-3.m
 
 set test index-v-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-4.m
 
 set test index-v-5
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test v-5.m
 
 set test index-v-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-6.m
 
 set test index-v-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-7.m
 
 set test index-v-8
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-8.m
 
 set test index-v-9
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-9.m
 
 set test index-v-10
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-10.m
 
 set test index-v-11
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-11.m
 
 set test index-v-12
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test v-12.m
 
 set test index-v-13
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-13.m
 
 set test index-v-14
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-14.m
 
 set test index-v-15
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test v-15.m
 
 ## matrix tests
 
 set test index-m-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test m-1.m
 
 set test index-m-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test m-2.m
 
 set test index-m-3
-set prog_output "error:.*"
+set prog_output "^warning:.*"
 do_test m-3.m
 
 set test index-m-4
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test m-4.m
--- a/test/octave.test/infnan/infnan.exp
+++ b/test/octave.test/infnan/infnan.exp
@@ -1,35 +1,35 @@
 set test infnan-1
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test infnan-1.m
 
 set test infnan-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test infnan-2.m
 
 set test infnan-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test infnan-3.m
 
 set test infnan-4
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test infnan-4.m
 
 set test infnan-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test infnan-5.m
 
 set test infnan-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test infnan-6.m
 
 set test infnan-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test infnan-7.m
 
 set test infnan-8
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test infnan-8.m
 
 set test infnan-9
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test infnan-9.m
--- a/test/octave.test/io/io.exp
+++ b/test/octave.test/io/io.exp
@@ -15,19 +15,19 @@
 do_test puts-1.m
 
 set test puts-2
-set prog_output "ans = -1"
+set prog_output "^ans = -1"
 do_test puts-2.m
 
 set test puts-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test puts-3.m
 
 set test puts-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test puts-4.m
 
 set test sscanf-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sscanf-1.m
 
 set test sscanf-2
@@ -35,7 +35,7 @@
 do_test sscanf-2.m
 
 set test sscanf-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sscanf-3.m
 
 set test sscanf-4
@@ -43,7 +43,7 @@
 do_test sscanf-4.m
 
 set test sscanf-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sscanf-5.m
 
 set test printf-1
@@ -51,19 +51,19 @@
 do_test printf-1.m
 
 set test printf-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test printf-2.m
 
 set test printf-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test printf-3.m
 
 set test sprintf-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sprintf-1.m
 
 set test sprintf-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sprintf-2.m
 
 set test sprintf-3
@@ -71,19 +71,19 @@
 do_test sprintf-3.m
 
 set test fopen-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fopen-1.m
 
 set test fopen-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fopen-2.m
 
 set test fopen-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fopen-3.m
 
 set test fopen-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fopen-4.m
 
 set test fopen-5
@@ -95,7 +95,7 @@
 do_test fopen-6.m
 
 set test fclose-1
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fclose-1.m
 
 set test fclose-2
@@ -103,15 +103,15 @@
 do_test fclose-2.m
 
 set test tmpnam-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tmpnam-1.m
 
 set test tmpnam-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test tmpnam-2.m
 
 set test tmpnam-3
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test tmpnam-3.m
 
 set test tmpnam-4
@@ -139,7 +139,7 @@
 do_test fputs-2.m
 
 set test fputs-3
-set prog_output "ans = -1"
+set prog_output "^ans = -1"
 do_test fputs-3.m
 
 set test fgetl-1
@@ -151,7 +151,7 @@
 do_test fgetl-2.m
 
 set test fgetl-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fgetl-3.m
 
 set test fgets-1
@@ -163,7 +163,7 @@
 do_test fgets-2.m
 
 set test fgets-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fgets-3.m
 
 set test fprintf-1
@@ -179,11 +179,11 @@
 do_test fprintf-3.m
 
 set test fprintf-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fprintf-4.m
 
 set test fprintf-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fprintf-5.m
 
 set test fscanf-1
@@ -195,7 +195,7 @@
 do_test fscanf-2.m
 
 set test fscanf-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fscanf-3.m
 
 set test fread-1
@@ -207,7 +207,7 @@
 do_test fread-2.m
 
 set test fread-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fread-3.m
 
 set test fwrite-1
@@ -219,7 +219,7 @@
 do_test fwrite-2.m
 
 set test fwrite-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fwrite-3.m
 
 set test feof-1
@@ -231,7 +231,7 @@
 do_test feof-2.m
 
 set test feof-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test feof-3.m
 
 set test ferror-1
@@ -243,7 +243,7 @@
 do_test ferror-2.m
 
 set test ferror-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ferror-3.m
 
 set test ftell-1
@@ -255,7 +255,7 @@
 do_test ftell-2.m
 
 set test ftell-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ftell-3.m
 
 set test fseek-1
@@ -267,7 +267,7 @@
 do_test fseek-2.m
 
 set test fseek-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fseek-3.m
 
 set test frewind-1
@@ -279,5 +279,5 @@
 do_test frewind-2.m
 
 set test frewind-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test frewind-3.m
--- a/test/octave.test/io/sscanf-1.m
+++ b/test/octave.test/io/sscanf-1.m
@@ -1,6 +1,6 @@
 [a, b, c] = sscanf ("1.2 3 foo", "%f%d%s", "C");
-[v1, c1, m1] = sscanf ("1 2 3 4 5 6", "%d")
-[v2, c2, m2] = sscanf ("1 2 bar 3 4 5 6", "%d")
+[v1, c1, m1] = sscanf ("1 2 3 4 5 6", "%d");
+[v2, c2, m2] = sscanf ("1 2 bar 3 4 5 6", "%d");
 
 (a == 1.2 && b == 3 && c == "foo"
  && v1 == [1; 2; 3; 4; 5; 6] && c1 == 6 && isstr (m1)
--- a/test/octave.test/linalg/linalg.exp
+++ b/test/octave.test/linalg/linalg.exp
@@ -15,23 +15,23 @@
 # qzval
 
 set test cond-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cond-1.m
 
 set test cond-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cond-2.m
 
 set test cond-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test cond-3.m
 
 set test cond-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test cond-4.m
 
 set test det-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test det-1.m
 
 set test det-2
@@ -43,15 +43,15 @@
 do_test det-3.m
 
 set test det-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test det-4.m
 
 set test eig-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eig-1.m
 
 set test eig-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eig-2.m
 
 set test eig-3
@@ -63,11 +63,11 @@
 do_test eig-4.m
 
 set test eig-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test eig-5.m
 
 set test inv-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test inv-1.m
 
 set test inv-2
@@ -79,39 +79,39 @@
 do_test inv-3.m
 
 set test inv-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test inv-4.m
 
 set test trace-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test trace-1.m
 
 set test trace-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test trace-2.m
 
 set test trace-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test trace-3.m
 
 set test trace-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test trace-4.m
 
 set test trace-5
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test trace-5.m
 
 set test chol-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test chol-1.m
 
 set test chol-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test chol-2.m
 
 set test chol-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test chol-3.m
 
 set test chol-4
@@ -123,7 +123,7 @@
 do_test chol-5.m
 
 set test hess-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test hess-1.m
 
 set test hess-2
@@ -135,19 +135,19 @@
 do_test hess-3.m
 
 set test hess-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test hess-4.m
 
 set test lu-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lu-1.m
 
 set test lu-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lu-2.m
 
 set test lu-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lu-3.m
 
 set test lu-4
@@ -159,23 +159,23 @@
 do_test lu-5.m
 
 set test lu-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lu-6.m
 
 set test qr-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test qr-1.m
 
 set test qr-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test qr-2.m
 
 set test qr-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test qr-3.m
 
 set test qr-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test qr-4.m
 
 set test qr-5
@@ -187,11 +187,11 @@
 do_test qr-6.m
 
 set test qr-7
-set prog_output "ans = 1";
+set prog_output "^ans = 1";
 do_test qr-7.m
 
 set test schur-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test schur-1.m
 
 set test schur-2
@@ -199,35 +199,35 @@
 do_test schur-2.m
 
 set test schur-3
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test schur-3.m
 
 set test schur-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test schur-4.m
 
 set test svd-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test svd-1.m
 
 set test svd-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test svd-2.m
 
 set test svd-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test svd-3.m
 
 set test svd-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test svd-4.m
 
 set test svd-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test svd-5.m
 
 set test svd-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test svd-6.m
 
 set test svd-7
@@ -243,7 +243,7 @@
 do_test svd-9.m
 
 set test syl-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test syl-1.m
 
 set test syl-2
@@ -255,5 +255,5 @@
 do_test syl-3.m
 
 set test syl-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test syl-4.m
--- a/test/octave.test/linalg/lu-2.m
+++ b/test/octave.test/linalg/lu-2.m
@@ -1,3 +1,3 @@
-[l, u] = lu ([1, 2; 3, 4])
+[l, u] = lu ([1, 2; 3, 4]);
 ((abs (l - [1/3, 1; 1, 0]) < sqrt (eps))
  && abs (u - [3, 4; 0, 2/3]) < sqrt (eps))
--- a/test/octave.test/matrix/matrix.exp
+++ b/test/octave.test/matrix/matrix.exp
@@ -1,5 +1,5 @@
 set test all-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test all-1.m
 
 set test all-2
@@ -11,7 +11,7 @@
 do_test all-3.m
 
 set test any-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test any-1.m
 
 set test any-2
@@ -23,31 +23,31 @@
 do_test any-3.m
 
 set test diff-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test diff-1.m
 
 set test diff-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test diff-2.m
 
 set test diff-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test diff-3.m
 
 set test diff-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test diff-4.m
 
 set test diff-5
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test diff-5.m
 
 set test find-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test find-1.m
 
 set test find-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test find-2.m
 
 set test find-3
@@ -59,71 +59,71 @@
 do_test find-4.m
 
 set test fliplr-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fliplr-1.m
 
 set test fliplr-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test fliplr-2.m
 
 set test fliplr-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test fliplr-3.m
 
 set test flipud-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test flipud-1.m
 
 set test flipud-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test flipud-2.m
 
 set test flipud-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test flipud-3.m
 
 set test rot90-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test rot90-1.m
 
 set test rot90-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test rot90-2.m
 
 set test rot90-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test rot90-3.m
 
 set test reshape-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test reshape-1.m
 
 set test reshape-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test reshape-2.m
 
 set test reshape-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test reshape-3.m
 
 set test reshape-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test reshape-4.m
 
 set test shift-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test shift-1.m
 
 set test shift-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test shift-2.m
 
 set test shift-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test shift-3.m
 
 set test sort-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sort-1.m
 
 set test sort-2
@@ -135,55 +135,55 @@
 do_test sort-3.m
 
 set test tril-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tril-1.m
 
 set test tril-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test tril-2.m
 
 set test tril-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test tril-3.m
 
 set test triu-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test triu-1.m
 
 set test triu-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test triu-2.m
 
 set test triu-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test triu-3.m
 
 set test vec-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test vec-1.m
 
 set test vec-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test vec-2.m
 
 set test vec-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test vec-3.m
 
 set test vech-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test vech-1.m
 
 set test vech-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test vech-2.m
 
 set test vech-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test vech-3.m
 
 set test eye-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test eye-1.m
 
 set test eye-2
@@ -191,7 +191,7 @@
 do_test eye-2.m
 
 set test ones-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ones-1.m
 
 set test ones-2
@@ -199,7 +199,7 @@
 do_test ones-2.m
 
 set test zeros-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test zeros-1.m
 
 set test zeros-2
@@ -207,7 +207,7 @@
 do_test zeros-2.m
 
 set test rand-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test rand-1.m
 
 set test rand-2
@@ -215,7 +215,7 @@
 do_test rand-2.m
 
 set test randn-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test randn-1.m
 
 set test randn-2
@@ -223,7 +223,7 @@
 do_test randn-2.m
 
 set test diag-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test diag-1.m
 
 set test diag-2
@@ -235,11 +235,11 @@
 do_test diag-3.m
 
 set test linspace-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test linspace-1.m
 
 set test linspace-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test linspace-2.m
 
 set test linspace-3
@@ -251,113 +251,113 @@
 do_test linspace-4.m
 
 set test linspace-5
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test linspace-5.m
 
 set test logspace-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test logspace-1.m
 
 set test logspace-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test logspace-2.m
 
 set test logspace-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test logspace-3.m
 
 set test logspace-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test logspace-4.m
 
 set test sylvester_matrix-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test sylvester_matrix-1.m
 
 set test sylvester_matrix-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test sylvester_matrix-2.m
 
 set test sylvester_matrix-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test sylvester_matrix-3.m
 
 set test sylvester_matrix-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test sylvester_matrix-4.m
 
 set test hankel-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test hankel-1.m
 
 set test hankel-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test hankel-2.m
 
 set test hankel-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test hankel-3.m
 
 set test hankel-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test hankel-4.m
 
 set test hilb-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test hilb-1.m
 
 set test hilb-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test hilb-2.m
 
 set test hilb-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test hilb-3.m
 
 set test invhilb-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test invhilb-1.m
 
 set test invhilb-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test invhilb-2.m
 
 set test invhilb-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test invhilb-3.m
 
 set test invhilb-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test invhilb-4.m
 
 set test toeplitz-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test toeplitz-1.m
 
 set test toeplitz-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test toeplitz-2.m
 
 set test toeplitz-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test toeplitz-3.m
 
 set test toeplitz-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test toeplitz-4.m
 
 set test vander-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test vander-1.m
 
 set test vander-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test vander-2.m
 
 set test vander-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test vander-3.m
 
 set test vander-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test vander-4.m
--- a/test/octave.test/nonlin/nonlin.exp
+++ b/test/octave.test/nonlin/nonlin.exp
@@ -7,7 +7,7 @@
 do_test fsolve-2.m
 
 set test fsolve_options-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fsolve_options-1.m
 
 set test fsolve_options-2
--- a/test/octave.test/number/number.exp
+++ b/test/octave.test/number/number.exp
@@ -1,33 +1,33 @@
 set test ismatrix-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ismatrix-1.m
 
 set test ismatrix-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ismatrix-2.m
 
 set test ismatrix-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ismatrix-3.m
 
 set test ismatrix-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ismatrix-4.m
 
 set test ismatrix-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test ismatrix-5.m
 
 set test ismatrix-6
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test ismatrix-6.m
 
 set test ismatrix-7
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test ismatrix-7.m
 
 set test ismatrix-8
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test ismatrix-8.m
 
 set test ismatrix-9
@@ -39,169 +39,169 @@
 do_test ismatrix-10.m
 
 set test isvector-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isvector-1.m
 
 set test isvector-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isvector-2.m
 
 set test isvector-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isvector-3.m
 
 set test isvector-4
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isvector-4.m
 
 set test isvector-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isvector-5.m
 
 set test isvector-6
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isvector-6.m
 
 set test isvector-7
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isvector-7.m
 
 set test isvector-8
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isvector-8.m
 
 set test isvector-9
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test isvector-9.m
 
 set test isvector-10
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test isvector-10.m
 
 set test isscalar-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isscalar-1.m
 
 set test isscalar-2
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-2.m
 
 set test isscalar-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-3.m
 
 set test isscalar-4
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-4.m
 
 set test isscalar-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-5.m
 
 set test isscalar-6
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-6.m
 
 set test isscalar-7
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-7.m
 
 set test isscalar-8
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isscalar-8.m
 
 set test isscalar-9
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test isscalar-9.m
 
 set test isscalar-10
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test isscalar-10.m
 
 set test issquare-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test issquare-1.m
 
 set test issquare-2
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-2.m
 
 set test issquare-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-3.m
 
 set test issquare-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test issquare-4.m
 
 set test issquare-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-5.m
 
 set test issquare-6
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-6.m
 
 set test issquare-7
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-7.m
 
 set test issquare-8
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-8.m
 
 set test issquare-9
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issquare-9.m
 
 set test issquare-10
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test issquare-10.m
 
 set test issquare-11
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test issquare-11.m
 
 set test issymmetric-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test issymmetric-1.m
 
 set test issymmetric-2
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issymmetric-2.m
 
 set test issymmetric-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issymmetric-3.m
 
 set test issymmetric-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test issymmetric-4.m
 
 set test issymmetric-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issymmetric-5.m
 
 set test issymmetric-6
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issymmetric-6.m
 
 set test issymmetric-7
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issymmetric-7.m
 
 set test issymmetric-8
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test issymmetric-8.m
 
 set test issymmetric-9
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test issymmetric-9.m
 
 set test issymmetric-10
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test issymmetric-10.m
 
 set test issymmetric-11
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test issymmetric-11.m
--- a/test/octave.test/poly/poly.exp
+++ b/test/octave.test/poly/poly.exp
@@ -1,203 +1,203 @@
 set test compan-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test compan-1.m
 
 set test compan-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test compan-2.m
 
 set test compan-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test compan-3.m
 
 set test compan-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test compan-4.m
 
 set test compan-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test compan-5.m
 
 set test compan-6
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test compan-6.m
 
 set test conv-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test conv-1.m
 
 set test conv-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test conv-2.m
 
 set test conv-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test conv-3.m
 
 set test conv-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test conv-4.m
 
 set test conv-5
-set prog_output "ans = 6"
+set prog_output "^ans = 6"
 do_test conv-5.m
 
 set test conv-6
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test conv-6.m
 
 set test deconv-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test deconv-1.m
 
 set test deconv-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test deconv-2.m
 
 set test deconv-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test deconv-3.m
 
 set test deconv-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test deconv-4.m
 
 set test deconv-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test deconv-5.m
 
 set test poly-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test poly-1.m
 
 set test poly-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test poly-2.m
 
 set test poly-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test poly-3.m
 
 set test poly-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test poly-4.m
 
 set test polyderiv-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyderiv-1.m
 
 set test polyderiv-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyderiv-2.m
 
 set test polyderiv-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyderiv-3.m
 
 set test polyderiv-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyderiv-4.m
 
 set test polyfit-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyfit-1.m
 
 set test polyfit-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyfit-2.m
 
 set test polyfit-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyfit-3.m
 
 set test polyfit-4
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test polyfit-4.m
 
 set test polyfit-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyfit-5.m
 
 set test polyinteg-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyinteg-1.m
 
 set test polyinteg-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyinteg-2.m
 
 set test polyinteg-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyinteg-3.m
 
 set test polyinteg-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyinteg-4.m
 
 set test polyreduce-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyreduce-1.m
 
 set test polyreduce-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyreduce-2.m
 
 set test polyreduce-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyreduce-3.m
 
 set test polyreduce-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyreduce-4.m
 
 set test polyreduce-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyreduce-5.m
 
 set test polyval-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyval-1.m
 
 set test polyval-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyval-2.m
 
 set test polyval-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyval-3.m
 
 set test polyval-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyval-4.m
 
 set test polyval-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyval-5.m
 
 set test polyval-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyval-6.m
 
 set test polyvalm-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test polyvalm-1.m
 
 set test polyvalm-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test polyvalm-2.m
 
 set test residue-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test residue-1.m
 
 set test roots-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test roots-1.m
 
 set test roots-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test roots-2.m
 
 set test roots-3
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test roots-3.m
--- a/test/octave.test/prefer/prefer-12.m
+++ b/test/octave.test/prefer/prefer-12.m
@@ -1,2 +1,2 @@
-warn_str_to_num = 1;
+warn_str_to_num = 0;
 "d" + 0
deleted file mode 100644
--- a/test/octave.test/prefer/prefer-31.m
+++ /dev/null
@@ -1,2 +0,0 @@
-treat_neg_dim_as_zero = 0;
-eye (-1) == []
--- a/test/octave.test/prefer/prefer-32.m
+++ b/test/octave.test/prefer/prefer-32.m
@@ -1,2 +1,2 @@
-treat_neg_dim_as_zero = "warn";
+warn_neg_dim_as_zero = 1;
 eye (-1) == []
--- a/test/octave.test/prefer/prefer-33.m
+++ b/test/octave.test/prefer/prefer-33.m
@@ -1,2 +1,2 @@
-treat_neg_dim_as_zero = 1;
+warn_neg_dim_as_zero = 0;
 eye (-1) == []
--- a/test/octave.test/prefer/prefer.exp
+++ b/test/octave.test/prefer/prefer.exp
@@ -5,73 +5,73 @@
 do_test prefer-1.m
 
 set test whitespace-in-literal-matrix-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-2.m
 
 set test whitespace-in-literal-matrix-3
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test prefer-3.m
 
 set test whitespace-in-literal-matrix-4
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test prefer-4.m
 
 set test whitespace-in-literal-matrix-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-5.m
 
 set test whitespace-in-literal-matrix-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-6.m
 
 set test whitespace-in-literal-matrix-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-7.m
 
 set test whitespace-in-literal-matrix-8
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test prefer-8.m
 
 set test whitespace-in-literal-matrix-9
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test prefer-9.m
 
 set test whitespace-in-literal-matrix-10
-set prog_output "ans = 3"
+set prog_output "^ans = 3"
 do_test prefer-10.m
 
 set test whitespace-in-literal-matrix-11
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-11.m
 
 ## warn_str_to_num
 
 set test implicit-str-to-num-ok-1
-set prog_output "ans = 100"
+set prog_output "^ans = 100"
 do_test prefer-12.m
 
 set test implicit-str-to-num-ok-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test prefer-13.m
 
 ## warn_imag_to_real
 
 set test warn-imag-to-real-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-14.m
 
 set test warn-imag-to-real-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test prefer-15.m
 
 ## prefer_column_vectors
 
 set test prefer-column-vectors-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-17.m
 
 set test prefer-column-vectors-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-18.m
 
 ## print_answer_id_name
@@ -99,17 +99,17 @@
 ## This should maybe test more functions...
 
 set test propagate-empty-matrices-1
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test prefer-23.m
 
 set test propagate-empty-matrices-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-24.m
 
 ## return_last_computed_value
 
 set test return-last-computed-value-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-25.m
 
 set test return-last-computed-value-2
@@ -129,25 +129,21 @@
 ## silent_functions
 
 set test silent-functions-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-29.m
 
 set test silent-functions-2
 set prog_output ""
 do_test prefer-30.m
 
-## treat_neg_dim_as_zero
+## warn_neg_dim_as_zero
 
-set test treat-neg-dim-as-zero-1
-set prog_output "error:.*"
-do_test prefer-31.m
-
-set test treat-neg-dim-as-zero-2
-set prog_output "warning:.*"
+set test warn-neg-dim-as-zero-1
+set prog_output "^warning:.*"
 do_test prefer-32.m
 
-set test treat-neg-dim-as-zero-3
-set prog_output "ans = 1"
+set test warn-neg-dim-as-zero-2
+set prog_output "^ans = 1"
 do_test prefer-33.m
 
 ## warn_assign_as_truth_value
@@ -157,15 +153,15 @@
 do_test prefer-34.m
 
 set test warn-assign-as-truth-value-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test prefer-35.m
 
 ## warn_divide_by_zero
 
 set test warn-divide-by-zero-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test prefer-38.m
 
 set test warn-divide-by-zero-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test prefer-39.m
--- a/test/octave.test/quad/quad.exp
+++ b/test/octave.test/quad/quad.exp
@@ -3,11 +3,11 @@
 # colloc
 
 set test quad-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test quad-1.m
 
 set test quad-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test quad-2.m
 
 set test quad-3
@@ -19,7 +19,7 @@
 do_test quad-4.m
 
 set test quad_options-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test quad_options-1.m
 
 set test quad_options-2
--- a/test/octave.test/recursion/recursion.exp
+++ b/test/octave.test/recursion/recursion.exp
@@ -1,7 +1,7 @@
 set test recursion-1
-set prog_output "ans = 120"
+set prog_output "^ans = 120"
 do_test recursion-1.m
 
 set test recursion-2
-set prog_output "ans = 120"
+set prog_output "^ans = 120"
 do_test recursion-2.m
--- a/test/octave.test/return/return.exp
+++ b/test/octave.test/return/return.exp
@@ -1,5 +1,5 @@
 set test return-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test return-1.m
 
 set test return-2
--- a/test/octave.test/set/set.exp
+++ b/test/octave.test/set/set.exp
@@ -1,75 +1,75 @@
 set test create_set-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test create_set-1.m
 
 set test create_set-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test create_set-2.m
 
 set test create_set-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test create_set-3.m
 
 set test create_set-4
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test create_set-4.m
 
 set test union-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test union-1.m
 
 set test union-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test union-2.m
 
 set test union-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test union-3.m
 
 set test union-4
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test union-4.m
 
 set test union-5
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test union-5.m
 
 set test intersection-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test intersection-1.m
 
 set test intersection-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test intersection-2.m
 
 set test intersection-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test intersection-3.m
 
 set test intersection-4
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test intersection-4.m
 
 set test intersection-5
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test intersection-5.m
 
 set test complement-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test complement-1.m
 
 set test complement-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test complement-2.m
 
 set test complement-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test complement-3.m
 
 set test complement-4
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test complement-4.m
 
 set test complement-5
-set prog_output "error:.*"
+set prog_output "^usage:.*"
 do_test complement-5.m
--- a/test/octave.test/signal/signal.exp
+++ b/test/octave.test/signal/signal.exp
@@ -3,39 +3,39 @@
 # detrend
 
 set test detrend-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test detrend-1.m
 
 set test detrend-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test detrend-2.m
 
 set test detrend-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test detrend-3.m
 
 # fft
 
 set test fft-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fft-1.m
 
 # ifft
 
 set test ifft-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ifft-1.m
 
 # fft2
 
 set test fft2-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fft2-1.m
 
 # ifft2
 
 set test ifft2-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ifft2-1.m
 
 # fftconv
@@ -47,6 +47,6 @@
 # unwrap
 
 set test unwrap-1
-set prog_output "ans = 1";
+set prog_output "^ans = 1";
 do_test unwrap-1.m
 
--- a/test/octave.test/stats/stats.exp
+++ b/test/octave.test/stats/stats.exp
@@ -4,97 +4,97 @@
 # skewness (test for success)
 
 set test mean-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test mean-1.m
 
 set test mean-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test mean-2.m
 
 set test mean-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test mean-3.m
 
 set test median-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test median-1.m
 
 set test median-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test median-2.m
 
 set test median-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test median-3.m
 
 set test std-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test std-1.m
 
 set test std-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test std-2.m
 
 set test std-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test std-3.m
 
 set test cov-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cov-1.m
 
 set test cov-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test cov-2.m
 
 set test cov-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test cov-3.m
 
 set test corrcoef-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test corrcoef-1.m
 
 set test corrcoef-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test corrcoef-2.m
 
 set test corrcoef-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test corrcoef-3.m
 
 set test kurtosis-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test kurtosis-1.m
 
 set test kurtosis-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test kurtosis-2.m
 
 set test kurtosis-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test kurtosis-3.m
 
 # set test mahalanobis-1
-# set prog_output "ans = 1"
+# set prog_output "^ans = 1"
 # do_test mahalanobis-1.m
 
 set test mahalanobis-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test mahalanobis-2.m
 
 set test mahalanobis-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test mahalanobis-3.m
 
 # set test skewness-1
-# set prog_output "ans = 1"
+# set prog_output "^ans = 1"
 # do_test skewness-1.m
 
 set test skewness-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test skewness-2.m
 
 set test skewness-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test skewness-3.m
--- a/test/octave.test/string/string.exp
+++ b/test/octave.test/string/string.exp
@@ -47,47 +47,47 @@
 do_test str-esc-12.m
 
 set test string_fill_char-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test string_fill_char-1.m
 
 set test string_fill_char-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test string_fill_char-2.m
 
 set test isstr-1
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstr-1.m
 
 set test isstr-2
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstr-2.m
 
 set test isstr-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstr-3.m
 
 set test isstr-4
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstr-4.m
 
 set test isstr-5
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isstr-5.m
 
 set test isstr-6
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isstr-6.m
 
 set test isstr-7
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isstr-7.m
 
 set test isstr-8
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isstr-8.m
 
 set test isstr-9
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstr-9.m
 
 set test isstr-10
@@ -99,19 +99,19 @@
 do_test isstr-11.m
 
 set test blanks-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test blanks-1.m
 
 set test blanks-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test blanks-2.m
 
 set test blanks-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test blanks-3.m
 
 set test char-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test char-1.m
 
 set test char-2
@@ -119,223 +119,223 @@
 do_test char-2.m
 
 set test char-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test char-3.m
 
 set test int2str-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test int2str-1.m
 
 set test int2str-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test int2str-2.m
 
 set test int2str-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test int2str-3.m
 
 set test num2str-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test num2str-1.m
 
 set test num2str-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test num2str-2.m
 
 set test num2str-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test num2str-3.m
 
 set test strcat-1.m
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test strcat-1.m
 
 set test strcat-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test strcat-2.m
 
 set test strcat-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test strcat-3.m
 
 set test strcat-4
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test strcat-4.m
 
 set test str2mat-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test str2mat-1.m
 
 set test str2mat-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test str2mat-2.m
 
 set test str2mat-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test str2mat-3.m
 
 set test deblank-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test deblank-1.m
 
 set test deblank-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test deblank-2.m
 
 set test deblank-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test deblank-3.m
 
 set test deblank-4
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test deblank-4.m
 
 set test findstr-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test findstr-1.m
 
 set test findstr-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test findstr-2.m
 
 set test findstr-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test findstr-3.m
 
 set test index-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test index-1.m
 
 set test index-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test index-2.m
 
 set test index-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test index-3.m
 
 set test rindex-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test rindex-1.m
 
 set test rindex-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test rindex-2.m
 
 set test rindex-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test rindex-3.m
 
 set test split-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test split-1.m
 
 set test split-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test split-2.m
 
 set test split-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test split-3.m
 
 set test strrep-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test strrep-1.m
 
 set test strrep-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test strrep-2.m
 
 set test strrep-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test strrep-3.m
 
 set test substr-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test substr-1.m
 
 set test substr-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test substr-2.m
 
 set test substr-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test substr-3.m
 
 set test strcmp-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test strcmp-1.m
 
 set test strcmp-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test strcmp-2.m
 
 set test strcmp-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test strcmp-3.m
 
 set test bin2dec-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test bin2dec-1.m
 
 set test bin2dec-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test bin2dec-2.m
 
 set test bin2dec-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test bin2dec-3.m
 
 set test dec2bin-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test dec2bin-1.m
 
 set test dec2bin-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test dec2bin-2.m
 
 set test dec2bin-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test dec2bin-3.m
 
 set test dec2hex-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test dec2hex-1.m
 
 set test dec2hex-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test dec2hex-2.m
 
 set test dec2hex-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test dec2hex-3.m
 
 set test hex2dec-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test hex2dec-1.m
 
 set test hex2dec-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test hex2dec-2.m
 
 set test hex2dec-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test hex2dec-3.m
 
 set test str2num-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test str2num-1.m
 
 set test str2num-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test str2num-2.m
 
 set test str2num-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test str2num-3.m
 
 set test undo_string_escapes-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test undo_string_escapes-1.m
 
 set test undo_string_escapes-2
@@ -347,181 +347,181 @@
 do_test undo_string_escapes-3.m
 
 set test toascii-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test toascii-1.m
 
 set test toascii-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test toascii-3.m
 
 set test toascii-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test toascii-3.m
 
 set test tolower-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tolower-1.m
 
 set test tolower-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test tolower-3.m
 
 set test tolower-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test tolower-3.m
 
 set test toupper-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test toupper-1.m
 
 set test toupper-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test toupper-3.m
 
 set test toupper-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test toupper-3.m
 
 set test isalnum-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isalnum-1.m
 
 set test isalnum-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isalnum-2.m
 
 set test isalnum-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isalnum-3.m
 
 set test isalpha-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isalpha-1.m
 
 set test isalpha-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isalpha-2.m
 
 set test isalpha-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isalpha-3.m
 
 set test isascii-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isascii-1.m
 
 set test isascii-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isascii-2.m
 
 set test isascii-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isascii-3.m
 
 set test iscntrl-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test iscntrl-1.m
 
 set test iscntrl-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test iscntrl-2.m
 
 set test iscntrl-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test iscntrl-3.m
 
 set test isdigit-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isdigit-1.m
 
 set test isdigit-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isdigit-2.m
 
 set test isdigit-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isdigit-3.m
 
 set test isgraph-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isgraph-1.m
 
 set test isgraph-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isgraph-2.m
 
 set test isgraph-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isgraph-3.m
 
 set test islower-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test islower-1.m
 
 set test islower-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test islower-2.m
 
 set test islower-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test islower-3.m
 
 set test isprint-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isprint-1.m
 
 set test isprint-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isprint-2.m
 
 set test isprint-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isprint-3.m
 
 set test ispunct-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ispunct-1.m
 
 set test ispunct-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ispunct-2.m
 
 set test ispunct-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ispunct-3.m
 
 set test isspace-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isspace-1.m
 
 set test isspace-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isspace-2.m
 
 set test isspace-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isspace-3.m
 
 set test isupper-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isupper-1.m
 
 set test isupper-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isupper-2.m
 
 set test isupper-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isupper-3.m
 
 set test isxdigit-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isxdigit-1.m
 
 set test isxdigit-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isxdigit-2.m
 
 set test isxdigit-3
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test isxdigit-3.m
--- a/test/octave.test/struct/struct.exp
+++ b/test/octave.test/struct/struct.exp
@@ -1,9 +1,9 @@
 set test fieldnames-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fieldnames-1.m
 
 set test fieldnames-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fieldnames-2.m
 
 set test fieldnames-3
@@ -15,15 +15,15 @@
 do_test fieldnames-4.m
 
 set test fieldnames-5
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test fieldnames-5.m
 
 set test isfield-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isfield-1.m
 
 set test isfield-2
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isfield-2.m
 
 set test isfield-3
@@ -43,39 +43,39 @@
 do_test isfield-6.m
 
 set test isstruct-1
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-1.m
 
 set test isstruct-2
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-2.m
 
 set test isstruct-3
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-3.m
 
 set test isstruct-4
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-4.m
 
 set test isstruct-5
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-5.m
 
 set test isstruct-6
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-6.m
 
 set test isstruct-7
-set prog_output "ans = 0"
+set prog_output "^ans = 0"
 do_test isstruct-7.m
 
 set test isstruct-8
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isstruct-8.m
 
 set test isstruct-9
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isstruct-9.m
 
 set test isstruct-10
--- a/test/octave.test/switch/switch.exp
+++ b/test/octave.test/switch/switch.exp
@@ -1,13 +1,13 @@
 set test switch-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test switch-1.m
 
 set test switch-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test switch-2.m
 
 set test switch-3
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test switch-3.m
 
 set test switch-4
--- a/test/octave.test/system/localtime-1.m
+++ b/test/octave.test/system/localtime-1.m
@@ -1,4 +1,4 @@
-ts = localtime (time ())
+ts = localtime (time ());
 (isstruct (ts)
  && struct_contains (ts, "usec")
  && struct_contains (ts, "year")
--- a/test/octave.test/system/system.exp
+++ b/test/octave.test/system/system.exp
@@ -12,23 +12,23 @@
 # fcntl
 
 set test time-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test time-1.m
 
 set test ctime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test ctime-1.m
 
 set test ctime-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test ctime-2.m
 
 set test ctime-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test ctime-3.m
 
 set test gmtime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test gmtime-1.m
 
 set test gmtime-2
@@ -40,7 +40,7 @@
 do_test gmtime-3.m
 
 set test localtime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test localtime-1.m
 
 set test localtime-2
@@ -52,7 +52,7 @@
 do_test localtime-3.m
 
 set test mktime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test mktime-1.m
 
 set test mktime-2
@@ -64,19 +64,19 @@
 do_test mktime-3.m
 
 set test asctime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test asctime-1.m
 
 set test asctime-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test asctime-2.m
 
 set test asctime-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test asctime-3.m
 
 set test strftime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test strftime-1.m
 
 set test strftime-2
@@ -88,39 +88,39 @@
 do_test strftime-3.m
 
 set test clock-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test clock-1.m
 
 set test date-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test date-1.m
 
 set test etime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test etime-1.m
 
 set test etime-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test etime-2.m
 
 set test etime-3
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test etime-3.m
 
 set test cputime-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cputime-1.m
 
 set test is_leap_year-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test is_leap_year-1.m
 
 set test is_leap_year-2
-set prog_output "usage:.*"
+set prog_output "^usage:.*"
 do_test is_leap_year-2.m
 
 set test tic-toc-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tic-toc-1.m
 
 set test pause-1
@@ -156,7 +156,7 @@
 do_test usleep-3.m
 
 set test rename-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test rename-1.m
 
 set test rename-2
@@ -168,7 +168,7 @@
 do_test rename-3.m
 
 set test unlink-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test unlink-1.m
 
 set test unlink-2
@@ -180,7 +180,7 @@
 do_test unlink-3.m
 
 set test readdir-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test readdir-1.m
 
 set test readdir-2
@@ -192,7 +192,7 @@
 do_test readdir-3.m
 
 set test mk-rm-dir-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test mk-rm-dir-1.m
 
 set test mkdir-1
@@ -212,7 +212,7 @@
 do_test rmdir-2.m
 
 set test umask-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test umask-1.m
 
 set test umask-2
@@ -224,7 +224,7 @@
 do_test umask-3.m
 
 set test stat-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test stat-1.m
 
 set test stat-2
@@ -236,7 +236,7 @@
 do_test stat-3.m
 
 set test lstat-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test lstat-1.m
 
 set test lstat-2
@@ -248,7 +248,7 @@
 do_test lstat-3.m
 
 set test glob-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test glob-1.m
 
 set test glob-2
@@ -260,7 +260,7 @@
 do_test glob-3.m
 
 set test fnmatch-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test fnmatch-1.m
 
 set test fnmatch-2
@@ -272,11 +272,11 @@
 do_test fnmatch-3.m
 
 set test file_in_path-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test file_in_path-1.m
 
 set test file_in_path-2
-set prog_output "error:.*"
+set prog_output "^warning:.*\nerror:.*"
 do_test file_in_path-2.m
 
 set test file_in_path-3
@@ -288,7 +288,7 @@
 do_test file_in_path-4.m
 
 set test tilde_expand-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test tilde_expand-1.m
 
 set test tilde_expand-2
@@ -300,7 +300,7 @@
 do_test tilde_expand-3.m
 
 set test getpgrp-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getpgrp-1.m
 
 set test getpgrp-2
@@ -308,7 +308,7 @@
 do_test getpgrp-2.m
 
 set test getpid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getpid-1.m
 
 set test getpid-2
@@ -316,7 +316,7 @@
 do_test getpid-2.m
 
 set test getppid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getppid-1.m
 
 set test getppid-2
@@ -324,7 +324,7 @@
 do_test getppid-2.m
 
 set test geteuid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test geteuid-1.m
 
 set test geteuid-2
@@ -332,7 +332,7 @@
 do_test geteuid-2.m
 
 set test getuid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getuid-1.m
 
 set test getuid-2
@@ -340,7 +340,7 @@
 do_test getuid-2.m
 
 set test getegid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getegid-1.m
 
 set test getegid-2
@@ -348,7 +348,7 @@
 do_test getegid-2.m
 
 set test getgid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getgid-1.m
 
 set test getgid-2
@@ -356,7 +356,7 @@
 do_test getgid-2.m
 
 set test getenv-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getenv-1.m
 
 set test getenv-2
@@ -368,11 +368,11 @@
 do_test getenv-3.m
 
 set test getenv-4
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test getenv-4.m
 
 set test putenv-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test putenv-1.m
 
 set test putenv-2
@@ -384,27 +384,27 @@
 do_test putenv-3.m
 
 set test putenv-4
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test putenv-4.m
 
 set test cd-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test cd-1.m
 
 set test cd-2
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test cd-2.m
 
 set test pwd-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test pwd-1.m
 
 set test ls-1
-set prog_output "error:.*"
+set prog_output "^error:.*"
 do_test ls-1.m
 
 set test getpwent-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getpwent-1.m
 
 set test getpwent-2
@@ -412,7 +412,7 @@
 do_test getpwent-2.m
 
 set test getpwuid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getpwuid-1.m
 
 set test getpwuid-2
@@ -424,7 +424,7 @@
 do_test getpwuid-3.m
 
 set test getpwnam-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getpwnam-1.m
 
 set test getpwnam-2
@@ -436,7 +436,7 @@
 do_test getpwnam-3.m
 
 set test setpwent-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test setpwent-1.m
 
 set test setpwent-2
@@ -448,7 +448,7 @@
 do_test endpwent-1.m
 
 set test getgrent-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getgrent-1.m
 
 set test getgrent-2
@@ -456,7 +456,7 @@
 do_test getgrent-2.m
 
 set test getgrgid-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getgrgid-1.m
 
 set test getgrgid-2
@@ -468,7 +468,7 @@
 do_test getgrgid-3.m
 
 set test getgrnam-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getgrnam-1.m
 
 set test getgrnam-2
@@ -480,7 +480,7 @@
 do_test getgrnam-3.m
 
 set test setgrent-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test setgrent-1.m
 
 set test setgrent-2
@@ -492,29 +492,29 @@
 do_test endgrent-1.m
 
 set test computer-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test computer-1.m
 
 set test computer-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test computer-2.m
 
 set test isieee-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test isieee-1.m
 
 set test version-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test version-1.m
 
 set test version-2
-set prog_output "warning:.*"
+set prog_output "^warning:.*"
 do_test version-2.m
 
 set test octave_config_info-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test octave_config_info-1.m
 
 set test getrusage-1
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test getrusage-1.m
--- a/test/octave.test/transpose/transpose.exp
+++ b/test/octave.test/transpose/transpose.exp
@@ -1,15 +1,15 @@
 set test transpose-1
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test transpose-1.m
 
 set test transpose-2
-set prog_output "ans = *\n\n *1\n *2\n *3\n *4"
+set prog_output "^ans = *\n\n *1\n *2\n *3\n *4"
 do_test transpose-2.m
 
 set test transpose-3
-set prog_output "ans = *\n\n *1 *2 *3 *4"
+set prog_output "^ans = *\n\n *1 *2 *3 *4"
 do_test transpose-3.m
 
 set test transpose-4
-set prog_output "ans = *\n\n *1 *3\n *2 *4"
+set prog_output "^ans = *\n\n *1 *3\n *2 *4"
 do_test transpose-4.m
--- a/test/octave.test/try/try.exp
+++ b/test/octave.test/try/try.exp
@@ -1,21 +1,21 @@
 ## parse empty try body
 set test try-1
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test try-1.m
 
 ## parse empty catch body
 set test try-2
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test try-2.m
 
 ## supress error; do not execute code after error
 set test try-3
-set prog_output "ans = 2"
+set prog_output "^ans = 2"
 do_test try-3.m
 
 ## execute catch-clause
 set test try-4
-set prog_output "ans = 1"
+set prog_output "^ans = 1"
 do_test try-4.m
 
 ## define __error_text__ *only* within catch-clause
@@ -30,7 +30,7 @@
 
 ## pass __error_text__ to user-defined subroutine
 set test try-7
-set prog_output "ans = <`a' undefined.*\n>"
+set prog_output "^ans = <`a' undefined.*\n>"
 do_test try-7.m
 
 ## handle nested try-catch-block: try nested in try