changeset 21100:e39e05d90788

Switch gripe_XXX to either err_XXX or warn_XXX naming scheme. * libinterp/corefcn/errwarn.h, libinterp/corefcn/errwarn.cc: New header and .cc file with common errors and warnings for libinterp. * libinterp/corefcn/module.mk: Add errwarn.h, errwarn.cc to build system. * liboctave/util/lo-array-errwarn.h, liboctave/util/lo-array-errwarn.cc: New header and .cc file with common errors and warnings for liboctave. * liboctave/util/module.mk: Add lo-array-errwarn.h, lo-array-errwarn.cc to build system. * lo-array-gripes.h: #include "lo-array-errwarn.h" for access to class index_exception. Remove const char *error_id_XXX prototypes. * lo-array-gripes.cc: Remove const char *error_id_XXX initializations. Remove index_exception method definitions. * Cell.cc, __pchip_deriv__.cc, __qp__.cc, balance.cc, betainc.cc, cellfun.cc, daspk.cc, dasrt.cc, dassl.cc, data.cc, debug.cc, defaults.cc, det.cc, dirfns.cc, eig.cc, fft.cc, fft2.cc, fftn.cc, find.cc, gammainc.cc, gcd.cc, getgrent.cc, getpwent.cc, graphics.in.h, help.cc, hess.cc, hex2num.cc, input.cc, inv.cc, jit-typeinfo.cc, load-save.cc, lookup.cc, ls-hdf5.cc, ls-mat-ascii.cc, ls-mat4.cc, ls-mat5.cc, ls-oct-binary.cc, ls-oct-text.cc, lsode.cc, lu.cc, luinc.cc, max.cc, mgorth.cc, oct-hist.cc, oct-procbuf.cc, oct-stream.cc, oct.h, pager.cc, pinv.cc, pr-output.cc, quad.cc, qz.cc, rand.cc, rcond.cc, regexp.cc, schur.cc, sparse-xdiv.cc, sparse-xpow.cc, sparse.cc, spparms.cc, sqrtm.cc, str2double.cc, strfind.cc, strfns.cc, sub2ind.cc, svd.cc, sylvester.cc, syscalls.cc, typecast.cc, utils.cc, variables.cc, xdiv.cc, xnorm.cc, xpow.cc, __eigs__.cc, __glpk__.cc, __magick_read__.cc, __osmesa_print__.cc, audiodevinfo.cc, audioread.cc, chol.cc, dmperm.cc, fftw.cc, qr.cc, symbfact.cc, symrcm.cc, ov-base-diag.cc, ov-base-int.cc, ov-base-mat.cc, ov-base-scalar.cc, ov-base-sparse.cc, ov-base.cc, ov-bool-mat.cc, ov-bool-sparse.cc, ov-bool.cc, ov-builtin.cc, ov-cell.cc, ov-ch-mat.cc, ov-class.cc, ov-complex.cc, ov-complex.h, ov-cs-list.cc, ov-cx-diag.cc, ov-cx-mat.cc, ov-cx-sparse.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-float.cc, ov-float.h, ov-flt-complex.cc, ov-flt-complex.h, ov-flt-cx-diag.cc, ov-flt-cx-mat.cc, ov-flt-re-mat.cc, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-intx.h, ov-mex-fcn.cc, ov-perm.cc, ov-range.cc, ov-re-mat.cc, ov-re-sparse.cc, ov-scalar.cc, ov-scalar.h, ov-str-mat.cc, ov-struct.cc, ov-type-conv.h, ov-uint16.cc, ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, ov.cc, op-b-b.cc, op-b-bm.cc, op-b-sbm.cc, op-bm-b.cc, op-bm-bm.cc, op-bm-sbm.cc, op-cdm-cdm.cc, op-cell.cc, op-chm.cc, op-class.cc, op-cm-cm.cc, op-cm-cs.cc, op-cm-m.cc, op-cm-s.cc, op-cm-scm.cc, op-cm-sm.cc, op-cs-cm.cc, op-cs-cs.cc, op-cs-m.cc, op-cs-s.cc, op-cs-scm.cc, op-cs-sm.cc, op-dm-dm.cc, op-dm-scm.cc, op-dm-sm.cc, op-dms-template.cc, op-double-conv.cc, op-fcdm-fcdm.cc, op-fcdm-fdm.cc, op-fcm-fcm.cc, op-fcm-fcs.cc, op-fcm-fm.cc, op-fcm-fs.cc, op-fcn.cc, op-fcs-fcm.cc, op-fcs-fcs.cc, op-fcs-fm.cc, op-fcs-fs.cc, op-fdm-fdm.cc, op-float-conv.cc, op-fm-fcm.cc, op-fm-fcs.cc, op-fm-fm.cc, op-fm-fs.cc, op-fs-fcm.cc, op-fs-fcs.cc, op-fs-fm.cc, op-fs-fs.cc, op-i16-i16.cc, op-i32-i32.cc, op-i64-i64.cc, op-i8-i8.cc, op-int-concat.cc, op-int-conv.cc, op-int.h, op-m-cm.cc, op-m-cs.cc, op-m-m.cc, op-m-s.cc, op-m-scm.cc, op-m-sm.cc, op-pm-pm.cc, op-pm-scm.cc, op-pm-sm.cc, op-range.cc, op-s-cm.cc, op-s-cs.cc, op-s-m.cc, op-s-s.cc, op-s-scm.cc, op-s-sm.cc, op-sbm-b.cc, op-sbm-bm.cc, op-sbm-sbm.cc, op-scm-cm.cc, op-scm-cs.cc, op-scm-m.cc, op-scm-s.cc, op-scm-scm.cc, op-scm-sm.cc, op-sm-cm.cc, op-sm-cs.cc, op-sm-m.cc, op-sm-s.cc, op-sm-scm.cc, op-sm-sm.cc, op-str-m.cc, op-str-s.cc, op-str-str.cc, op-struct.cc, op-ui16-ui16.cc, op-ui32-ui32.cc, op-ui64-ui64.cc, op-ui8-ui8.cc, ops.h, lex.ll, pt-assign.cc, pt-eval.cc, pt-idx.cc, pt-loop.cc, pt-mat.cc, pt-stmt.cc, Array-util.cc, Array-util.h, Array.cc, CColVector.cc, CDiagMatrix.cc, CMatrix.cc, CNDArray.cc, CRowVector.cc, CSparse.cc, DiagArray2.cc, MDiagArray2.cc, MSparse.cc, PermMatrix.cc, Range.cc, Sparse.cc, dColVector.cc, dDiagMatrix.cc, dMatrix.cc, dNDArray.cc, dRowVector.cc, dSparse.cc, fCColVector.cc, fCDiagMatrix.cc, fCMatrix.cc, fCNDArray.cc, fCRowVector.cc, fColVector.cc, fDiagMatrix.cc, fMatrix.cc, fNDArray.cc, fRowVector.cc, idx-vector.cc, CmplxGEPBAL.cc, dbleGEPBAL.cc, fCmplxGEPBAL.cc, floatGEPBAL.cc, Sparse-diag-op-defs.h, Sparse-op-defs.h, Sparse-perm-op-defs.h, mx-inlines.cc, mx-op-defs.h, oct-binmap.h: Replace 'include "gripes.h"' with 'include "errwarn.h". Change all gripe_XXX to err_XXX or warn_XXX or errwarn_XXX.
author Rik <rik@octave.org>
date Mon, 18 Jan 2016 18:28:06 -0800
parents 52af4092f863
children 2e8aea678f2a
files libinterp/corefcn/Cell.cc libinterp/corefcn/__pchip_deriv__.cc libinterp/corefcn/__qp__.cc libinterp/corefcn/balance.cc libinterp/corefcn/betainc.cc libinterp/corefcn/cellfun.cc libinterp/corefcn/daspk.cc libinterp/corefcn/dasrt.cc libinterp/corefcn/dassl.cc libinterp/corefcn/data.cc libinterp/corefcn/debug.cc libinterp/corefcn/defaults.cc libinterp/corefcn/det.cc libinterp/corefcn/dirfns.cc libinterp/corefcn/eig.cc libinterp/corefcn/errwarn.cc libinterp/corefcn/errwarn.h libinterp/corefcn/fft.cc libinterp/corefcn/fft2.cc libinterp/corefcn/fftn.cc libinterp/corefcn/find.cc libinterp/corefcn/gammainc.cc libinterp/corefcn/gcd.cc libinterp/corefcn/getgrent.cc libinterp/corefcn/getpwent.cc libinterp/corefcn/graphics.in.h libinterp/corefcn/help.cc libinterp/corefcn/hess.cc libinterp/corefcn/hex2num.cc libinterp/corefcn/input.cc libinterp/corefcn/inv.cc libinterp/corefcn/jit-typeinfo.cc libinterp/corefcn/load-save.cc libinterp/corefcn/lookup.cc libinterp/corefcn/ls-hdf5.cc libinterp/corefcn/ls-mat-ascii.cc libinterp/corefcn/ls-mat4.cc libinterp/corefcn/ls-mat5.cc libinterp/corefcn/ls-oct-binary.cc libinterp/corefcn/ls-oct-text.cc libinterp/corefcn/lsode.cc libinterp/corefcn/lu.cc libinterp/corefcn/luinc.cc libinterp/corefcn/max.cc libinterp/corefcn/mgorth.cc libinterp/corefcn/module.mk libinterp/corefcn/oct-hist.cc libinterp/corefcn/oct-procbuf.cc libinterp/corefcn/oct-stream.cc libinterp/corefcn/oct.h libinterp/corefcn/pager.cc libinterp/corefcn/pinv.cc libinterp/corefcn/pr-output.cc libinterp/corefcn/quad.cc libinterp/corefcn/qz.cc libinterp/corefcn/rand.cc libinterp/corefcn/rcond.cc libinterp/corefcn/regexp.cc libinterp/corefcn/schur.cc libinterp/corefcn/sparse-xdiv.cc libinterp/corefcn/sparse-xpow.cc libinterp/corefcn/sparse.cc libinterp/corefcn/spparms.cc libinterp/corefcn/sqrtm.cc libinterp/corefcn/str2double.cc libinterp/corefcn/strfind.cc libinterp/corefcn/strfns.cc libinterp/corefcn/sub2ind.cc libinterp/corefcn/svd.cc libinterp/corefcn/sylvester.cc libinterp/corefcn/syscalls.cc libinterp/corefcn/typecast.cc libinterp/corefcn/utils.cc libinterp/corefcn/variables.cc libinterp/corefcn/xdiv.cc libinterp/corefcn/xnorm.cc libinterp/corefcn/xpow.cc libinterp/dldfcn/__eigs__.cc libinterp/dldfcn/__glpk__.cc libinterp/dldfcn/__magick_read__.cc libinterp/dldfcn/__osmesa_print__.cc libinterp/dldfcn/audiodevinfo.cc libinterp/dldfcn/audioread.cc libinterp/dldfcn/chol.cc libinterp/dldfcn/dmperm.cc libinterp/dldfcn/fftw.cc libinterp/dldfcn/qr.cc libinterp/dldfcn/symbfact.cc libinterp/dldfcn/symrcm.cc libinterp/octave-value/ov-base-diag.cc libinterp/octave-value/ov-base-int.cc libinterp/octave-value/ov-base-mat.cc libinterp/octave-value/ov-base-scalar.cc libinterp/octave-value/ov-base-sparse.cc libinterp/octave-value/ov-base.cc libinterp/octave-value/ov-bool-mat.cc libinterp/octave-value/ov-bool-sparse.cc libinterp/octave-value/ov-bool.cc libinterp/octave-value/ov-builtin.cc libinterp/octave-value/ov-cell.cc libinterp/octave-value/ov-ch-mat.cc libinterp/octave-value/ov-class.cc libinterp/octave-value/ov-complex.cc libinterp/octave-value/ov-complex.h libinterp/octave-value/ov-cs-list.cc libinterp/octave-value/ov-cx-diag.cc libinterp/octave-value/ov-cx-mat.cc libinterp/octave-value/ov-cx-sparse.cc libinterp/octave-value/ov-fcn-handle.cc libinterp/octave-value/ov-fcn-inline.cc libinterp/octave-value/ov-float.cc libinterp/octave-value/ov-float.h libinterp/octave-value/ov-flt-complex.cc libinterp/octave-value/ov-flt-complex.h libinterp/octave-value/ov-flt-cx-diag.cc libinterp/octave-value/ov-flt-cx-mat.cc libinterp/octave-value/ov-flt-re-mat.cc libinterp/octave-value/ov-int16.cc libinterp/octave-value/ov-int32.cc libinterp/octave-value/ov-int64.cc libinterp/octave-value/ov-int8.cc libinterp/octave-value/ov-intx.h libinterp/octave-value/ov-mex-fcn.cc libinterp/octave-value/ov-perm.cc libinterp/octave-value/ov-range.cc libinterp/octave-value/ov-re-mat.cc libinterp/octave-value/ov-re-sparse.cc libinterp/octave-value/ov-scalar.cc libinterp/octave-value/ov-scalar.h libinterp/octave-value/ov-str-mat.cc libinterp/octave-value/ov-struct.cc libinterp/octave-value/ov-type-conv.h libinterp/octave-value/ov-uint16.cc libinterp/octave-value/ov-uint32.cc libinterp/octave-value/ov-uint64.cc libinterp/octave-value/ov-uint8.cc libinterp/octave-value/ov-usr-fcn.cc libinterp/octave-value/ov.cc libinterp/operators/op-b-b.cc libinterp/operators/op-b-bm.cc libinterp/operators/op-b-sbm.cc libinterp/operators/op-bm-b.cc libinterp/operators/op-bm-bm.cc libinterp/operators/op-bm-sbm.cc libinterp/operators/op-cdm-cdm.cc libinterp/operators/op-cell.cc libinterp/operators/op-chm.cc libinterp/operators/op-class.cc libinterp/operators/op-cm-cm.cc libinterp/operators/op-cm-cs.cc libinterp/operators/op-cm-m.cc libinterp/operators/op-cm-s.cc libinterp/operators/op-cm-scm.cc libinterp/operators/op-cm-sm.cc libinterp/operators/op-cs-cm.cc libinterp/operators/op-cs-cs.cc libinterp/operators/op-cs-m.cc libinterp/operators/op-cs-s.cc libinterp/operators/op-cs-scm.cc libinterp/operators/op-cs-sm.cc libinterp/operators/op-dm-dm.cc libinterp/operators/op-dm-scm.cc libinterp/operators/op-dm-sm.cc libinterp/operators/op-dms-template.cc libinterp/operators/op-double-conv.cc libinterp/operators/op-fcdm-fcdm.cc libinterp/operators/op-fcdm-fdm.cc libinterp/operators/op-fcm-fcm.cc libinterp/operators/op-fcm-fcs.cc libinterp/operators/op-fcm-fm.cc libinterp/operators/op-fcm-fs.cc libinterp/operators/op-fcn.cc libinterp/operators/op-fcs-fcm.cc libinterp/operators/op-fcs-fcs.cc libinterp/operators/op-fcs-fm.cc libinterp/operators/op-fcs-fs.cc libinterp/operators/op-fdm-fdm.cc libinterp/operators/op-float-conv.cc libinterp/operators/op-fm-fcm.cc libinterp/operators/op-fm-fcs.cc libinterp/operators/op-fm-fm.cc libinterp/operators/op-fm-fs.cc libinterp/operators/op-fs-fcm.cc libinterp/operators/op-fs-fcs.cc libinterp/operators/op-fs-fm.cc libinterp/operators/op-fs-fs.cc libinterp/operators/op-i16-i16.cc libinterp/operators/op-i32-i32.cc libinterp/operators/op-i64-i64.cc libinterp/operators/op-i8-i8.cc libinterp/operators/op-int-concat.cc libinterp/operators/op-int-conv.cc libinterp/operators/op-int.h libinterp/operators/op-m-cm.cc libinterp/operators/op-m-cs.cc libinterp/operators/op-m-m.cc libinterp/operators/op-m-s.cc libinterp/operators/op-m-scm.cc libinterp/operators/op-m-sm.cc libinterp/operators/op-pm-pm.cc libinterp/operators/op-pm-scm.cc libinterp/operators/op-pm-sm.cc libinterp/operators/op-range.cc libinterp/operators/op-s-cm.cc libinterp/operators/op-s-cs.cc libinterp/operators/op-s-m.cc libinterp/operators/op-s-s.cc libinterp/operators/op-s-scm.cc libinterp/operators/op-s-sm.cc libinterp/operators/op-sbm-b.cc libinterp/operators/op-sbm-bm.cc libinterp/operators/op-sbm-sbm.cc libinterp/operators/op-scm-cm.cc libinterp/operators/op-scm-cs.cc libinterp/operators/op-scm-m.cc libinterp/operators/op-scm-s.cc libinterp/operators/op-scm-scm.cc libinterp/operators/op-scm-sm.cc libinterp/operators/op-sm-cm.cc libinterp/operators/op-sm-cs.cc libinterp/operators/op-sm-m.cc libinterp/operators/op-sm-s.cc libinterp/operators/op-sm-scm.cc libinterp/operators/op-sm-sm.cc libinterp/operators/op-str-m.cc libinterp/operators/op-str-s.cc libinterp/operators/op-str-str.cc libinterp/operators/op-struct.cc libinterp/operators/op-ui16-ui16.cc libinterp/operators/op-ui32-ui32.cc libinterp/operators/op-ui64-ui64.cc libinterp/operators/op-ui8-ui8.cc libinterp/operators/ops.h libinterp/parse-tree/lex.ll libinterp/parse-tree/pt-assign.cc libinterp/parse-tree/pt-eval.cc libinterp/parse-tree/pt-idx.cc libinterp/parse-tree/pt-loop.cc libinterp/parse-tree/pt-mat.cc libinterp/parse-tree/pt-stmt.cc liboctave/array/Array-util.cc liboctave/array/Array-util.h liboctave/array/Array.cc liboctave/array/CColVector.cc liboctave/array/CDiagMatrix.cc liboctave/array/CMatrix.cc liboctave/array/CNDArray.cc liboctave/array/CRowVector.cc liboctave/array/CSparse.cc liboctave/array/DiagArray2.cc liboctave/array/MDiagArray2.cc liboctave/array/MSparse.cc liboctave/array/PermMatrix.cc liboctave/array/Range.cc liboctave/array/Sparse.cc liboctave/array/dColVector.cc liboctave/array/dDiagMatrix.cc liboctave/array/dMatrix.cc liboctave/array/dNDArray.cc liboctave/array/dRowVector.cc liboctave/array/dSparse.cc liboctave/array/fCColVector.cc liboctave/array/fCDiagMatrix.cc liboctave/array/fCMatrix.cc liboctave/array/fCNDArray.cc liboctave/array/fCRowVector.cc liboctave/array/fColVector.cc liboctave/array/fDiagMatrix.cc liboctave/array/fMatrix.cc liboctave/array/fNDArray.cc liboctave/array/fRowVector.cc liboctave/array/idx-vector.cc liboctave/numeric/CmplxGEPBAL.cc liboctave/numeric/dbleGEPBAL.cc liboctave/numeric/fCmplxGEPBAL.cc liboctave/numeric/floatGEPBAL.cc liboctave/operators/Sparse-diag-op-defs.h liboctave/operators/Sparse-op-defs.h liboctave/operators/Sparse-perm-op-defs.h liboctave/operators/mx-inlines.cc liboctave/operators/mx-op-defs.h liboctave/util/lo-array-errwarn.cc liboctave/util/lo-array-errwarn.h liboctave/util/lo-array-gripes.cc liboctave/util/lo-array-gripes.h liboctave/util/module.mk liboctave/util/oct-binmap.h
diffstat 287 files changed, 2362 insertions(+), 1506 deletions(-) [+]
line wrap: on
line diff
--- a/libinterp/corefcn/Cell.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/Cell.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 
 #include "Cell.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 
 Cell::Cell (const octave_value_list& ovl)
@@ -275,7 +275,7 @@
 octave_idx_type
 Cell::nnz (void) const
 {
-  gripe_wrong_type_arg ("nnz", "cell array");
+  err_wrong_type_arg ("nnz", "cell array");
   return -1;
 }
 
--- a/libinterp/corefcn/__pchip_deriv__.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/__pchip_deriv__.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -27,7 +27,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 #include "f77-fcn.h"
--- a/libinterp/corefcn/__qp__.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/__qp__.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "pr-output.h"
 #include "utils.h"
--- a/libinterp/corefcn/balance.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/balance.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -42,7 +42,7 @@
 #include "defun.h"
 #include "error.h"
 #include "f77-fcn.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -105,7 +105,7 @@
   octave_idx_type nn = args(0).rows ();
 
   if (nn != args(0).columns ())
-    gripe_square_matrix_required ("balance");
+    err_square_matrix_required ("balance");
 
   bool isfloat = args(0).is_single_type ()
                  || (! AEPcase && args(1).is_single_type ());
@@ -224,7 +224,7 @@
         bal_job = args(2).xstring_value ("balance: OPT argument must be a string");
 
       if ((nn != args(1).columns ()) || (nn != args(1).rows ()))
-        gripe_nonconformant ();
+        err_nonconformant ();
 
       Matrix bb;
       ComplexMatrix cbb;
--- a/libinterp/corefcn/betainc.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/betainc.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
--- a/libinterp/corefcn/cellfun.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/cellfun.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -42,7 +42,7 @@
 #include "parse.h"
 #include "variables.h"
 #include "unwind-prot.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "toplev.h"
 #include "utils.h"
 
@@ -1831,7 +1831,7 @@
   else if (array.is_cell ())
     retval = do_num2cell (array.cell_value (), dimv);
   else
-    gripe_wrong_type_arg ("num2cell", array);
+    err_wrong_type_arg ("num2cell", array);
 
   return retval;
 }
@@ -2165,7 +2165,7 @@
 #undef BTYP_BRANCH
 
     case btyp_func_handle:
-      gripe_wrong_type_arg ("mat2cell", a);
+      err_wrong_type_arg ("mat2cell", a);
       break;
 
     default:
--- a/libinterp/corefcn/daspk.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/daspk.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov-fcn.h"
 #include "ov-cell.h"
@@ -81,7 +81,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "daspk");
+          err_user_supplied_eval (e, "daspk");
         }
 
       int tlen = tmp.length ();
@@ -99,10 +99,10 @@
             ires = tmp(1).idx_type_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("daspk");
+            err_user_supplied_eval ("daspk");
         }
       else
-        gripe_user_supplied_eval ("daspk");
+        err_user_supplied_eval ("daspk");
     }
 
   return retval;
@@ -133,7 +133,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "daspk");
+          err_user_supplied_eval (e, "daspk");
         }
 
       int tlen = tmp.length ();
@@ -148,10 +148,10 @@
           retval = tmp(0).matrix_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("daspk");
+            err_user_supplied_eval ("daspk");
         }
       else
-        gripe_user_supplied_eval ("daspk");
+        err_user_supplied_eval ("daspk");
     }
 
   return retval;
--- a/libinterp/corefcn/dasrt.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/dasrt.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov-fcn.h"
 #include "ov-cell.h"
@@ -81,7 +81,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "dasrt");
+          err_user_supplied_eval (e, "dasrt");
         }
 
       if (tmp.length () > 0 && tmp(0).is_defined ())
@@ -95,10 +95,10 @@
           retval = tmp(0).vector_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("dasrt");
+            err_user_supplied_eval ("dasrt");
         }
       else
-        gripe_user_supplied_eval ("dasrt");
+        err_user_supplied_eval ("dasrt");
     }
 
   return retval;
@@ -124,7 +124,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "dasrt");
+          err_user_supplied_eval (e, "dasrt");
         }
 
       if (tmp.length () > 0 && tmp(0).is_defined ())
@@ -138,10 +138,10 @@
           retval = tmp(0).vector_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("dasrt");
+            err_user_supplied_eval ("dasrt");
         }
       else
-        gripe_user_supplied_eval ("dasrt");
+        err_user_supplied_eval ("dasrt");
     }
 
   return retval;
@@ -172,7 +172,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "dasrt");
+          err_user_supplied_eval (e, "dasrt");
         }
 
       int tlen = tmp.length ();
@@ -187,10 +187,10 @@
           retval = tmp(0).matrix_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("dasrt");
+            err_user_supplied_eval ("dasrt");
         }
       else
-        gripe_user_supplied_eval ("dasrt");
+        err_user_supplied_eval ("dasrt");
     }
 
   return retval;
--- a/libinterp/corefcn/dassl.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/dassl.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov-fcn.h"
 #include "ov-cell.h"
@@ -81,7 +81,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "dassl");
+          err_user_supplied_eval (e, "dassl");
         }
 
       int tlen = tmp.length ();
@@ -99,10 +99,10 @@
             ires = tmp(1).int_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("dassl");
+            err_user_supplied_eval ("dassl");
         }
       else
-        gripe_user_supplied_eval ("dassl");
+        err_user_supplied_eval ("dassl");
     }
 
   return retval;
@@ -133,7 +133,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "dassl");
+          err_user_supplied_eval (e, "dassl");
         }
 
       int tlen = tmp.length ();
@@ -148,10 +148,10 @@
           retval = tmp(0).matrix_value ();
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("dassl");
+            err_user_supplied_eval ("dassl");
         }
       else
-        gripe_user_supplied_eval ("dassl");
+        err_user_supplied_eval ("dassl");
     }
 
   return retval;
--- a/libinterp/corefcn/data.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/data.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -51,7 +51,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-map.h"
 #include "ovl.h"
 #include "ov.h"
@@ -229,10 +229,10 @@
   octave_value retval;
 
   if (! args(0).is_numeric_type ())
-    gripe_wrong_type_arg ("atan2", args(0));
+    err_wrong_type_arg ("atan2", args(0));
 
   if (! args(1).is_numeric_type ())
-    gripe_wrong_type_arg ("atan2", args(1));
+    err_wrong_type_arg ("atan2", args(1));
 
   if (args(0).is_complex_type () || args(1).is_complex_type ())
     error ("atan2: not defined for complex numbers");
@@ -339,9 +339,9 @@
   octave_value arg0 = x;
   octave_value arg1 = y;
   if (! arg0.is_numeric_type ())
-    gripe_wrong_type_arg ("hypot", arg0);
+    err_wrong_type_arg ("hypot", arg0);
   else if (! arg1.is_numeric_type ())
-    gripe_wrong_type_arg ("hypot", arg1);
+    err_wrong_type_arg ("hypot", arg1);
   else
     {
       if (arg0.is_complex_type ())
@@ -548,7 +548,7 @@
       retval = ovl (f, e);
     }
   else
-    gripe_wrong_type_arg ("log2", args(0));
+    err_wrong_type_arg ("log2", args(0));
 
   return retval;
 }
@@ -615,10 +615,10 @@
   octave_value retval;
 
   if (! args(0).is_numeric_type ())
-    gripe_wrong_type_arg ("rem", args(0));
+    err_wrong_type_arg ("rem", args(0));
 
   if (! args(1).is_numeric_type ())
-    gripe_wrong_type_arg ("rem", args(1));
+    err_wrong_type_arg ("rem", args(1));
 
   if (args(0).is_complex_type () || args(1).is_complex_type ())
     error ("rem: not defined for complex numbers");
@@ -796,10 +796,10 @@
   octave_value retval;
 
   if (! args(0).is_numeric_type ())
-    gripe_wrong_type_arg ("mod", args(0));
+    err_wrong_type_arg ("mod", args(0));
 
   if (! args(1).is_numeric_type ())
-    gripe_wrong_type_arg ("mod", args(1));
+    err_wrong_type_arg ("mod", args(1));
 
   if (args(0).is_complex_type () || args(1).is_complex_type ())
     error ("mod: not defined for complex numbers");
@@ -1039,7 +1039,7 @@
             } \
           else \
             { \
-              gripe_wrong_type_arg (#FCN, arg); \
+              err_wrong_type_arg (#FCN, arg); \
               return retval; \
             } \
         } \
@@ -1079,7 +1079,7 @@
         } \
       else \
         { \
-          gripe_wrong_type_arg (#FCN, arg); \
+          err_wrong_type_arg (#FCN, arg); \
           return retval; \
         } \
     } \
@@ -1147,7 +1147,7 @@
     } \
   else \
     { \
-      gripe_wrong_type_arg (#FCN, arg); \
+      err_wrong_type_arg (#FCN, arg); \
       return retval; \
     } \
  \
@@ -1321,7 +1321,7 @@
       break;
 
     default:
-      gripe_wrong_type_arg ("cumsum", arg);
+      err_wrong_type_arg ("cumsum", arg);
     }
 
   return retval;
@@ -1608,7 +1608,7 @@
       break;
 
     default:
-      gripe_wrong_type_arg ("prod", arg);
+      err_wrong_type_arg ("prod", arg);
     }
 
   return retval;
@@ -2033,8 +2033,8 @@
           char type = all_dq_strings_p ? '"' : '\'';
 
           if (! all_strings_p)
-            gripe_implicit_conversion ("Octave:num-to-str",
-                                       "numeric", result_type);
+            warn_implicit_conversion ("Octave:num-to-str",
+                                      "numeric", result_type);
           else
             maybe_warn_string_concat (all_dq_strings_p, all_sq_strings_p);
 
@@ -3095,7 +3095,7 @@
       break;
 
     default:
-      gripe_wrong_type_arg ("sum", arg);
+      err_wrong_type_arg ("sum", arg);
     }
 
   return retval;
@@ -5641,7 +5641,7 @@
         error ("norm: unrecognized option: %s", str.c_str ());
     }
   else if (! p_arg.is_scalar_type ())
-    gripe_wrong_type_arg ("norm", p_arg, true);
+    err_wrong_type_arg ("norm", p_arg);
 
   octave_value retval;
 
@@ -6929,7 +6929,7 @@
           if (argx.is_cellstr ())
             retval = argx.cellstr_value ().nth_element (n, dim);
           else
-            gripe_wrong_type_arg ("nth_element", argx);
+            err_wrong_type_arg ("nth_element", argx);
         }
     }
   catch (const index_exception& e)
@@ -7015,7 +7015,7 @@
             retval = do_accumarray_sum (idx, vals.array_value (), n);
         }
       else
-        gripe_wrong_type_arg ("accumarray", vals);
+        err_wrong_type_arg ("accumarray", vals);
     }
   catch (const index_exception& e)
     {
@@ -7126,7 +7126,7 @@
           break;
 
         default:
-          gripe_wrong_type_arg ("accumarray", vals);
+          err_wrong_type_arg ("accumarray", vals);
         }
     }
   catch (const index_exception& e)
@@ -7235,7 +7235,7 @@
             retval = do_accumdim_sum (idx, vals.array_value (), dim, n);
         }
       else
-        gripe_wrong_type_arg ("accumdim", vals);
+        err_wrong_type_arg ("accumdim", vals);
     }
   catch (const index_exception& e)
     {
@@ -7726,7 +7726,7 @@
 #undef BTYP_BRANCH
 
     default:
-      gripe_wrong_type_arg ("repelems", x);
+      err_wrong_type_arg ("repelems", x);
     }
 
   return retval;
--- a/libinterp/corefcn/debug.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/debug.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -44,7 +44,7 @@
 #include "utils.h"
 #include "parse.h"
 #include "symtab.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "octave-preserve-stream-state.h"
 #include "ov.h"
 #include "ov-usr-fcn.h"
@@ -730,7 +730,7 @@
           bp_list = bp_table::get_breakpoint_list (fcn_list);
         }
       else
-        gripe_wrong_type_arg ("dbstatus", args(0));
+        err_wrong_type_arg ("dbstatus", args(0));
     }
   else
     {
--- a/libinterp/corefcn/defaults.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/defaults.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -43,7 +43,7 @@
 #include "defun.h"
 #include "error.h"
 #include "file-ops.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "help.h"
 #include "input.h"
 #include "load-path.h"
--- a/libinterp/corefcn/det.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/det.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 #include "ops.h"
@@ -82,7 +82,7 @@
     return octave_value (1.0);
 
   if (nr != nc)
-    gripe_square_matrix_required ("det");
+    err_square_matrix_required ("det");
 
   octave_value_list retval (2);
 
@@ -226,7 +226,7 @@
             }
         }
       else
-        gripe_wrong_type_arg ("det", arg);
+        err_wrong_type_arg ("det", arg);
     }
 
   return retval;
--- a/libinterp/corefcn/dirfns.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/dirfns.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -48,7 +48,7 @@
 #include "dir-ops.h"
 #include "dirfns.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "load-path.h"
 #include "octave-link.h"
--- a/libinterp/corefcn/eig.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/eig.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -74,7 +74,7 @@
 
   if (! arg_a.is_double_type () && ! arg_a.is_single_type ())
     {
-      gripe_wrong_type_arg ("eig", arg_a);
+      err_wrong_type_arg ("eig", arg_a);
       return retval;
     }
 
@@ -92,16 +92,16 @@
 
       if (!(arg_b.is_single_type () || arg_b.is_double_type ()))
         {
-          gripe_wrong_type_arg ("eig", arg_b);
+          err_wrong_type_arg ("eig", arg_b);
           return retval;
         }
     }
 
   if (nr_a != nc_a)
-    gripe_square_matrix_required ("eig");
+    err_square_matrix_required ("eig");
 
   if (nargin == 2 && nr_b != nc_b)
-    gripe_square_matrix_required ("eig");
+    err_square_matrix_required ("eig");
 
   Matrix tmp_a, tmp_b;
   ComplexMatrix ctmp_a, ctmp_b;
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libinterp/corefcn/errwarn.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -0,0 +1,333 @@
+/*
+
+Copyright (C) 2016 Rik Wehbring
+
+This file is part of Octave.
+
+Octave is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+Octave is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Octave; see the file COPYING.  If not, see
+<http://www.gnu.org/licenses/>.
+
+*/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "defun.h"
+#include "error.h"
+#include "errwarn.h"
+#include "ovl.h"
+#include "utils.h"
+
+////////////////////////////////////////////////////////////////////////////////
+// Alphabetized list of common errors and warnings.
+////////////////////////////////////////////////////////////////////////////////
+
+void
+err_2_or_3_dim_plot (void)
+{
+  error ("plot: can only plot in 2 or 3 dimensions");
+}
+
+void
+err_data_conversion (const char *from, const char *to)
+{
+  error ("unable to convert from %s to %s format", from, to);
+}
+
+void
+err_disabled_feature (const std::string& fcn, const std::string& feature,
+                      const std::string& pkg /*="Octave"*/)
+{
+  error ("%s: support for %s was unavailable or disabled when %s was built",
+         fcn.c_str (), feature.c_str (), pkg.c_str ());
+}
+
+void
+err_indexed_cs_list (void)
+{
+  error ("a cs-list cannot be further indexed");
+}
+
+void
+err_invalid_conversion (const std::string& from, const std::string& to)
+{
+  error ("invalid conversion from %s to %s", from.c_str (), to.c_str ());
+}
+
+void
+err_invalid_inquiry_subscript (void)
+{
+  error ("invalid dimension inquiry of a non-existent value");
+}
+
+void
+err_nonbraced_cs_list_assignment (void)
+{
+  error ("invalid assignment to cs-list outside multiple assignment");
+}
+
+void
+err_nonconformant (void)
+{
+  error ("nonconformant matrices");
+}
+
+void
+err_nonconformant (octave_idx_type r1, octave_idx_type c1,
+                   octave_idx_type r2, octave_idx_type c2)
+{
+  error ("nonconformant matrices (op1 is %dx%d, op2 is %dx%d)",
+         r1, c1, r2, c2);
+}
+
+void
+err_not_implemented (const char *fcn)
+{
+  error ("%s: not implemented", fcn);
+}
+
+void
+err_range_invalid (void)
+{
+  error ("range constant used in invalid context");
+}
+
+void
+err_square_matrix_required (const char *name)
+{
+  error ("%s: argument must be a square matrix", name);
+}
+
+void
+err_string_invalid (void)
+{
+  error ("std::string constant used in invalid context");
+}
+
+void
+err_unrecognized_data_fmt (const char *name)
+{
+  error ("%s: unrecognized data format requested", name);
+}
+
+void
+err_unrecognized_float_fmt (void)
+{
+  error ("unrecognized floating point format requested");
+}
+
+void
+err_user_returned_invalid (const char *name)
+{
+  error ("%s: user-supplied function returned invalid value", name);
+}
+
+void
+err_user_supplied_eval (const char *name)
+{
+  octave_execution_exception e;
+
+  err_user_supplied_eval (e, name);
+}
+
+void
+err_user_supplied_eval (octave_execution_exception& e, const char *name)
+{
+  error (e, "%s: evaluation of user-supplied function failed", name);
+}
+
+void
+err_wrong_type_arg (const char *name, const char *s)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, name, s);
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e,
+                    const char *name, const char *s)
+{
+  error (e, "%s: wrong type argument '%s'", name, s);
+}
+
+void
+err_wrong_type_arg (const char *name, const std::string& s)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, name, s.c_str ());
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e,
+                    const char *name, const std::string& s)
+{
+  err_wrong_type_arg (e, name, s.c_str ());
+}
+
+void
+err_wrong_type_arg (const char *name, const octave_value& tc)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, name, tc);
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e,
+                    const char *name, const octave_value& tc)
+{
+  std::string type = tc.type_name ();
+
+  err_wrong_type_arg (e, name, type);
+}
+
+void
+err_wrong_type_arg (const std::string& name, const octave_value& tc)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, name, tc);
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e,
+                    const std::string& name, const octave_value& tc)
+{
+  err_wrong_type_arg (e, name.c_str (), tc);
+}
+
+void
+err_wrong_type_arg (const char *s)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, s);
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e, const char *s)
+{
+  error (e, "wrong type argument '%s'", s);
+}
+
+void
+err_wrong_type_arg (const std::string& s)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, s);
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e, const std::string& s)
+{
+  err_wrong_type_arg (e, s.c_str ());
+}
+
+void
+err_wrong_type_arg (const octave_value& tc)
+{
+  octave_execution_exception e;
+
+  err_wrong_type_arg (e, tc);
+}
+
+void
+err_wrong_type_arg (octave_execution_exception& e, const octave_value& tc)
+{
+  std::string type = tc.type_name ();
+
+  err_wrong_type_arg (e, type);
+}
+
+void
+err_wrong_type_arg_for_binary_op (const octave_value& op)
+{
+  std::string type = op.type_name ();
+  error ("invalid operand '%s' for binary operator", type.c_str ());
+}
+
+void
+err_wrong_type_arg_for_unary_op (const octave_value& op)
+{
+  std::string type = op.type_name ();
+  error ("invalid operand '%s' for unary operator", type.c_str ());
+}
+
+void
+warn_complex_cmp (void)
+{
+  warning_with_id ("Octave:language-extension",
+                   "comparing complex numbers is not supported in Matlab");
+}
+
+void
+warn_data_file_in_path (const std::string& fcn, const std::string& file)
+{
+  warning_with_id ("Octave:data-file-in-path",
+                   "%s: '%s' found by searching load path",
+                   fcn.c_str (), file.c_str ());
+}
+
+void
+warn_divide_by_zero (void)
+{
+  warning_with_id ("Octave:divide-by-zero", "division by zero");
+}
+
+void
+warn_empty_arg (const char *name)
+{
+  warning ("%s: argument is empty matrix", name);
+}
+
+void
+warn_implicit_conversion (const char *id, const char *from, const char *to)
+{
+  warning_with_id (id, "implicit conversion from %s to %s", from, to);
+}
+
+void
+warn_implicit_conversion (const std::string& id,
+                          const std::string& from, const std::string& to)
+{
+  warning_with_id (id.c_str (),
+                   "implicit conversion from %s to %s",
+                   from.c_str (), to.c_str ());
+}
+
+void
+warn_invalid_value_specified (const char *name)
+{
+  warning ("invalid value specified for '%s'", name);
+}
+
+void
+warn_logical_conversion (void)
+{
+  warning_with_id ("Octave:logical-conversion",
+                   "value not equal to 1 or 0 converted to logical 1");
+}
+
+void
+warn_wrong_type_arg (const char *name, const octave_value& tc)
+{
+  std::string type = tc.type_name ();
+
+  warning ("%s: wrong type argument '%s'", name, type.c_str ());
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/libinterp/corefcn/errwarn.h	Mon Jan 18 18:28:06 2016 -0800
@@ -0,0 +1,175 @@
+/*
+
+Copyright (C) 2016 Rik Wehbring
+
+This file is part of Octave.
+
+Octave is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+Octave is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Octave; see the file COPYING.  If not, see
+<http://www.gnu.org/licenses/>.
+
+*/
+
+#if ! defined (octave_errwarn_h)
+#define octave_errwarn_h 1
+
+#include <string>
+
+#include "lo-array-errwarn.h"
+
+class octave_value;
+class octave_execution_exception;
+
+////////////////////////////////////////////////////////////////////////////////
+// Alphabetized list of common errors and warnings.
+////////////////////////////////////////////////////////////////////////////////
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_2_or_3_dim_plot (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_data_conversion (const char *from, const char *to);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_disabled_feature (const std::string& fcn,
+                           const std::string& feature,
+                           const std::string& pkg="Octave");
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_indexed_cs_list (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_invalid_conversion (const std::string& from, const std::string& to);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_invalid_inquiry_subscript (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_nonbraced_cs_list_assignment (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_nonconformant (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_nonconformant (octave_idx_type r1, octave_idx_type c1,
+                        octave_idx_type r2, octave_idx_type c2);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_not_implemented (const char *);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_range_invalid (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_square_matrix_required (const char *name);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_string_invalid (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_unrecognized_data_fmt (const char *name);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_unrecognized_float_fmt (void);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_user_returned_invalid (const char *name);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_user_supplied_eval (const char *name);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_user_supplied_eval (octave_execution_exception& e, const char *name);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const char *name, const char *s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (octave_execution_exception& e,
+                         const char *name, const char *s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const char *name, const std::string& s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (octave_execution_exception& e,
+                         const char *name, const std::string& s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const char *name, const octave_value& tc);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (octave_execution_exception& e,
+                         const char *name, const octave_value& tc);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const std::string& name, const octave_value& tc);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (octave_execution_exception& e,
+                         const std::string& name, const octave_value& tc);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const char *s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (octave_execution_exception& e, const char *s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const std::string& s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (octave_execution_exception& e, const std::string& s);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg (const octave_value& tc);
+
+OCTAVE_NORETURN OCTINTERP_API extern 
+void err_wrong_type_arg (octave_execution_exception& e, const octave_value& tc);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg_for_binary_op (const octave_value& op);
+
+OCTAVE_NORETURN OCTINTERP_API extern
+void err_wrong_type_arg_for_unary_op (const octave_value& op);
+
+OCTINTERP_API extern
+void warn_complex_cmp (void);
+
+OCTINTERP_API extern
+void warn_data_file_in_path (const std::string& fcn, const std::string& file);
+
+OCTINTERP_API extern
+void warn_divide_by_zero (void);
+
+OCTINTERP_API extern
+void warn_empty_arg (const char *name);
+
+OCTINTERP_API extern
+void warn_implicit_conversion (const char *id,
+                               const char *from, const char *to);
+
+OCTINTERP_API extern
+void warn_implicit_conversion (const std::string& id,
+                               const std::string& from, const std::string& to);
+
+OCTINTERP_API extern
+void warn_invalid_value_specified (const char *name);
+
+OCTINTERP_API extern
+void warn_logical_conversion (void);
+
+OCTINTERP_API extern
+void warn_wrong_type_arg (const char *name, const octave_value& tc);
+
+#endif
--- a/libinterp/corefcn/fft.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/fft.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -145,7 +145,7 @@
           retval = (type != 0 ? cnda.ifourier (dim) : cnda.fourier (dim));
         }
       else
-        gripe_wrong_type_arg (fcn, arg);
+        err_wrong_type_arg (fcn, arg);
     }
 
   return retval;
--- a/libinterp/corefcn/fft2.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/fft2.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -133,7 +133,7 @@
           retval = (type != 0 ? cnda.ifourier2d () : cnda.fourier2d ());
         }
       else
-        gripe_wrong_type_arg (fcn, arg);
+        err_wrong_type_arg (fcn, arg);
     }
 
   return retval;
--- a/libinterp/corefcn/fftn.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/fftn.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -119,7 +119,7 @@
           retval = (type != 0 ? cnda.ifourierNd () : cnda.fourierNd ());
         }
       else
-        gripe_wrong_type_arg (fcn, arg);
+        err_wrong_type_arg (fcn, arg);
     }
 
   return retval;
--- a/libinterp/corefcn/find.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/find.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 
 // Find at most N_TO_FIND nonzero elements in NDA.  Search forward if
@@ -482,7 +482,7 @@
           retval = find_nonzero_elem_idx (v, nargout, n_to_find, direction);
         }
       else
-        gripe_wrong_type_arg ("find", arg);
+        err_wrong_type_arg ("find", arg);
     }
   else if (arg.is_perm_matrix ())
     {
@@ -524,7 +524,7 @@
       retval = find_nonzero_elem_idx (cnda, nargout, n_to_find, direction);
     }
   else
-    gripe_wrong_type_arg ("find", arg);
+    err_wrong_type_arg ("find", arg);
 
   return retval;
 }
--- a/libinterp/corefcn/gammainc.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/gammainc.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
--- a/libinterp/corefcn/gcd.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/gcd.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -336,7 +336,7 @@
       if (aa.numel () == 1)
         dv = bb.dims ();
       else if (bb.numel () != 1 && bb.dims () != dv)
-        gripe_nonconformant ("gcd", a.dims (), b.dims ());
+        err_nonconformant ("gcd", a.dims (), b.dims ());
 
       NDA gg (dv), xx (dv), yy (dv);
 
--- a/libinterp/corefcn/getgrent.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/getgrent.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-map.h"
 #include "ov.h"
 #include "ovl.h"
--- a/libinterp/corefcn/getpwent.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/getpwent.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-map.h"
 #include "ov.h"
 #include "ovl.h"
--- a/libinterp/corefcn/graphics.in.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/graphics.in.h	Mon Jan 18 18:28:06 2016 -0800
@@ -38,7 +38,7 @@
 
 #include "caseless-str.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-handle.h"
 #include "oct-map.h"
 #include "oct-mutex.h"
@@ -2801,7 +2801,7 @@
       error ("base_graphics_object::default: invalid graphics object");
 
     std::string msg = (type () + "::defaults");
-    gripe_not_implemented (msg.c_str ());
+    err_not_implemented (msg.c_str ());
   }
 
   virtual base_properties& get_properties (void)
--- a/libinterp/corefcn/help.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/help.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -47,7 +47,7 @@
 #include "defun.h"
 #include "dirfns.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "help.h"
 #include "input.h"
 #include "load-path.h"
--- a/libinterp/corefcn/hess.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/hess.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -31,7 +31,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -80,7 +80,7 @@
     return octave_value_list (2, Matrix ());
 
   if (nr != nc)
-    gripe_square_matrix_required ("hess");
+    err_square_matrix_required ("hess");
 
   octave_value_list retval;
 
@@ -139,7 +139,7 @@
         }
       else
         {
-          gripe_wrong_type_arg ("hess", arg);
+          err_wrong_type_arg ("hess", arg);
         }
     }
 
--- a/libinterp/corefcn/hex2num.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/hex2num.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
--- a/libinterp/corefcn/input.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/input.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -47,7 +47,7 @@
 #include "defun.h"
 #include "dirfns.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "help.h"
 #include "hook-fcn.h"
 #include "input.h"
--- a/libinterp/corefcn/inv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/inv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ops.h"
 #include "ov-re-diag.h"
@@ -74,7 +74,7 @@
     return octave_value (Matrix ());
 
   if (nr != nc)
-    gripe_square_matrix_required ("inverse");
+    err_square_matrix_required ("inverse");
 
   octave_value result;
   octave_idx_type info;
@@ -183,7 +183,7 @@
             }
         }
       else
-        gripe_wrong_type_arg ("inv", arg);
+        err_wrong_type_arg ("inv", arg);
     }
 
   octave_value_list retval (nargout > 1 ? 2 : 1);
@@ -206,7 +206,7 @@
     }
 
   if (nargout < 2 && (info == -1 || rcond_plus_one_eq_one))
-    gripe_singular_matrix (isfloat ? frcond : rcond);
+    errwarn_singular_matrix (isfloat ? frcond : rcond);
 
   return retval;
 }
--- a/libinterp/corefcn/jit-typeinfo.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/jit-typeinfo.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -213,24 +213,24 @@
 }
 
 extern "C" void
-octave_jit_gripe_nan_to_logical_conversion (void)
+octave_jit_err_nan_to_logical_conversion (void)
 {
-  gripe_nan_to_logical_conversion ();
+  err_nan_to_logical_conversion ();
 }
 
 extern "C" void
 octave_jit_ginvalid_index (void)
 {
-  // FIXME: 0-argument form of gripe_invalid_index removed in cset dd6345fd8a97
+  // FIXME: 0-argument form of err_invalid_index removed in cset dd6345fd8a97
   //        Report -1 as the bad index for all occurrences.
-  gripe_invalid_index (-1);
+  err_invalid_index (-1);
 }
 
 extern "C" void
 octave_jit_gindex_range (int nd, int dim, octave_idx_type iext,
                          octave_idx_type ext)
 {
-  gripe_index_out_of_range (nd, dim, iext, ext);
+  err_index_out_of_range (nd, dim, iext, ext);
 }
 
 extern "C" jit_matrix
@@ -386,7 +386,7 @@
 {
   // see src/OPERATORS/op-cs-cs.cc
   if (rhs == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return lhs / rhs;
 }
@@ -1233,7 +1233,7 @@
   add_binary_fcmp (scalar, octave_value::op_gt, llvm::CmpInst::FCMP_UGT);
   add_binary_fcmp (scalar, octave_value::op_ne, llvm::CmpInst::FCMP_UNE);
 
-  jit_function gripe_div0 = create_external (JIT_FN (gripe_divide_by_zero), 0);
+  jit_function gripe_div0 = create_external (JIT_FN (warn_divide_by_zero), 0);
   gripe_div0.mark_can_error ();
 
   // divide is annoying because it might error
@@ -1508,7 +1508,7 @@
   logically_true_fn.stash_name ("logically_true");
 
   jit_function gripe_nantl
-    = create_external (JIT_FN (octave_jit_gripe_nan_to_logical_conversion), 0);
+    = create_external (JIT_FN (octave_jit_err_nan_to_logical_conversion), 0);
   gripe_nantl.mark_can_error ();
 
   fn = create_internal ("octave_jit_logically_true_scalar", boolean, scalar);
--- a/libinterp/corefcn/load-save.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/load-save.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -56,7 +56,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-path.h"
 #include "load-save.h"
 #include "oct-hdf5.h"
@@ -396,7 +396,7 @@
           break;
 
         default:
-          gripe_unrecognized_data_fmt ("load");
+          err_unrecognized_data_fmt ("load");
           break;
         }
 
@@ -947,7 +947,7 @@
       break;
 
     default:
-      gripe_unrecognized_data_fmt ("save");
+      err_unrecognized_data_fmt ("save");
       break;
     }
 }
--- a/libinterp/corefcn/lookup.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/lookup.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 
--- a/libinterp/corefcn/ls-hdf5.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/ls-hdf5.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -53,7 +53,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-save.h"
 #include "oct-hdf5.h"
 #include "ovl.h"
--- a/libinterp/corefcn/ls-mat-ascii.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/ls-mat-ascii.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -48,7 +48,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "lex.h"
 #include "load-save.h"
 #include "ls-ascii-helper.h"
--- a/libinterp/corefcn/ls-mat4.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/ls-mat4.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -49,7 +49,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-save.h"
 #include "ovl.h"
 #include "oct-map.h"
@@ -579,7 +579,8 @@
       os.write (reinterpret_cast<const char *> (m.data ()), n_bytes);
     }
   else
-    gripe_wrong_type_arg ("save", tc, false);
+    // FIXME: Should this just error out rather than warn?
+    warn_wrong_type_arg ("save", tc);
 
   return ! os.fail ();
 }
--- a/libinterp/corefcn/ls-mat5.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/ls-mat5.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -53,7 +53,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-save.h"
 #include "load-path.h"
 #include "ovl.h"
@@ -2379,7 +2379,8 @@
     flags |= MAT_FILE_OBJECT_CLASS;
   else
     {
-      gripe_wrong_type_arg ("save", tc, false);
+      // FIXME: Should this just error out rather than warn?
+      warn_wrong_type_arg ("save", tc);
       goto error_cleanup;
     }
 
@@ -2672,7 +2673,8 @@
       }
     }
   else
-    gripe_wrong_type_arg ("save", tc, false);
+    // FIXME: Should this just error out rather than warn?
+    warn_wrong_type_arg ("save", tc);
 
 skip_to_next:
   return true;
--- a/libinterp/corefcn/ls-oct-binary.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/ls-oct-binary.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -49,7 +49,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-save.h"
 #include "ovl.h"
 #include "oct-map.h"
--- a/libinterp/corefcn/ls-oct-text.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/ls-oct-text.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -49,7 +49,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-save.h"
 #include "ls-ascii-helper.h"
 #include "ls-oct-text.h"
--- a/libinterp/corefcn/lsode.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/lsode.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov-fcn.h"
 #include "ov-cell.h"
@@ -78,7 +78,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "lsode");
+          err_user_supplied_eval (e, "lsode");
         }
 
       if (tmp.length () > 0 && tmp(0).is_defined ())
@@ -92,10 +92,10 @@
           retval = tmp(0).xvector_value ("lsode: expecting user supplied function to return numeric vector");
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("lsode");
+            err_user_supplied_eval ("lsode");
         }
       else
-        gripe_user_supplied_eval ("lsode");
+        err_user_supplied_eval ("lsode");
     }
 
   return retval;
@@ -120,7 +120,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "lsode");
+          err_user_supplied_eval (e, "lsode");
         }
 
       if (tmp.length () > 0 && tmp(0).is_defined ())
@@ -134,10 +134,10 @@
           retval = tmp(0).xmatrix_value ("lsode: expecting user supplied jacobian function to return numeric array");
 
           if (retval.is_empty ())
-            gripe_user_supplied_eval ("lsode");
+            err_user_supplied_eval ("lsode");
         }
       else
-        gripe_user_supplied_eval ("lsode");
+        err_user_supplied_eval ("lsode");
     }
 
   return retval;
--- a/libinterp/corefcn/lu.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/lu.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 #include "ov-re-sparse.h"
@@ -330,7 +330,7 @@
 
         }
       else
-        gripe_wrong_type_arg ("lu", arg);
+        err_wrong_type_arg ("lu", arg);
     }
   else
     {
@@ -482,7 +482,7 @@
             }
         }
       else
-        gripe_wrong_type_arg ("lu", arg);
+        err_wrong_type_arg ("lu", arg);
     }
 
   return retval;
--- a/libinterp/corefcn/luinc.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/luinc.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 #include "oct-map.h"
--- a/libinterp/corefcn/max.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/max.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 
 #include "ov-cx-mat.h"
@@ -331,7 +331,7 @@
           break;
 
         default:
-          gripe_wrong_type_arg (func, arg);
+          err_wrong_type_arg (func, arg);
         }
     }
   else
@@ -966,7 +966,7 @@
       break;
 
     default:
-      gripe_wrong_type_arg (func, arg);
+      err_wrong_type_arg (func, arg);
     }
 
   return retval;
--- a/libinterp/corefcn/mgorth.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/mgorth.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 #include "oct-norm.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 template <class ColumnVector, class Matrix, class RowVector>
 static void
--- a/libinterp/corefcn/module.mk	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/module.mk	Mon Jan 18 18:28:06 2016 -0800
@@ -34,6 +34,7 @@
   libinterp/corefcn/display.h \
   libinterp/corefcn/dynamic-ld.h \
   libinterp/corefcn/error.h \
+  libinterp/corefcn/errwarn.h \
   libinterp/corefcn/event-queue.h \
   libinterp/corefcn/file-io.h \
   libinterp/corefcn/gl-render.h \
@@ -143,6 +144,7 @@
   libinterp/corefcn/eig.cc \
   libinterp/corefcn/ellipj.cc \
   libinterp/corefcn/error.cc \
+  libinterp/corefcn/errwarn.cc \
   libinterp/corefcn/fft.cc \
   libinterp/corefcn/fft2.cc \
   libinterp/corefcn/fftn.cc \
--- a/libinterp/corefcn/oct-hist.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/oct-hist.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -56,7 +56,7 @@
 #include <defaults.h>
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "oct-hist.h"
 #include "ovl.h"
@@ -162,7 +162,7 @@
         }
       else
         {
-          gripe_wrong_type_arg ("history", arg);
+          err_wrong_type_arg ("history", arg);
           return hlist;
         }
 
--- a/libinterp/corefcn/oct-procbuf.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/oct-procbuf.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -39,7 +39,7 @@
 #include "variables.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "utils.h"
 
 #ifndef SHELL_PATH
--- a/libinterp/corefcn/oct-stream.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/oct-stream.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -45,7 +45,7 @@
 #include "str-vec.h"
 
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "oct-stdstrm.h"
 #include "oct-stream.h"
@@ -2182,7 +2182,7 @@
 
         if (val.is_map () || val.is_cell () || val.is_object ())
           {
-            gripe_wrong_type_arg (who, val);
+            err_wrong_type_arg (who, val);
             break;
           }
       }
--- a/libinterp/corefcn/oct.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/oct.h	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "oct-locbuf.h"
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "help.h"
 #include "ovl.h"
 #include "pager.h"
--- a/libinterp/corefcn/pager.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/pager.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "defaults.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "ovl.h"
 #include "pager.h"
--- a/libinterp/corefcn/pinv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/pinv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 #include "ops.h"
@@ -129,7 +129,7 @@
           retval = m.pseudo_inverse (tol);
         }
       else
-        gripe_wrong_type_arg ("pinv", arg);
+        err_wrong_type_arg ("pinv", arg);
     }
   else
     {
@@ -153,7 +153,7 @@
           retval = m.pseudo_inverse (tol);
         }
       else
-        gripe_wrong_type_arg ("pinv", arg);
+        err_wrong_type_arg ("pinv", arg);
     }
 
   return retval;
--- a/libinterp/corefcn/pr-output.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/pr-output.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -48,7 +48,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-stream.h"
 #include "octave-preserve-stream-state.h"
--- a/libinterp/corefcn/quad.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/quad.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "pager.h"
 #include "ovl.h"
 #include "ov-fcn.h"
@@ -75,7 +75,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "quad");
+          err_user_supplied_eval (e, "quad");
         }
 
       if (tmp.length () && tmp(0).is_defined ())
@@ -89,7 +89,7 @@
           retval = tmp(0).xdouble_value ("quad: expecting user supplied function to return numeric value");
         }
       else
-        gripe_user_supplied_eval ("quad");
+        err_user_supplied_eval ("quad");
     }
 
   return retval;
@@ -113,7 +113,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "quad");
+          err_user_supplied_eval (e, "quad");
         }
 
       if (tmp.length () && tmp(0).is_defined ())
@@ -128,7 +128,7 @@
 
         }
       else
-        gripe_user_supplied_eval ("quad");
+        err_user_supplied_eval ("quad");
     }
 
   return retval;
--- a/libinterp/corefcn/qz.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/qz.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -46,7 +46,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-map.h"
 #include "ov.h"
@@ -460,16 +460,16 @@
 
   if (arg_is_empty < 0)
     {
-      gripe_empty_arg ("qz: parameter 1", 0);
+      warn_empty_arg ("qz: parameter 1");
       return retval;
     }
   else if (arg_is_empty > 0)
     {
-      gripe_empty_arg ("qz: parameter 1; continuing", 0);
+      warn_empty_arg ("qz: parameter 1; continuing");
       return octave_value_list (2, Matrix ());
     }
   else if (args(0).columns () != nn)
-    gripe_square_matrix_required ("qz");
+    err_square_matrix_required ("qz");
 
   // Argument 1: dimensions look good; get the value.
   Matrix aa;
@@ -486,7 +486,7 @@
 
   // Extract argument 2 (bb, or cbb if complex).
   if ((nn != args(1).columns ()) || (nn != args(1).rows ()))
-    gripe_nonconformant ();
+    err_nonconformant ();
 
   Matrix bb;
   ComplexMatrix cbb;
--- a/libinterp/corefcn/rand.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/rand.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -41,7 +41,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "unwind-prot.h"
 #include "utils.h"
@@ -209,7 +209,7 @@
           }
         else
           {
-            gripe_wrong_type_arg ("rand", tmp);
+            err_wrong_type_arg ("rand", tmp);
             return retval;
           }
       }
--- a/libinterp/corefcn/rcond.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/rcond.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
--- a/libinterp/corefcn/regexp.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/regexp.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -39,7 +39,7 @@
 #include "defun.h"
 #include "Cell.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-map.h"
 #include "ovl.h"
 #include "utils.h"
--- a/libinterp/corefcn/schur.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/schur.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -167,12 +167,12 @@
   octave_idx_type nc = arg.columns ();
 
   if (nr != nc)
-    gripe_square_matrix_required ("schur");
+    err_square_matrix_required ("schur");
 
   octave_value_list retval;
 
   if (! arg.is_numeric_type ())
-    gripe_wrong_type_arg ("schur", arg);
+    err_wrong_type_arg ("schur", arg);
   else if (arg.is_single_type ())
     {
       if (! force_complex && arg.is_real_type ())
@@ -294,9 +294,9 @@
   octave_value_list retval;
 
   if (! args(0).is_numeric_type ())
-    gripe_wrong_type_arg ("rsf2csf", args(0));
+    err_wrong_type_arg ("rsf2csf", args(0));
   else if (! args(1).is_numeric_type ())
-    gripe_wrong_type_arg ("rsf2csf", args(1));
+    err_wrong_type_arg ("rsf2csf", args(1));
   else if (args(0).is_complex_type () || args(1).is_complex_type ())
     error ("rsf2csf: UR and TR must be real matrices");
   else
--- a/libinterp/corefcn/sparse-xdiv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/sparse-xdiv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 #include <cassert>
 
 #include "Array-util.h"
-#include "lo-array-gripes.h"
+#include "lo-array-errwarn.h"
 #include "oct-cmplx.h"
 #include "quit.h"
 #include "error.h"
@@ -44,7 +44,7 @@
 static void
 solve_singularity_warning (double rcond)
 {
-  gripe_singular_matrix (rcond);
+  errwarn_singular_matrix (rcond);
 }
 
 template <class T1, class T2>
@@ -59,7 +59,7 @@
       octave_idx_type a_nc = a.cols ();
       octave_idx_type b_nc = b.cols ();
 
-      gripe_nonconformant ("operator \\", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator \\", a_nr, a_nc, b_nr, b_nc);
     }
 
   return true;
@@ -93,7 +93,7 @@
       octave_idx_type a_nr = a.rows ();
       octave_idx_type b_nr = b.rows ();
 
-      gripe_nonconformant ("operator /", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator /", a_nr, a_nc, b_nr, b_nc);
     }
 
   return true;
--- a/libinterp/corefcn/sparse-xpow.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/sparse-xpow.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -419,7 +419,7 @@
     return scalar_xpow (a(0), b);
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   int convert_to_complex = 0;
   for (octave_idx_type j = 0; j < nc; j++)
@@ -521,7 +521,7 @@
     return scalar_xpow (a(0), b);
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   SparseComplexMatrix result (nr, nc, Complex (1.0, 0.0));
   for (octave_idx_type j = 0; j < nc; j++)
@@ -661,7 +661,7 @@
     return scalar_xpow (a(0), b);
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   SparseComplexMatrix result (nr, nc, Complex (1.0, 0.0));
   for (octave_idx_type j = 0; j < nc; j++)
@@ -729,7 +729,7 @@
     return scalar_xpow (a(0), b);
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   SparseComplexMatrix result (nr, nc, Complex (1.0, 0.0));
   for (octave_idx_type j = 0; j < nc; j++)
--- a/libinterp/corefcn/sparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/sparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "utils.h"
 #include "pager.h"
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "quit.h"
 #include "unwind-prot.h"
 
@@ -144,7 +144,7 @@
       else if (arg.is_numeric_type ())
         retval = arg.sparse_matrix_value ();
       else
-        gripe_wrong_type_arg ("sparse", arg);
+        err_wrong_type_arg ("sparse", arg);
     }
   else if (nargin == 2)
     {
@@ -207,7 +207,7 @@
             retval = SparseMatrix (args(2).array_value (), i, j,
                                    m, n, summation, nzmax);
           else
-            gripe_wrong_type_arg ("sparse", args(2));
+            err_wrong_type_arg ("sparse", args(2));
         }
       catch (index_exception& e)
         {
--- a/libinterp/corefcn/spparms.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/spparms.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "ov.h"
 #include "pager.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 #include "oct-spparms.h"
 
--- a/libinterp/corefcn/sqrtm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/sqrtm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "utils.h"
 #include "xnorm.h"
 
@@ -221,7 +221,7 @@
   octave_idx_type nc = arg.columns ();
 
   if (n != nc || arg.ndims () > 2)
-    gripe_square_matrix_required ("sqrtm");
+    err_square_matrix_required ("sqrtm");
 
   octave_value_list retval (nargout > 1 ? 3 : 1);
 
--- a/libinterp/corefcn/str2double.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/str2double.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "Cell.h"
 #include "ov.h"
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "utils.h"
 
 static inline bool
--- a/libinterp/corefcn/strfind.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/strfind.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "ov.h"
 #include "defun.h"
 #include "unwind-prot.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "utils.h"
 
 // This allows safe indexing with char.
--- a/libinterp/corefcn/strfns.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/strfns.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ov.h"
 #include "ovl.h"
 #include "unwind-prot.h"
--- a/libinterp/corefcn/sub2ind.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/sub2ind.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -30,7 +30,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 
 
--- a/libinterp/corefcn/svd.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/svd.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -31,7 +31,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "pr-output.h"
 #include "utils.h"
@@ -272,7 +272,7 @@
                               result.right_singular_matrix ());
             }
           else
-            gripe_wrong_type_arg ("svd", arg);
+            err_wrong_type_arg ("svd", arg);
         }
     }
 
--- a/libinterp/corefcn/sylvester.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/sylvester.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -97,11 +97,11 @@
   // Arguments are not empty, so check for correct dimensions.
 
   if (a_nr != a_nc)
-    gripe_square_matrix_required ("sylvester: input A");
+    err_square_matrix_required ("sylvester: input A");
   else if (b_nr != b_nc)
-    gripe_square_matrix_required ("sylvester: input B");
+    err_square_matrix_required ("sylvester: input B");
   else if (a_nr != c_nr || b_nr != c_nc)
-    gripe_nonconformant ();
+    err_nonconformant ();
 
   if (isfloat)
     {
--- a/libinterp/corefcn/syscalls.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/syscalls.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -47,7 +47,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "lo-utils.h"
 #include "oct-hist.h"
 #include "oct-map.h"
--- a/libinterp/corefcn/typecast.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/typecast.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -31,7 +31,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "unwind-prot.h"
 
--- a/libinterp/corefcn/utils.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/utils.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -55,7 +55,7 @@
 #include "defun.h"
 #include "dirfns.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "lex.h"
 #include "load-path.h"
@@ -461,7 +461,7 @@
 
           if (! tmp.empty ())
             {
-              gripe_data_file_in_path (fcn, tmp);
+              warn_data_file_in_path (fcn, tmp);
 
               fname = tmp;
             }
--- a/libinterp/corefcn/variables.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/variables.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -44,7 +44,7 @@
 #include "defun.h"
 #include "dirfns.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "help.h"
 #include "input.h"
 #include "lex.h"
--- a/libinterp/corefcn/xdiv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/xdiv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -42,7 +42,7 @@
 #include "fDiagMatrix.h"
 #include "CDiagMatrix.h"
 #include "fCDiagMatrix.h"
-#include "lo-array-gripes.h"
+#include "lo-array-errwarn.h"
 #include "quit.h"
 
 #include "error.h"
@@ -59,7 +59,7 @@
 static void
 solve_singularity_warning (double rcond)
 {
-  gripe_singular_matrix (rcond);
+  errwarn_singular_matrix (rcond);
 }
 
 template <class T1, class T2>
@@ -75,7 +75,7 @@
                                                          : a.rows ();
       octave_idx_type b_nc = b.cols ();
 
-      gripe_nonconformant ("operator \\", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator \\", a_nr, a_nc, b_nr, b_nc);
     }
 
   return true;
@@ -101,7 +101,7 @@
       octave_idx_type a_nr = a.rows ();
       octave_idx_type b_nr = b.rows ();
 
-      gripe_nonconformant ("operator /", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator /", a_nr, a_nc, b_nr, b_nc);
     }
 
   return true;
@@ -403,7 +403,7 @@
 static void
 solve_singularity_warning (float rcond)
 {
-  gripe_singular_matrix (rcond);
+  errwarn_singular_matrix (rcond);
 }
 
 INSTANTIATE_MX_LEFTDIV_CONFORM (FloatMatrix, FloatMatrix);
--- a/libinterp/corefcn/xnorm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/xnorm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "error.h"
 #include "xnorm.h"
 #include "ov.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 octave_value xnorm (const octave_value& x, const octave_value& p)
 {
@@ -91,7 +91,7 @@
         }
     }
   else
-    gripe_wrong_type_arg ("xnorm", x, true);
+    err_wrong_type_arg ("xnorm", x);
 
   return retval;
 }
@@ -132,7 +132,7 @@
         }
     }
   else
-    gripe_wrong_type_arg ("xcolnorms", x, true);
+    err_wrong_type_arg ("xcolnorms", x);
 
   return retval;
 }
@@ -173,7 +173,7 @@
         }
     }
   else
-    gripe_wrong_type_arg ("xrownorms", x, true);
+    err_wrong_type_arg ("xrownorms", x);
 
   return retval;
 }
@@ -208,7 +208,7 @@
         }
     }
   else
-    gripe_wrong_type_arg ("xfrobnorm", x, true);
+    err_wrong_type_arg ("xfrobnorm", x);
 
   return retval;
 }
--- a/libinterp/corefcn/xpow.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/corefcn/xpow.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -793,7 +793,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   int convert_to_complex = 0;
   for (octave_idx_type j = 0; j < nc; j++)
@@ -873,7 +873,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   ComplexMatrix result (nr, nc);
 
@@ -1011,7 +1011,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   ComplexMatrix result (nr, nc);
 
@@ -1059,7 +1059,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   ComplexMatrix result (nr, nc);
 
@@ -1241,7 +1241,7 @@
             return octave_value (bsxfun_pow (xa, xb));
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   int len = a.numel ();
@@ -1320,7 +1320,7 @@
           return bsxfun_pow (a, b);
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   ComplexNDArray result (a_dims);
@@ -1416,7 +1416,7 @@
           return bsxfun_pow (a, b);
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   ComplexNDArray result (a_dims);
@@ -1463,7 +1463,7 @@
           return bsxfun_pow (a, b);
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   ComplexNDArray result (a_dims);
@@ -2155,7 +2155,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   int convert_to_complex = 0;
   for (octave_idx_type j = 0; j < nc; j++)
@@ -2235,7 +2235,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   FloatComplexMatrix result (nr, nc);
 
@@ -2333,7 +2333,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   FloatComplexMatrix result (nr, nc);
 
@@ -2381,7 +2381,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (nr != b_nr || nc != b_nc)
-    gripe_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
+    err_nonconformant ("operator .^", nr, nc, b_nr, b_nc);
 
   FloatComplexMatrix result (nr, nc);
 
@@ -2563,7 +2563,7 @@
             return octave_value (bsxfun_pow (xa, xb));
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   int len = a.numel ();
@@ -2642,7 +2642,7 @@
           return bsxfun_pow (a, b);
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   FloatComplexNDArray result (a_dims);
@@ -2738,7 +2738,7 @@
           return bsxfun_pow (a, b);
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   FloatComplexNDArray result (a_dims);
@@ -2785,7 +2785,7 @@
           return bsxfun_pow (a, b);
         }
       else
-        gripe_nonconformant ("operator .^", a_dims, b_dims);
+        err_nonconformant ("operator .^", a_dims, b_dims);
     }
 
   FloatComplexNDArray result (a_dims);
--- a/libinterp/dldfcn/__eigs__.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/__eigs__.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -27,7 +27,7 @@
 #include "ov.h"
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "quit.h"
 #include "variables.h"
 #include "ov-re-sparse.h"
@@ -64,7 +64,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "eigs");
+          err_user_supplied_eval (e, "eigs");
         }
 
       if (tmp.length () && tmp(0).is_defined ())
@@ -80,7 +80,7 @@
       else
         {
           eigs_error = 1;
-          gripe_user_supplied_eval ("eigs");
+          err_user_supplied_eval ("eigs");
         }
     }
 
@@ -104,7 +104,7 @@
         }
       catch (octave_execution_exception& e)
         {
-          gripe_user_supplied_eval (e, "eigs");
+          err_user_supplied_eval (e, "eigs");
         }
 
       if (tmp.length () && tmp(0).is_defined ())
@@ -114,7 +114,7 @@
       else
         {
           eigs_error = 1;
-          gripe_user_supplied_eval ("eigs");
+          err_user_supplied_eval ("eigs");
         }
     }
 
--- a/libinterp/dldfcn/__glpk__.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/__glpk__.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-map.h"
 #include "ovl.h"
 #include "pager.h"
@@ -614,7 +614,7 @@
   return ovl (xmin, fmin, errnum, extra);
 
 #else
-  gripe_disabled_feature ("glpk", "GNU Linear Programming Kit");
+  err_disabled_feature ("glpk", "GNU Linear Programming Kit");
 #endif
 }
 
--- a/libinterp/dldfcn/__magick_read__.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/__magick_read__.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "error.h"
 #include "ov-struct.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 
 #ifdef HAVE_MAGICK
 
@@ -849,7 +849,7 @@
   return output;
 
 #else
-  gripe_disabled_feature ("imread", "Image IO");
+  err_disabled_feature ("imread", "Image IO");
 #endif
 }
 
@@ -1540,7 +1540,7 @@
   return ovl ();
 
 #else
-  gripe_disabled_feature ("imwrite", "Image IO");
+  err_disabled_feature ("imwrite", "Image IO");
 #endif
 }
 
@@ -1602,7 +1602,7 @@
   return ovl (ping);
 
 #else
-  gripe_disabled_feature ("imfinfo", "Image IO");
+  err_disabled_feature ("imfinfo", "Image IO");
 #endif
 }
 
@@ -2209,7 +2209,7 @@
   return ovl (info);
 
 #else
-  gripe_disabled_feature ("imfinfo", "Image IO");
+  err_disabled_feature ("imfinfo", "Image IO");
 #endif
 }
 
@@ -2263,7 +2263,7 @@
   return ovl (formats);
 
 #else
-  gripe_disabled_feature ("imformats", "Image IO");
+  err_disabled_feature ("imformats", "Image IO");
 #endif
 }
 
--- a/libinterp/dldfcn/__osmesa_print__.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/__osmesa_print__.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 #include "gl-render.h"
 #include "gl2ps-renderer.h"
 #include "graphics.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 #if defined (HAVE_OSMESA_H)
 #include "osmesa.h"
@@ -88,7 +88,7 @@
 @end deftypefn")
 {
 #if ! defined (HAVE_OSMESA)
-  gripe_disabled_feature ("__osmesa_print__", "offscreen rendering");
+  err_disabled_feature ("__osmesa_print__", "offscreen rendering");
 #else
   int nargin = args.length ();
 
@@ -160,7 +160,7 @@
     {
       // use gl2ps
 #ifndef HAVE_GL2PS_H
-      gripe_disabled_feature ("__osmesa_print__", "gl2ps");
+      err_disabled_feature ("__osmesa_print__", "gl2ps");
 #else
       std::string file = args(1).string_value ();
       std::string term = args(2).string_value ();
--- a/libinterp/dldfcn/audiodevinfo.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/audiodevinfo.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-locbuf.h"
 #include "ovl.h"
 #include "ov.h"
@@ -406,9 +406,9 @@
   return retval;
 
 #else
-  gripe_disabled_feature ("audiodevinfo",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("audiodevinfo",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #endif
 }
 
@@ -1812,9 +1812,9 @@
   octave_value retval;
 
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_audiorecorder__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_audiorecorder__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
 
   int nargin = args.length ();
@@ -1876,9 +1876,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_getaudiodata__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_getaudiodata__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->getaudiodata ();
 #endif
@@ -1893,9 +1893,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_channels__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_channels__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_channels ();
 #endif
@@ -1910,9 +1910,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_fs__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_fs__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_fs ();
 #endif
@@ -1927,9 +1927,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_id__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_id__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_id ();
 #endif
@@ -1944,9 +1944,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_nbits__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_nbits__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_nbits ();
 #endif
@@ -1961,9 +1961,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_sample_number__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_sample_number__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_sample_number ();
 #endif
@@ -1978,9 +1978,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_tag__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_tag__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_tag ();
 #endif
@@ -1995,9 +1995,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_total_samples__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_total_samples__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_total_samples ();
 #endif
@@ -2012,9 +2012,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_get_userdata__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_get_userdata__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->get_userdata ();
 #endif
@@ -2029,9 +2029,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_isrecording__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_isrecording__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   retval = get_recorder (args(0))->isrecording ();
 #endif
@@ -2045,9 +2045,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_pause__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_pause__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   get_recorder (args(0))->pause ();
 #endif
@@ -2061,9 +2061,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_recordblocking__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_recordblocking__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   float seconds = args(1).float_value ();
   get_recorder (args(0))->recordblocking (seconds);
@@ -2079,9 +2079,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_record__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_record__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   audiorecorder *recorder = get_recorder (args(0));
 
@@ -2100,9 +2100,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_resume__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_resume__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     get_recorder (args(0))->resume ();
@@ -2117,9 +2117,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_set_fs__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_set_fs__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 2)
     get_recorder (args(0))->set_fs (args(1).int_value ());
@@ -2134,9 +2134,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_set_tag__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_set_tag__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 2)
     get_recorder (args(0))->set_tag (args(1).char_matrix_value ());
@@ -2151,9 +2151,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_set_userdata__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_set_userdata__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 2)
     get_recorder (args(0))->set_userdata (args(1));
@@ -2168,9 +2168,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__recorder_stop__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__recorder_stop__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     get_recorder (args(0))->stop ();
@@ -2188,9 +2188,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_audioplayer__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_audioplayer__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
 
   int nargin = args.length ();
@@ -2257,9 +2257,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_channels__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_channels__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_channels ();
@@ -2275,9 +2275,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_fs__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_fs__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_fs ();
@@ -2293,9 +2293,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_id__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_id__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_id ();
@@ -2311,9 +2311,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_nbits__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_nbits__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_nbits ();
@@ -2329,9 +2329,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_sample_number__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_sample_number__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_sample_number ();
@@ -2347,9 +2347,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_tag__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_tag__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_tag ();
@@ -2365,9 +2365,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_total_samples__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_total_samples__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_total_samples ();
@@ -2383,9 +2383,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_get_userdata__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_get_userdata__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->get_userdata ();
@@ -2401,9 +2401,9 @@
 {
   octave_value retval;
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_isplaying__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_isplaying__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     retval = get_player (args(0))->isplaying ();
@@ -2418,9 +2418,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_pause__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_pause__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     get_player (args(0))->pause ();
@@ -2437,9 +2437,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_playblocking__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_playblocking__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
 
   audioplayer *player = get_player (args(0));
@@ -2491,9 +2491,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_play__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_play__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
 
   if (args.length () == 1)
@@ -2543,9 +2543,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_resume__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_resume__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     get_player (args(0))->resume ();
@@ -2560,9 +2560,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_set_fs__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_set_fs__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 2)
     get_player (args(0))->set_fs (args(1).int_value ());
@@ -2577,9 +2577,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_set_tag__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_set_tag__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 2)
     get_player (args(0))->set_tag (args(1).char_matrix_value ());
@@ -2594,9 +2594,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_set_userdata__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_set_userdata__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 2)
     get_player (args(0))->set_userdata (args(1));
@@ -2611,9 +2611,9 @@
 @end deftypefn")
 {
 #ifndef HAVE_PORTAUDIO
-  gripe_disabled_feature ("__player_stop__",
-                          "audio playback and recording through PortAudio",
-                          "Octave");
+  err_disabled_feature ("__player_stop__",
+                        "audio playback and recording through PortAudio",
+                        "Octave");
 #else
   if (args.length () == 1)
     get_player (args(0))->stop ();
--- a/libinterp/dldfcn/audioread.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/audioread.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-struct.h"
@@ -172,8 +172,8 @@
   return ovl (ret_audio, info.samplerate);
 
 #else
-  gripe_disabled_feature ("audioread", "reading and writing sound files"
-                          " through libsndfile", "Octave");
+  err_disabled_feature ("audioread", "reading and writing sound files"
+                        " through libsndfile", "Octave");
 #endif
 }
 
@@ -277,7 +277,7 @@
     scale = std::pow (2.0, 31);
   else if (args(1).is_integer_type ())
     {
-      gripe_wrong_type_arg ("audiowrite", args(1));
+      err_wrong_type_arg ("audiowrite", args(1));
       return ovl ();
     }
 
@@ -420,8 +420,8 @@
   return ovl ();
 
 #else
-  gripe_disabled_feature ("audiowrite", "reading and writing sound files"
-                          " through libsndfile", "Octave");
+  err_disabled_feature ("audiowrite", "reading and writing sound files"
+                        " through libsndfile", "Octave");
 #endif
 }
 
@@ -492,7 +492,7 @@
   return ovl (result);
 
 #else
-  gripe_disabled_feature ("audioinfo", "reading and writing sound files"
-                          " through libsndfile", "Octave");
+  err_disabled_feature ("audioinfo", "reading and writing sound files"
+                        " through libsndfile", "Octave");
 #endif
 }
--- a/libinterp/dldfcn/chol.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/chol.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -40,7 +40,7 @@
 #include "ov-cx-sparse.h"
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -241,7 +241,7 @@
             error ("chol: input matrix must be positive definite");
         }
       else
-        gripe_wrong_type_arg ("chol", arg);
+        err_wrong_type_arg ("chol", arg);
     }
   else if (arg.is_single_type ())
     {
@@ -274,7 +274,7 @@
             error ("chol: input matrix must be positive definite");
         }
       else
-        gripe_wrong_type_arg ("chol", arg);
+        err_wrong_type_arg ("chol", arg);
     }
   else
     {
@@ -307,7 +307,7 @@
             error ("chol: input matrix must be positive definite");
         }
       else
-        gripe_wrong_type_arg ("chol", arg);
+        err_wrong_type_arg ("chol", arg);
     }
 
   return retval;
@@ -377,7 +377,7 @@
                 error ("cholinv: A must be positive definite");
             }
           else
-            gripe_wrong_type_arg ("cholinv", arg);
+            err_wrong_type_arg ("cholinv", arg);
         }
       else if (arg.is_single_type ())
         {
@@ -404,7 +404,7 @@
                 error ("cholinv: A must be positive definite");
             }
           else
-            gripe_wrong_type_arg ("chol", arg);
+            err_wrong_type_arg ("chol", arg);
         }
       else
         {
@@ -431,7 +431,7 @@
                 error ("cholinv: A must be positive definite");
             }
           else
-            gripe_wrong_type_arg ("chol", arg);
+            err_wrong_type_arg ("chol", arg);
         }
     }
 
@@ -494,7 +494,7 @@
               retval = chol2inv (r);
             }
           else
-            gripe_wrong_type_arg ("chol2inv", arg);
+            err_wrong_type_arg ("chol2inv", arg);
         }
       else if (arg.is_single_type ())
         {
@@ -511,7 +511,7 @@
               retval = chol2inv (r);
             }
           else
-            gripe_wrong_type_arg ("chol2inv", arg);
+            err_wrong_type_arg ("chol2inv", arg);
 
         }
       else
@@ -529,7 +529,7 @@
               retval = chol2inv (r);
             }
           else
-            gripe_wrong_type_arg ("chol2inv", arg);
+            err_wrong_type_arg ("chol2inv", arg);
         }
     }
 
--- a/libinterp/dldfcn/dmperm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/dmperm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -27,7 +27,7 @@
 
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
--- a/libinterp/dldfcn/fftw.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/fftw.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "error.h"
 #include "ov.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 
 DEFUN_DLD (fftw, args, ,
            "-*- texinfo -*-\n\
@@ -294,12 +294,12 @@
 #if defined (HAVE_FFTW3_THREADS)
           octave_fftw_planner::threads (nthreads);
 #else
-          gripe_disabled_feature ("fftw", "multithreaded FFTW");
+          err_disabled_feature ("fftw", "multithreaded FFTW");
 #endif
 #if defined (HAVE_FFTW3F_THREADS)
           octave_float_fftw_planner::threads (nthreads);
 #else
-          gripe_disabled_feature ("fftw", "multithreaded FFTW");
+          err_disabled_feature ("fftw", "multithreaded FFTW");
 #endif
         }
       else //threads getter
@@ -316,7 +316,7 @@
 
 #else
 
-  gripe_disabled_feature ("fftw", "the FFTW3 planner");
+  err_disabled_feature ("fftw", "the FFTW3 planner");
 
 #endif
 }
--- a/libinterp/dldfcn/qr.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/qr.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -40,7 +40,7 @@
 
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -410,7 +410,7 @@
                 }
             }
           else
-            gripe_wrong_type_arg ("qr", arg);
+            err_wrong_type_arg ("qr", arg);
         }
     }
 
--- a/libinterp/dldfcn/symbfact.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/symbfact.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "ov-cx-sparse.h"
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "utils.h"
 
@@ -167,7 +167,7 @@
         A->x = a.data ();
     }
   else
-    gripe_wrong_type_arg ("symbfact", args(0));
+    err_wrong_type_arg ("symbfact", args(0));
 
   octave_idx_type coletree = false;
   octave_idx_type n = A->nrow;
--- a/libinterp/dldfcn/symrcm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/dldfcn/symrcm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -57,7 +57,7 @@
 #include "ov.h"
 #include "defun-dld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "utils.h"
 #include "oct-locbuf.h"
 
@@ -469,7 +469,7 @@
   octave_idx_type nc = arg.columns ();
 
   if (nr != nc)
-    gripe_square_matrix_required ("symrcm");
+    err_square_matrix_required ("symrcm");
 
   if (nr == 0 && nc == 0)
     return ovl (NDArray (dim_vector (1, 0)));
--- a/libinterp/octave-value/ov-base-diag.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-base-diag.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "ov-base-mat.h"
 #include "pr-output.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-stream.h"
 #include "ops.h"
 
@@ -297,18 +297,18 @@
   typedef typename DMT::element_type el_type;
 
   if (helper_iscomplex (el_type ()) && ! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real scalar");
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "real scalar");
 
       retval = helper_getreal (el_type (matrix (0, 0)));
     }
   else
-    gripe_invalid_conversion (type_name (), "real scalar");
+    err_invalid_conversion (type_name (), "real scalar");
 
   return retval;
 }
@@ -321,18 +321,18 @@
   typedef typename DMT::element_type el_type;
 
   if (helper_iscomplex (el_type ()) && ! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real scalar");
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "real scalar");
 
       retval = helper_getreal (el_type (matrix (0, 0)));
     }
   else
-    gripe_invalid_conversion (type_name (), "real scalar");
+    err_invalid_conversion (type_name (), "real scalar");
 
   return retval;
 }
@@ -347,13 +347,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion (type_name (), "complex scalar");
+    err_invalid_conversion (type_name (), "complex scalar");
 
   return retval;
 }
@@ -368,13 +368,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion (type_name (), "complex scalar");
+    err_invalid_conversion (type_name (), "complex scalar");
 
   return retval;
 }
--- a/libinterp/octave-value/ov-base-int.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-base-int.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "oct-locbuf.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-base-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-base-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -261,7 +261,7 @@
     }
   catch (const index_exception& e)
     {
-      gripe_invalid_index (e.idx (), n_idx, k+1);
+      err_invalid_index (e.idx (), n_idx, k+1);
     }
 
   // Clear cache.
@@ -365,7 +365,7 @@
     }
   catch (const index_exception& e)
     {
-      gripe_invalid_index (e.idx (), n_idx, k+1);
+      err_invalid_index (e.idx (), n_idx, k+1);
     }
 
   // Clear cache.
@@ -414,7 +414,7 @@
       MT t1 (matrix.reshape (dim_vector (nel, 1)));
 
       if (t1.any_element_is_nan ())
-        gripe_nan_to_logical_conversion ();
+        err_nan_to_logical_conversion ();
       else
         {
           boolNDArray t2 = t1.all ();
--- a/libinterp/octave-value/ov-base-scalar.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-base-scalar.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -134,7 +134,7 @@
   bool retval = false;
 
   if (xisnan (scalar))
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else
     retval = (scalar != ST ());
 
--- a/libinterp/octave-value/ov-base-sparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-base-sparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -45,7 +45,7 @@
 #include "pager.h"
 #include "utils.h"
 
-#include "lo-array-gripes.h"
+#include "lo-array-errwarn.h"
 
 template <class T>
 octave_value
--- a/libinterp/octave-value/ov-base.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-base.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "lo-mappers.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "oct-map.h"
 #include "ovl.h"
@@ -133,7 +133,7 @@
 octave_value
 octave_base_value::full_value (void) const
 {
-  gripe_wrong_type_arg ("full: invalid operation for %s type", type_name ());
+  err_wrong_type_arg ("full: invalid operation for %s type", type_name ());
   return octave_value ();
 }
 
@@ -214,7 +214,7 @@
 octave_base_value::index_vector (bool /* require_integers */) const
 {
   std::string nm = "<" + type_name () + ">";
-  gripe_invalid_index (nm.c_str ());
+  err_invalid_index (nm.c_str ());
 }
 
 octave_value
@@ -297,7 +297,7 @@
 octave_idx_type
 octave_base_value::nnz (void) const
 {
-  gripe_wrong_type_arg ("octave_base_value::nnz ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::nnz ()", type_name ());
   return -1;
 }
 
@@ -310,42 +310,42 @@
 octave_idx_type
 octave_base_value::nfields (void) const
 {
-  gripe_wrong_type_arg ("octave_base_value::nfields ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::nfields ()", type_name ());
   return -1;
 }
 
 octave_value
 octave_base_value::reshape (const dim_vector&) const
 {
-  gripe_wrong_type_arg ("octave_base_value::reshape ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::reshape ()", type_name ());
   return octave_value ();
 }
 
 octave_value
 octave_base_value::permute (const Array<int>&, bool) const
 {
-  gripe_wrong_type_arg ("octave_base_value::permute ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::permute ()", type_name ());
   return octave_value ();
 }
 
 octave_value
 octave_base_value::resize (const dim_vector&, bool) const
 {
-  gripe_wrong_type_arg ("octave_base_value::resize ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::resize ()", type_name ());
   return octave_value ();
 }
 
 MatrixType
 octave_base_value::matrix_type (void) const
 {
-  gripe_wrong_type_arg ("octave_base_value::matrix_type ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::matrix_type ()", type_name ());
   return MatrixType ();
 }
 
 MatrixType
 octave_base_value::matrix_type (const MatrixType&) const
 {
-  gripe_wrong_type_arg ("octave_base_value::matrix_type ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::matrix_type ()", type_name ());
   return MatrixType ();
 }
 
@@ -367,8 +367,8 @@
   octave_value retval = convert_to_str_internal (pad, force, type);
 
   if (! force && is_numeric_type ())
-    gripe_implicit_conversion ("Octave:num-to-str",
-                               type_name (), retval.type_name ());
+    warn_implicit_conversion ("Octave:num-to-str",
+                              type_name (), retval.type_name ());
 
   return retval;
 }
@@ -376,28 +376,28 @@
 octave_value
 octave_base_value::convert_to_str_internal (bool, bool, char) const
 {
-  gripe_wrong_type_arg ("octave_base_value::convert_to_str_internal ()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::convert_to_str_internal ()",
+                      type_name ());
   return octave_value ();
 }
 
 void
 octave_base_value::convert_to_row_or_column_vector (void)
 {
-  gripe_wrong_type_arg
+  err_wrong_type_arg
     ("octave_base_value::convert_to_row_or_column_vector ()", type_name ());
 }
 
 void
 octave_base_value::print (std::ostream&, bool)
 {
-  gripe_wrong_type_arg ("octave_base_value::print ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::print ()", type_name ());
 }
 
 void
 octave_base_value::print_raw (std::ostream&, bool) const
 {
-  gripe_wrong_type_arg ("octave_base_value::print_raw ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::print_raw ()", type_name ());
 }
 
 bool
@@ -457,7 +457,7 @@
       } \
     catch (octave_execution_exception& e) \
       { \
-        gripe_wrong_type_arg (e, "octave_base_value::" #F "_value ()", type_name ()); \
+        err_wrong_type_arg (e, "octave_base_value::" #F "_value ()", type_name ()); \
       } \
  \
     if (require_int && D_NINT (d) != d) \
@@ -495,7 +495,7 @@
     }
   catch (octave_execution_exception& e)
     {
-      gripe_wrong_type_arg (e, "octave_base_value::nint_value ()", type_name ());
+      err_wrong_type_arg (e, "octave_base_value::nint_value ()", type_name ());
     }
 
   if (xisnan (d))
@@ -508,7 +508,7 @@
 octave_base_value::double_value (bool) const
 {
   double retval = lo_ieee_nan_value ();
-  gripe_wrong_type_arg ("octave_base_value::double_value ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::double_value ()", type_name ());
   return retval;
 }
 
@@ -516,7 +516,7 @@
 octave_base_value::float_value (bool) const
 {
   float retval = lo_ieee_float_nan_value ();
-  gripe_wrong_type_arg ("octave_base_value::float_value ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::float_value ()", type_name ());
   return retval;
 }
 
@@ -524,7 +524,7 @@
 octave_base_value::cell_value () const
 {
   Cell retval;
-  gripe_wrong_type_arg ("octave_base_value::cell_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::cell_value()", type_name ());
   return retval;
 }
 
@@ -532,7 +532,7 @@
 octave_base_value::matrix_value (bool) const
 {
   Matrix retval;
-  gripe_wrong_type_arg ("octave_base_value::matrix_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::matrix_value()", type_name ());
   return retval;
 }
 
@@ -540,8 +540,8 @@
 octave_base_value::float_matrix_value (bool) const
 {
   FloatMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::float_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::float_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -549,7 +549,7 @@
 octave_base_value::array_value (bool) const
 {
   FloatNDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::array_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::array_value()", type_name ());
   return retval;
 }
 
@@ -557,7 +557,7 @@
 octave_base_value::float_array_value (bool) const
 {
   FloatNDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::float_array_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::float_array_value()", type_name ());
   return retval;
 }
 
@@ -566,7 +566,7 @@
 {
   double tmp = lo_ieee_nan_value ();
   Complex retval (tmp, tmp);
-  gripe_wrong_type_arg ("octave_base_value::complex_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::complex_value()", type_name ());
   return retval;
 }
 
@@ -575,8 +575,8 @@
 {
   float tmp = lo_ieee_float_nan_value ();
   FloatComplex retval (tmp, tmp);
-  gripe_wrong_type_arg ("octave_base_value::float_complex_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::float_complex_value()",
+                      type_name ());
   return retval;
 }
 
@@ -584,8 +584,8 @@
 octave_base_value::complex_matrix_value (bool) const
 {
   ComplexMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::complex_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::complex_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -593,8 +593,8 @@
 octave_base_value::float_complex_matrix_value (bool) const
 {
   FloatComplexMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::float_complex_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::float_complex_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -602,8 +602,8 @@
 octave_base_value::complex_array_value (bool) const
 {
   ComplexNDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::complex_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::complex_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -611,8 +611,8 @@
 octave_base_value::float_complex_array_value (bool) const
 {
   FloatComplexNDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::float_complex_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::float_complex_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -620,7 +620,7 @@
 octave_base_value::bool_value (bool) const
 {
   bool retval = false;
-  gripe_wrong_type_arg ("octave_base_value::bool_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::bool_value()", type_name ());
   return retval;
 }
 
@@ -628,8 +628,8 @@
 octave_base_value::bool_matrix_value (bool) const
 {
   boolMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::bool_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::bool_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -637,8 +637,8 @@
 octave_base_value::bool_array_value (bool) const
 {
   boolNDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::bool_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::bool_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -658,8 +658,8 @@
 octave_base_value::char_array_value (bool) const
 {
   charNDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::char_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::char_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -667,8 +667,8 @@
 octave_base_value::sparse_matrix_value (bool) const
 {
   SparseMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::sparse_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::sparse_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -676,8 +676,8 @@
 octave_base_value::sparse_complex_matrix_value (bool) const
 {
   SparseComplexMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::sparse_complex_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::sparse_complex_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -685,8 +685,8 @@
 octave_base_value::sparse_bool_matrix_value (bool) const
 {
   SparseBoolMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::sparse_bool_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::sparse_bool_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -694,7 +694,7 @@
 octave_base_value::diag_matrix_value (bool) const
 {
   DiagMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::diag_matrix_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::diag_matrix_value()", type_name ());
   return retval;
 }
 
@@ -702,8 +702,8 @@
 octave_base_value::float_diag_matrix_value (bool) const
 {
   FloatDiagMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::float_diag_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::float_diag_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -711,8 +711,8 @@
 octave_base_value::complex_diag_matrix_value (bool) const
 {
   ComplexDiagMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::complex_diag_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::complex_diag_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -720,8 +720,8 @@
 octave_base_value::float_complex_diag_matrix_value (bool) const
 {
   FloatComplexDiagMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::float_complex_diag_matrix_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::float_complex_diag_matrix_value()",
+                      type_name ());
   return retval;
 }
 
@@ -729,7 +729,7 @@
 octave_base_value::perm_matrix_value (void) const
 {
   PermMatrix retval;
-  gripe_wrong_type_arg ("octave_base_value::perm_matrix_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::perm_matrix_value()", type_name ());
   return retval;
 }
 
@@ -737,8 +737,8 @@
 octave_base_value::int8_scalar_value (void) const
 {
   octave_int8 retval;
-  gripe_wrong_type_arg ("octave_base_value::int8_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int8_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -746,8 +746,8 @@
 octave_base_value::int16_scalar_value (void) const
 {
   octave_int16 retval;
-  gripe_wrong_type_arg ("octave_base_value::int16_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int16_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -755,8 +755,8 @@
 octave_base_value::int32_scalar_value (void) const
 {
   octave_int32 retval;
-  gripe_wrong_type_arg ("octave_base_value::int32_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int32_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -764,8 +764,8 @@
 octave_base_value::int64_scalar_value (void) const
 {
   octave_int64 retval;
-  gripe_wrong_type_arg ("octave_base_value::int64_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int64_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -773,8 +773,8 @@
 octave_base_value::uint8_scalar_value (void) const
 {
   octave_uint8 retval;
-  gripe_wrong_type_arg ("octave_base_value::uint8_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint8_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -782,8 +782,8 @@
 octave_base_value::uint16_scalar_value (void) const
 {
   octave_uint16 retval;
-  gripe_wrong_type_arg ("octave_base_value::uint16_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint16_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -791,8 +791,8 @@
 octave_base_value::uint32_scalar_value (void) const
 {
   octave_uint32 retval;
-  gripe_wrong_type_arg ("octave_base_value::uint32_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint32_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -800,8 +800,8 @@
 octave_base_value::uint64_scalar_value (void) const
 {
   octave_uint64 retval;
-  gripe_wrong_type_arg ("octave_base_value::uint64_scalar_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint64_scalar_value()",
+                      type_name ());
   return retval;
 }
 
@@ -809,8 +809,8 @@
 octave_base_value::int8_array_value (void) const
 {
   int8NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::int8_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int8_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -818,8 +818,8 @@
 octave_base_value::int16_array_value (void) const
 {
   int16NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::int16_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int16_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -827,8 +827,8 @@
 octave_base_value::int32_array_value (void) const
 {
   int32NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::int32_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int32_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -836,8 +836,8 @@
 octave_base_value::int64_array_value (void) const
 {
   int64NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::int64_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::int64_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -845,8 +845,8 @@
 octave_base_value::uint8_array_value (void) const
 {
   uint8NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::uint8_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint8_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -854,8 +854,8 @@
 octave_base_value::uint16_array_value (void) const
 {
   uint16NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::uint16_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint16_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -863,8 +863,8 @@
 octave_base_value::uint32_array_value (void) const
 {
   uint32NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::uint32_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint32_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -872,8 +872,8 @@
 octave_base_value::uint64_array_value (void) const
 {
   uint64NDArray retval;
-  gripe_wrong_type_arg ("octave_base_value::uint64_array_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::uint64_array_value()",
+                      type_name ());
   return retval;
 }
 
@@ -913,8 +913,8 @@
 octave_base_value::cellstr_value (void) const
 {
   Array<std::string> retval;
-  gripe_wrong_type_arg ("octave_base_value::cellstr_value()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::cellstr_value()",
+                      type_name ());
   return retval;
 }
 
@@ -922,7 +922,7 @@
 octave_base_value::range_value (void) const
 {
   Range retval;
-  gripe_wrong_type_arg ("octave_base_value::range_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::range_value()", type_name ());
   return retval;
 }
 
@@ -930,7 +930,7 @@
 octave_base_value::map_value (void) const
 {
   octave_map retval;
-  gripe_wrong_type_arg ("octave_base_value::map_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::map_value()", type_name ());
   return retval;
 }
 
@@ -949,7 +949,7 @@
 octave_base_value::map_keys (void) const
 {
   string_vector retval;
-  gripe_wrong_type_arg ("octave_base_value::map_keys()", type_name ());
+  err_wrong_type_arg ("octave_base_value::map_keys()", type_name ());
   return retval;
 }
 
@@ -957,7 +957,7 @@
 octave_base_value::nparents (void) const
 {
   size_t retval = 0;
-  gripe_wrong_type_arg ("octave_base_value::nparents()", type_name ());
+  err_wrong_type_arg ("octave_base_value::nparents()", type_name ());
   return retval;
 }
 
@@ -965,8 +965,8 @@
 octave_base_value::parent_class_name_list (void) const
 {
   std::list<std::string> retval;
-  gripe_wrong_type_arg ("octave_base_value::parent_class_name_list()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::parent_class_name_list()",
+                      type_name ());
   return retval;
 }
 
@@ -974,8 +974,8 @@
 octave_base_value::parent_class_names (void) const
 {
   string_vector retval;
-  gripe_wrong_type_arg ("octave_base_value::parent_class_names()",
-                        type_name ());
+  err_wrong_type_arg ("octave_base_value::parent_class_names()",
+                      type_name ());
   return retval;
 }
 
@@ -985,8 +985,8 @@
   octave_function *retval = 0;
 
   if (! silent)
-    gripe_wrong_type_arg ("octave_base_value::function_value()",
-                          type_name ());
+    err_wrong_type_arg ("octave_base_value::function_value()",
+                        type_name ());
   return retval;
 }
 
@@ -996,8 +996,8 @@
   octave_user_function *retval = 0;
 
   if (! silent)
-    gripe_wrong_type_arg ("octave_base_value::user_function_value()",
-                          type_name ());
+    err_wrong_type_arg ("octave_base_value::user_function_value()",
+                        type_name ());
   return retval;
 }
 
@@ -1007,8 +1007,8 @@
   octave_user_script *retval = 0;
 
   if (! silent)
-    gripe_wrong_type_arg ("octave_base_value::user_script_value()",
-                          type_name ());
+    err_wrong_type_arg ("octave_base_value::user_script_value()",
+                        type_name ());
   return retval;
 }
 
@@ -1018,8 +1018,8 @@
   octave_user_code *retval = 0;
 
   if (! silent)
-    gripe_wrong_type_arg ("octave_base_value::user_code_value()",
-                          type_name ());
+    err_wrong_type_arg ("octave_base_value::user_code_value()",
+                        type_name ());
   return retval;
 }
 
@@ -1029,8 +1029,8 @@
   octave_fcn_handle *retval = 0;
 
   if (! silent)
-    gripe_wrong_type_arg ("octave_base_value::fcn_handle_value()",
-                          type_name ());
+    err_wrong_type_arg ("octave_base_value::fcn_handle_value()",
+                        type_name ());
   return retval;
 }
 
@@ -1040,8 +1040,8 @@
   octave_fcn_inline *retval = 0;
 
   if (! silent)
-    gripe_wrong_type_arg ("octave_base_value::fcn_inline_value()",
-                          type_name ());
+    err_wrong_type_arg ("octave_base_value::fcn_inline_value()",
+                        type_name ());
   return retval;
 }
 
@@ -1049,28 +1049,28 @@
 octave_base_value::list_value (void) const
 {
   octave_value_list retval;
-  gripe_wrong_type_arg ("octave_base_value::list_value()", type_name ());
+  err_wrong_type_arg ("octave_base_value::list_value()", type_name ());
   return retval;
 }
 
 bool
 octave_base_value::save_ascii (std::ostream&)
 {
-  gripe_wrong_type_arg ("octave_base_value::save_ascii()", type_name ());
+  err_wrong_type_arg ("octave_base_value::save_ascii()", type_name ());
   return false;
 }
 
 bool
 octave_base_value::load_ascii (std::istream&)
 {
-  gripe_wrong_type_arg ("octave_base_value::load_ascii()", type_name ());
+  err_wrong_type_arg ("octave_base_value::load_ascii()", type_name ());
   return false;
 }
 
 bool
 octave_base_value::save_binary (std::ostream&, bool&)
 {
-  gripe_wrong_type_arg ("octave_base_value::save_binary()", type_name ());
+  err_wrong_type_arg ("octave_base_value::save_binary()", type_name ());
   return false;
 }
 
@@ -1078,14 +1078,14 @@
 octave_base_value::load_binary (std::istream&, bool,
                                 oct_mach_info::float_format)
 {
-  gripe_wrong_type_arg ("octave_base_value::load_binary()", type_name ());
+  err_wrong_type_arg ("octave_base_value::load_binary()", type_name ());
   return false;
 }
 
 bool
 octave_base_value::save_hdf5 (octave_hdf5_id, const char *, bool)
 {
-  gripe_wrong_type_arg ("octave_base_value::save_binary()", type_name ());
+  err_wrong_type_arg ("octave_base_value::save_binary()", type_name ());
 
   return false;
 }
@@ -1093,7 +1093,7 @@
 bool
 octave_base_value::load_hdf5 (octave_hdf5_id, const char *)
 {
-  gripe_wrong_type_arg ("octave_base_value::load_binary()", type_name ());
+  err_wrong_type_arg ("octave_base_value::load_binary()", type_name ());
 
   return false;
 }
@@ -1102,7 +1102,7 @@
 octave_base_value::write (octave_stream&, int, oct_data_conv::data_type,
                           int, oct_mach_info::float_format) const
 {
-  gripe_wrong_type_arg ("octave_base_value::write()", type_name ());
+  err_wrong_type_arg ("octave_base_value::write()", type_name ());
 
   return false;
 }
@@ -1116,7 +1116,7 @@
 octave_value
 octave_base_value::diag (octave_idx_type) const
 {
-  gripe_wrong_type_arg ("octave_base_value::diag ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::diag ()", type_name ());
 
   return octave_value ();
 }
@@ -1124,7 +1124,7 @@
 octave_value
 octave_base_value::diag (octave_idx_type, octave_idx_type) const
 {
-  gripe_wrong_type_arg ("octave_base_value::diag ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::diag ()", type_name ());
 
   return octave_value ();
 }
@@ -1132,7 +1132,7 @@
 octave_value
 octave_base_value::sort (octave_idx_type, sortmode) const
 {
-  gripe_wrong_type_arg ("octave_base_value::sort ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::sort ()", type_name ());
 
   return octave_value ();
 }
@@ -1141,7 +1141,7 @@
 octave_base_value::sort (Array<octave_idx_type> &,
                          octave_idx_type, sortmode) const
 {
-  gripe_wrong_type_arg ("octave_base_value::sort ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::sort ()", type_name ());
 
   return octave_value ();
 }
@@ -1149,7 +1149,7 @@
 sortmode
 octave_base_value::is_sorted (sortmode) const
 {
-  gripe_wrong_type_arg ("octave_base_value::is_sorted ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::is_sorted ()", type_name ());
 
   return UNSORTED;
 }
@@ -1157,7 +1157,7 @@
 Array<octave_idx_type>
 octave_base_value::sort_rows_idx (sortmode) const
 {
-  gripe_wrong_type_arg ("octave_base_value::sort_rows_idx ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::sort_rows_idx ()", type_name ());
 
   return Array<octave_idx_type> ();
 }
@@ -1165,7 +1165,7 @@
 sortmode
 octave_base_value::is_sorted_rows (sortmode) const
 {
-  gripe_wrong_type_arg ("octave_base_value::is_sorted_rows ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::is_sorted_rows ()", type_name ());
 
   return UNSORTED;
 }
@@ -1266,7 +1266,7 @@
 void
 octave_base_value::wrong_type_arg_error (void) const
 {
-  gripe_wrong_type_arg (type_name ());
+  err_wrong_type_arg (type_name ());
 }
 
 octave_value
@@ -1278,13 +1278,13 @@
 void
 octave_base_value::lock (void)
 {
-  gripe_wrong_type_arg ("octave_base_value::lock ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::lock ()", type_name ());
 }
 
 void
 octave_base_value::unlock (void)
 {
-  gripe_wrong_type_arg ("octave_base_value::unlock ()", type_name ());
+  err_wrong_type_arg ("octave_base_value::unlock ()", type_name ());
 }
 
 void
--- a/libinterp/octave-value/ov-bool-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-bool-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "oct-locbuf.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-hdf5.h"
@@ -98,13 +98,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "bool matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "bool matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("bool matrix", "real scalar");
+    err_invalid_conversion ("bool matrix", "real scalar");
 
   return retval;
 }
@@ -116,13 +116,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "bool matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "bool matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("bool matrix", "real scalar");
+    err_invalid_conversion ("bool matrix", "real scalar");
 
   return retval;
 }
@@ -136,13 +136,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "bool matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "bool matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("bool matrix", "complex scalar");
+    err_invalid_conversion ("bool matrix", "complex scalar");
 
   return retval;
 }
@@ -156,13 +156,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "bool matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "bool matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("bool matrix", "complex scalar");
+    err_invalid_conversion ("bool matrix", "complex scalar");
 
   return retval;
 }
@@ -559,7 +559,7 @@
         retval = arg.bool_array_value ();
     }
   else
-    gripe_wrong_type_arg ("logical", arg);
+    err_wrong_type_arg ("logical", arg);
 
   return retval;
 }
--- a/libinterp/octave-value/ov-bool-sparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-bool-sparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "ov-scalar.h"
 #include "ov-bool.h"
 #include "ov-bool-mat.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ops.h"
 #include "oct-locbuf.h"
 
@@ -105,13 +105,13 @@
   if (numel () > 0)
     {
       if (numel () > 1)
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   "bool sparse matrix", "real scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  "bool sparse matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("bool sparse matrix", "real scalar");
+    err_invalid_conversion ("bool sparse matrix", "real scalar");
 
   return retval;
 }
@@ -126,13 +126,13 @@
   if (rows () > 0 && columns () > 0)
     {
       if (numel () > 1)
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   "bool sparse matrix", "complex scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  "bool sparse matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("bool sparse matrix", "complex scalar");
+    err_invalid_conversion ("bool sparse matrix", "complex scalar");
 
   return retval;
 }
--- a/libinterp/octave-value/ov-bool.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-bool.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -28,7 +28,7 @@
 
 #include "mx-base.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "oct-hdf5.h"
 #include "ovl.h"
--- a/libinterp/octave-value/ov-builtin.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-builtin.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #endif
 
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov-builtin.h"
 #include "ov.h"
--- a/libinterp/octave-value/ov-cell.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-cell.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -51,7 +51,7 @@
 #include "ov-scalar.h"
 #include "pr-output.h"
 #include "ov-scalar.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 #include "ls-oct-text.h"
 #include "ls-oct-binary.h"
@@ -304,7 +304,7 @@
                 t_rhs = tmp.subsasgn (next_type, next_idx, rhs);
               }
             else
-              gripe_indexed_cs_list ();
+              err_indexed_cs_list ();
           }
           break;
 
@@ -369,7 +369,7 @@
           octave_base_matrix<Cell>::assign (idxf,
                                             Cell (t_rhs.storable_value ()));
         else
-          gripe_nonbraced_cs_list_assignment ();
+          err_nonbraced_cs_list_assignment ();
 
         count++;
         retval = octave_value (this);
--- a/libinterp/octave-value/ov-ch-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-ch-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "ov-base-mat.h"
 #include "ov-base-mat.cc"
 #include "ov-ch-mat.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "pr-output.h"
 
 template class octave_base_matrix<charNDArray>;
@@ -58,13 +58,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "character matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "character matrix", "real scalar");
 
       retval = static_cast<unsigned char> (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("character matrix", "real scalar");
+    err_invalid_conversion ("character matrix", "real scalar");
 
   return retval;
 }
@@ -76,13 +76,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "character matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "character matrix", "real scalar");
 
       retval = static_cast<unsigned char> (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("character matrix", "real scalar");
+    err_invalid_conversion ("character matrix", "real scalar");
 
   return retval;
 }
@@ -94,13 +94,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "character matrix", "int64 scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "character matrix", "int64 scalar");
 
       retval = octave_int64 (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("character matrix", "int64 scalar");
+    err_invalid_conversion ("character matrix", "int64 scalar");
 
   return retval;
 }
@@ -112,13 +112,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "character matrix", "uint64 scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "character matrix", "uint64 scalar");
 
       retval = octave_uint64 (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("character matrix", "uint64 scalar");
+    err_invalid_conversion ("character matrix", "uint64 scalar");
 
   return retval;
 }
@@ -132,13 +132,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "character matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "character matrix", "complex scalar");
 
       retval = static_cast<unsigned char> (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("character matrix", "complex scalar");
+    err_invalid_conversion ("character matrix", "complex scalar");
 
   return retval;
 }
@@ -152,13 +152,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "character matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "character matrix", "complex scalar");
 
       retval = static_cast<unsigned char> (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("character matrix", "complex scalar");
+    err_invalid_conversion ("character matrix", "complex scalar");
 
   return retval;
 }
--- a/libinterp/octave-value/ov-class.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-class.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "defun.h"
 #include "error.h"
 #include "file-ops.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-path.h"
 #include "ls-hdf5.h"
 #include "ls-oct-text.h"
@@ -240,21 +240,21 @@
 
 OCTAVE_NORETURN static
 void
-gripe_invalid_index1 (void)
+err_invalid_index1 (void)
 {
   error ("invalid index for class");
 }
 
 OCTAVE_NORETURN static
 void
-gripe_invalid_index_for_assignment (void)
+err_invalid_index_for_assignment (void)
 {
   error ("invalid index for class assignment");
 }
 
 OCTAVE_NORETURN static
 void
-gripe_invalid_index_type (const std::string& nm, char t)
+err_invalid_index_type (const std::string& nm, char t)
 {
   error ("%s cannot be indexed with %c", nm.c_str (), t);
 }
@@ -409,7 +409,7 @@
           break;
 
         case '{':
-          gripe_invalid_index_type (type_name (), type[0]);
+          err_invalid_index_type (type_name (), type[0]);
           break;
 
         default:
@@ -469,7 +469,7 @@
             retval(0) = octave_value (map.index (idx.front ()), c_name,
                                       parent_list);
           else
-            gripe_invalid_index1 ();
+            err_invalid_index1 ();
         }
     }
 
@@ -489,7 +489,7 @@
         retval = octave_map ();
     }
   else
-    gripe_invalid_index_for_assignment ();
+    err_invalid_index_for_assignment ();
 
   return retval;
 }
@@ -656,7 +656,7 @@
                 t_rhs = u.subsasgn (type.substr (2), next_idx, rhs);
               }
             else
-              gripe_invalid_index_for_assignment ();
+              err_invalid_index_for_assignment ();
           }
           break;
 
@@ -699,12 +699,12 @@
                 t_rhs = tmp.subsasgn (next_type, next_idx, rhs);
               }
             else
-              gripe_indexed_cs_list ();
+              err_indexed_cs_list ();
           }
           break;
 
         case '{':
-          gripe_invalid_index_type (type_name (), type[0]);
+          err_invalid_index_type (type_name (), type[0]);
           break;
 
         default:
@@ -789,7 +789,7 @@
       break;
 
     case '{':
-      gripe_invalid_index_type (type_name (), type[0]);
+      err_invalid_index_type (type_name (), type[0]);
       break;
 
     default:
@@ -847,7 +847,7 @@
 octave_class::map_keys (void) const
 {
   string_vector retval;
-  gripe_wrong_type_arg ("octave_class::map_keys()", type_name ());
+  err_wrong_type_arg ("octave_class::map_keys()", type_name ());
   return retval;
 }
 
@@ -1621,7 +1621,7 @@
 mxArray *
 octave_class::as_mxArray (void) const
 {
-  gripe_wrong_type_arg ("octave_class::as_mxArray ()", type_name ());
+  err_wrong_type_arg ("octave_class::as_mxArray ()", type_name ());
 
   return 0;
 }
--- a/libinterp/octave-value/ov-complex.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-complex.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -43,7 +43,7 @@
 #include "ov-base-scalar.cc"
 #include "ov-cx-mat.h"
 #include "ov-scalar.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "pr-output.h"
 #include "ops.h"
 
@@ -150,8 +150,8 @@
   double retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real scalar");
 
   retval = std::real (scalar);
 
@@ -164,8 +164,8 @@
   float retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real scalar");
 
   retval = std::real (scalar);
 
@@ -178,8 +178,8 @@
   Matrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = Matrix (1, 1, std::real (scalar));
 
@@ -192,8 +192,8 @@
   FloatMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = FloatMatrix (1, 1, std::real (scalar));
 
@@ -206,8 +206,8 @@
   NDArray retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = NDArray (dim_vector (1, 1), std::real (scalar));
 
@@ -220,8 +220,8 @@
   FloatNDArray retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = FloatNDArray (dim_vector (1, 1), std::real (scalar));
 
--- a/libinterp/octave-value/ov-complex.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-complex.h	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "mx-base.h"
 #include "str-vec.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "error.h"
 #include "ov-base.h"
 #include "ov-cx-mat.h"
@@ -139,9 +139,9 @@
   bool bool_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0.0 && scalar != 1.0)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return scalar != 0.0;
   }
@@ -149,9 +149,9 @@
   boolNDArray bool_array_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0.0 && scalar != 1.0)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return boolNDArray (dim_vector (1, 1), scalar != 0.0);
   }
--- a/libinterp/octave-value/ov-cs-list.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-cs-list.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -31,7 +31,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ov-cs-list.h"
 #include "unwind-prot.h"
 
@@ -47,13 +47,13 @@
 octave_cs_list::subsref (const std::string&,
                          const std::list<octave_value_list>&)
 {
-  gripe_indexed_cs_list ();
+  err_indexed_cs_list ();
 }
 
 octave_value_list
 octave_cs_list::subsref (const std::string&,
                          const std::list<octave_value_list>&, int)
 {
-  gripe_indexed_cs_list ();
+  err_indexed_cs_list ();
 }
 
--- a/libinterp/octave-value/ov-cx-diag.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-cx-diag.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -102,8 +102,8 @@
   DiagMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               type_name (), "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              type_name (), "real matrix");
 
   retval = ::real (matrix);
 
@@ -116,8 +116,8 @@
   DiagMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               type_name (), "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              type_name (), "real matrix");
 
   retval = ::real (matrix);
 
--- a/libinterp/octave-value/ov-cx-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-cx-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "mach-info.h"
 #include "oct-locbuf.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-hdf5.h"
@@ -105,18 +105,18 @@
   double retval = lo_ieee_nan_value ();
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
+    warn_implicit_conversion ("Octave:imag-to-real",
                                "complex matrix", "real scalar");
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
+      warn_implicit_conversion ("Octave:array-to-scalar",
                                  "complex matrix", "real scalar");
 
       retval = std::real (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("complex matrix", "real scalar");
+    err_invalid_conversion ("complex matrix", "real scalar");
 
   return retval;
 }
@@ -127,18 +127,18 @@
   float retval = lo_ieee_float_nan_value ();
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
+    warn_implicit_conversion ("Octave:imag-to-real",
                                "complex matrix", "real scalar");
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
+      warn_implicit_conversion ("Octave:array-to-scalar",
                                  "complex matrix", "real scalar");
 
       retval = std::real (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("complex matrix", "real scalar");
+    err_invalid_conversion ("complex matrix", "real scalar");
 
   return retval;
 }
@@ -149,7 +149,7 @@
   NDArray retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
+    warn_implicit_conversion ("Octave:imag-to-real",
                                "complex matrix", "real matrix");
 
   retval = ::real (matrix);
@@ -163,7 +163,7 @@
   Matrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
+    warn_implicit_conversion ("Octave:imag-to-real",
                                "complex matrix", "real matrix");
 
   retval = ::real (ComplexMatrix (matrix));
@@ -177,7 +177,7 @@
   FloatMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
+    warn_implicit_conversion ("Octave:imag-to-real",
                                "complex matrix", "real matrix");
 
   retval = ::real (ComplexMatrix (matrix));
@@ -194,13 +194,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
+      warn_implicit_conversion ("Octave:array-to-scalar",
                                  "complex matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("complex matrix", "complex scalar");
+    err_invalid_conversion ("complex matrix", "complex scalar");
 
   return retval;
 }
@@ -214,13 +214,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
+      warn_implicit_conversion ("Octave:array-to-scalar",
                                  "complex matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("complex matrix", "complex scalar");
+    err_invalid_conversion ("complex matrix", "complex scalar");
 
   return retval;
 }
@@ -241,10 +241,10 @@
 octave_complex_matrix::bool_array_value (bool warn) const
 {
   if (matrix.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && (! matrix.all_elements_are_real ()
                     || real (matrix).any_element_not_one_or_zero ()))
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return mx_el_ne (matrix, Complex (0.0));
 }
@@ -255,7 +255,7 @@
   charNDArray retval;
 
   if (! frc_str_conv)
-    gripe_implicit_conversion ("Octave:num-to-str",
+    warn_implicit_conversion ("Octave:num-to-str",
                                "complex matrix", "string");
   else
     {
@@ -281,7 +281,7 @@
   SparseMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
+    warn_implicit_conversion ("Octave:imag-to-real",
                                "complex matrix", "real matrix");
 
   retval = SparseMatrix (::real (ComplexMatrix (matrix)));
--- a/libinterp/octave-value/ov-cx-sparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-cx-sparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -37,7 +37,7 @@
 #include "ov-base.h"
 #include "ov-scalar.h"
 #include "ov-complex.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 #include "oct-hdf5.h"
 
@@ -109,20 +109,20 @@
   double retval = lo_ieee_nan_value ();
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex sparse matrix", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex sparse matrix", "real scalar");
 
   // FIXME: maybe this should be a function, valid_as_scalar()
   if (numel () > 0)
     {
       if (numel () > 1)
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   "complex sparse matrix", "real scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  "complex sparse matrix", "real scalar");
 
       retval = std::real (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("complex sparse matrix", "real scalar");
+    err_invalid_conversion ("complex sparse matrix", "real scalar");
 
   return retval;
 }
@@ -133,8 +133,8 @@
   Matrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex sparse matrix", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex sparse matrix", "real matrix");
 
   retval = ::real (matrix.matrix_value ());
 
@@ -152,13 +152,13 @@
   if (numel () > 0)
     {
       if (numel () > 1)
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   "complex sparse matrix", "real scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  "complex sparse matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("complex sparse matrix", "real scalar");
+    err_invalid_conversion ("complex sparse matrix", "real scalar");
 
   return retval;
 }
@@ -181,8 +181,8 @@
   charNDArray retval;
 
   if (! frc_str_conv)
-    gripe_implicit_conversion ("Octave:num-to-str",
-                               "sparse complex matrix", "string");
+    warn_implicit_conversion ("Octave:num-to-str",
+                              "sparse complex matrix", "string");
   else
     {
       retval = charNDArray (dims (), 0);
@@ -204,9 +204,9 @@
   SparseMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex sparse matrix",
-                               "real sparse matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex sparse matrix",
+                              "real sparse matrix");
 
   retval = ::real (matrix);
 
@@ -217,10 +217,10 @@
 octave_sparse_complex_matrix::sparse_bool_matrix_value (bool warn) const
 {
   if (matrix.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && (! matrix.all_elements_are_real ()
                     || real (matrix).any_element_not_one_or_zero ()))
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return mx_el_ne (matrix, Complex (0.0));
 }
--- a/libinterp/octave-value/ov-fcn-handle.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-fcn-handle.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "oct-hdf5.h"
 #include "oct-map.h"
--- a/libinterp/octave-value/ov-fcn-inline.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-fcn-inline.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -37,7 +37,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-hdf5.h"
 #include "oct-map.h"
 #include "ov-base.h"
--- a/libinterp/octave-value/ov-float.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-float.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "lo-mappers.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-hdf5.h"
@@ -111,7 +111,7 @@
   octave_value retval;
 
   if (xisnan (scalar))
-    gripe_nan_to_character_conversion ();
+    err_nan_to_character_conversion ();
   else
     {
       int ival = NINT (scalar);
--- a/libinterp/octave-value/ov-float.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-float.h	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 #include "mx-base.h"
 #include "str-vec.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ov-base.h"
 #include "ov-re-mat.h"
 #include "ov-flt-re-mat.h"
@@ -197,9 +197,9 @@
   bool bool_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0 && scalar != 1)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return scalar;
   }
@@ -207,9 +207,9 @@
   boolNDArray bool_array_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0 && scalar != 1)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return boolNDArray (dim_vector (1, 1), scalar);
   }
--- a/libinterp/octave-value/ov-flt-complex.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-flt-complex.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -42,7 +42,7 @@
 #include "ov-flt-cx-mat.h"
 #include "ov-float.h"
 #include "ov-flt-complex.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "pr-output.h"
 #include "ops.h"
 
@@ -93,8 +93,8 @@
   double retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real scalar");
 
   retval = std::real (scalar);
 
@@ -107,8 +107,8 @@
   float retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real scalar");
 
   retval = std::real (scalar);
 
@@ -121,8 +121,8 @@
   Matrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = Matrix (1, 1, std::real (scalar));
 
@@ -135,8 +135,8 @@
   FloatMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = FloatMatrix (1, 1, std::real (scalar));
 
@@ -149,8 +149,8 @@
   NDArray retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = NDArray (dim_vector (1, 1), std::real (scalar));
 
@@ -163,8 +163,8 @@
   FloatNDArray retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex scalar", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex scalar", "real matrix");
 
   retval = FloatNDArray (dim_vector (1, 1), std::real (scalar));
 
--- a/libinterp/octave-value/ov-flt-complex.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-flt-complex.h	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "mx-base.h"
 #include "str-vec.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "error.h"
 #include "ov-base.h"
 #include "ov-flt-cx-mat.h"
@@ -135,9 +135,9 @@
   bool bool_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0.0f && scalar != 1.0f)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return scalar != 0.0f;
   }
@@ -145,9 +145,9 @@
   boolNDArray bool_array_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0.0f && scalar != 1.0f)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return boolNDArray (dim_vector (1, 1), scalar != 1.0f);
   }
--- a/libinterp/octave-value/ov-flt-cx-diag.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-flt-cx-diag.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -83,8 +83,8 @@
   DiagMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               type_name (), "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              type_name (), "real matrix");
 
   retval = ::real (matrix);
 
@@ -97,8 +97,8 @@
   DiagMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               type_name (), "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              type_name (), "real matrix");
 
   retval = ::real (matrix);
 
--- a/libinterp/octave-value/ov-flt-cx-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-flt-cx-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "mach-info.h"
 #include "oct-locbuf.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-hdf5.h"
@@ -93,18 +93,18 @@
   double retval = lo_ieee_nan_value ();
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real scalar");
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "complex matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "complex matrix", "real scalar");
 
       retval = std::real (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("complex matrix", "real scalar");
+    err_invalid_conversion ("complex matrix", "real scalar");
 
   return retval;
 }
@@ -115,18 +115,18 @@
   float retval = lo_ieee_float_nan_value ();
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real scalar");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real scalar");
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "complex matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "complex matrix", "real scalar");
 
       retval = std::real (matrix (0, 0));
     }
   else
-    gripe_invalid_conversion ("complex matrix", "real scalar");
+    err_invalid_conversion ("complex matrix", "real scalar");
 
   return retval;
 }
@@ -137,8 +137,8 @@
   Matrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real matrix");
 
   retval = ::real (FloatComplexMatrix (matrix));
 
@@ -151,8 +151,8 @@
   FloatMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real matrix");
 
   retval = ::real (FloatComplexMatrix (matrix));
 
@@ -168,13 +168,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "complex matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "complex matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("complex matrix", "complex scalar");
+    err_invalid_conversion ("complex matrix", "complex scalar");
 
   return retval;
 }
@@ -188,13 +188,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "complex matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "complex matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("complex matrix", "complex scalar");
+    err_invalid_conversion ("complex matrix", "complex scalar");
 
   return retval;
 }
@@ -215,10 +215,10 @@
 octave_float_complex_matrix::bool_array_value (bool warn) const
 {
   if (matrix.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && (! matrix.all_elements_are_real ()
                     || real (matrix).any_element_not_one_or_zero ()))
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return mx_el_ne (matrix, FloatComplex (0.0));
 }
@@ -229,8 +229,8 @@
   charNDArray retval;
 
   if (! frc_str_conv)
-    gripe_implicit_conversion ("Octave:num-to-str",
-                               "complex matrix", "string");
+    warn_implicit_conversion ("Octave:num-to-str",
+                              "complex matrix", "string");
   else
     {
       retval = charNDArray (dims ());
@@ -255,8 +255,8 @@
   SparseMatrix retval;
 
   if (! force_conversion)
-    gripe_implicit_conversion ("Octave:imag-to-real",
-                               "complex matrix", "real matrix");
+    warn_implicit_conversion ("Octave:imag-to-real",
+                              "complex matrix", "real matrix");
 
   retval = SparseMatrix (::real (complex_matrix_value ()));
 
--- a/libinterp/octave-value/ov-flt-re-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-flt-re-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -40,7 +40,7 @@
 #include "oct-locbuf.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
@@ -93,13 +93,13 @@
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "real scalar");
+    err_invalid_conversion ("real matrix", "real scalar");
 
   return retval;
 }
@@ -111,13 +111,13 @@
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "real scalar");
+    err_invalid_conversion ("real matrix", "real scalar");
 
   return retval;
 }
@@ -145,13 +145,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "complex scalar");
+    err_invalid_conversion ("real matrix", "complex scalar");
 
   return retval;
 }
@@ -165,13 +165,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "complex scalar");
+    err_invalid_conversion ("real matrix", "complex scalar");
 
   return retval;
 }
@@ -212,9 +212,9 @@
 octave_float_matrix::bool_array_value (bool warn) const
 {
   if (matrix.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && matrix.any_element_not_one_or_zero ())
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return boolNDArray (matrix);
 }
@@ -290,7 +290,7 @@
       float d = matrix (i);
 
       if (xisnan (d))
-        gripe_nan_to_character_conversion ();
+        err_nan_to_character_conversion ();
       else
         {
           int ival = NINT (d);
--- a/libinterp/octave-value/ov-int16.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-int16.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-int32.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-int32.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-int64.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-int64.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-int8.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-int8.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-intx.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-intx.h	Mon Jan 18 18:28:06 2016 -0800
@@ -35,7 +35,7 @@
 #include "ov-base.h"
 #include "ov-base-int.h"
 #include "ov-typeinfo.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 #include "ov-re-mat.h"
 #include "ov-scalar.h"
@@ -104,13 +104,13 @@
 
     if (numel () > 0)
       {
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   type_name (), "real scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  type_name (), "real scalar");
 
         retval = matrix(0).double_value ();
       }
     else
-      gripe_invalid_conversion (type_name (), "real scalar");
+      err_invalid_conversion (type_name (), "real scalar");
 
     return retval;
 
@@ -123,13 +123,13 @@
 
     if (numel () > 0)
       {
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   type_name (), "real scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  type_name (), "real scalar");
 
         retval = matrix(0).float_value ();
       }
     else
-      gripe_invalid_conversion (type_name (), "real scalar");
+      err_invalid_conversion (type_name (), "real scalar");
 
     return retval;
 
@@ -259,7 +259,7 @@
     octave_idx_type nel = numel ();
 
     if (warn && matrix.any_element_not_one_or_zero ())
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     bool *vec = retval.fortran_vec ();
     for (octave_idx_type i = 0; i < nel; i++)
@@ -573,7 +573,7 @@
   bool bool_value (bool warn = false) const
   {
     if (warn && scalar != 0.0 && scalar != 1.0)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return scalar.bool_value ();
   }
@@ -584,7 +584,7 @@
     boolNDArray retval (dim_vector (1, 1));
 
     if (warn && scalar != 0.0 && scalar != 1.0)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     retval(0) = scalar.bool_value ();
 
--- a/libinterp/octave-value/ov-mex-fcn.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-mex-fcn.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include <defaults.h>
 #include "dynamic-ld.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov-mex-fcn.h"
 #include "ov.h"
--- a/libinterp/octave-value/ov-perm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-perm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "ov-re-mat.h"
 #include "ov-scalar.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ops.h"
 #include "pr-output.h"
 
@@ -144,13 +144,13 @@
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion (type_name (), "real scalar");
+    err_invalid_conversion (type_name (), "real scalar");
 
   return retval;
 }
@@ -162,13 +162,13 @@
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion (type_name (), "real scalar");
+    err_invalid_conversion (type_name (), "real scalar");
 
   return retval;
 }
@@ -182,13 +182,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion (type_name (), "complex scalar");
+    err_invalid_conversion (type_name (), "complex scalar");
 
   return retval;
 }
@@ -202,13 +202,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 type_name (), "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                type_name (), "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion (type_name (), "complex scalar");
+    err_invalid_conversion (type_name (), "complex scalar");
 
   return retval;
 }
--- a/libinterp/octave-value/ov-range.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-range.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -31,7 +31,7 @@
 
 #include "defun.h"
 #include "variables.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ops.h"
 #include "ovl.h"
@@ -186,13 +186,13 @@
 
   if (nel > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "range", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "range", "real scalar");
 
       retval = range.base ();
     }
   else
-    gripe_invalid_conversion ("range", "real scalar");
+    err_invalid_conversion ("range", "real scalar");
 
   return retval;
 }
@@ -206,13 +206,13 @@
 
   if (nel > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "range", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "range", "real scalar");
 
       retval = range.base ();
     }
   else
-    gripe_invalid_conversion ("range", "real scalar");
+    err_invalid_conversion ("range", "real scalar");
 
   return retval;
 }
@@ -296,13 +296,13 @@
 
   if (nel > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "range", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "range", "complex scalar");
 
       retval = range.base ();
     }
   else
-    gripe_invalid_conversion ("range", "complex scalar");
+    err_invalid_conversion ("range", "complex scalar");
 
   return retval;
 }
@@ -318,13 +318,13 @@
 
   if (nel > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "range", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "range", "complex scalar");
 
       retval = range.base ();
     }
   else
-    gripe_invalid_conversion ("range", "complex scalar");
+    err_invalid_conversion ("range", "complex scalar");
 
   return retval;
 }
@@ -335,9 +335,9 @@
   Matrix m = range.matrix_value ();
 
   if (m.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && m.any_element_not_one_or_zero ())
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return boolNDArray (m);
 }
--- a/libinterp/octave-value/ov-re-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-re-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -40,7 +40,7 @@
 #include "oct-locbuf.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
@@ -108,13 +108,13 @@
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "real scalar");
+    err_invalid_conversion ("real matrix", "real scalar");
 
   return retval;
 }
@@ -126,13 +126,13 @@
 
   if (numel () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "real scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "real scalar");
+    err_invalid_conversion ("real matrix", "real scalar");
 
   return retval;
 }
@@ -160,13 +160,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "complex scalar");
+    err_invalid_conversion ("real matrix", "complex scalar");
 
   return retval;
 }
@@ -180,13 +180,13 @@
 
   if (rows () > 0 && columns () > 0)
     {
-      gripe_implicit_conversion ("Octave:array-to-scalar",
-                                 "real matrix", "complex scalar");
+      warn_implicit_conversion ("Octave:array-to-scalar",
+                                "real matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real matrix", "complex scalar");
+    err_invalid_conversion ("real matrix", "complex scalar");
 
   return retval;
 }
@@ -221,9 +221,9 @@
 octave_matrix::bool_array_value (bool warn) const
 {
   if (matrix.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && matrix.any_element_not_one_or_zero ())
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return boolNDArray (matrix);
 }
@@ -392,7 +392,7 @@
       double d = matrix (i);
 
       if (xisnan (d))
-        gripe_nan_to_character_conversion ();
+        err_nan_to_character_conversion ();
       else
         {
           int ival = NINT (d);
--- a/libinterp/octave-value/ov-re-sparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-re-sparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 #include "mxarray.h"
 #include "ov-base.h"
 #include "ov-scalar.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 #include "oct-hdf5.h"
 #include "ls-hdf5.h"
@@ -62,7 +62,7 @@
   else
     {
       std::string nm = "<" + type_name () + ">";
-      gripe_invalid_index (nm.c_str ());
+      err_invalid_index (nm.c_str ());
     }
 }
 
@@ -100,13 +100,13 @@
   if (numel () > 0)
     {
       if (numel () > 1)
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   "real sparse matrix", "real scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  "real sparse matrix", "real scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real sparse matrix", "real scalar");
+    err_invalid_conversion ("real sparse matrix", "real scalar");
 
   return retval;
 }
@@ -122,13 +122,13 @@
   if (rows () > 0 && columns () > 0)
     {
       if (numel () > 1)
-        gripe_implicit_conversion ("Octave:array-to-scalar",
-                                   "real sparse matrix", "complex scalar");
+        warn_implicit_conversion ("Octave:array-to-scalar",
+                                  "real sparse matrix", "complex scalar");
 
       retval = matrix (0, 0);
     }
   else
-    gripe_invalid_conversion ("real sparse matrix", "complex scalar");
+    err_invalid_conversion ("real sparse matrix", "complex scalar");
 
   return retval;
 }
@@ -145,9 +145,9 @@
   NDArray m = matrix.matrix_value ();
 
   if (m.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && m.any_element_not_one_or_zero ())
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return boolNDArray (m);
 }
@@ -188,9 +188,9 @@
 octave_sparse_matrix::sparse_bool_matrix_value (bool warn) const
 {
   if (matrix.any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
   else if (warn && matrix.any_element_not_one_or_zero ())
-    gripe_logical_conversion ();
+    warn_logical_conversion ();
 
   return mx_el_ne (matrix, 0.0);
 }
@@ -224,7 +224,7 @@
             double d = matrix.data (i);
 
             if (xisnan (d))
-              gripe_nan_to_character_conversion ();
+              err_nan_to_character_conversion ();
             else
               {
                 int ival = NINT (d);
--- a/libinterp/octave-value/ov-scalar.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-scalar.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "lo-mappers.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "ovl.h"
 #include "oct-hdf5.h"
@@ -126,7 +126,7 @@
   octave_value retval;
 
   if (xisnan (scalar))
-    gripe_nan_to_character_conversion ();
+    err_nan_to_character_conversion ();
   else
     {
       int ival = NINT (scalar);
--- a/libinterp/octave-value/ov-scalar.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-scalar.h	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 #include "mx-base.h"
 #include "str-vec.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ov-base.h"
 #include "ov-re-mat.h"
 #include "ov-base-scalar.h"
@@ -196,9 +196,9 @@
   bool bool_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0 && scalar != 1)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return scalar;
   }
@@ -206,9 +206,9 @@
   boolNDArray bool_array_value (bool warn = false) const
   {
     if (xisnan (scalar))
-      gripe_nan_to_logical_conversion ();
+      err_nan_to_logical_conversion ();
     else if (warn && scalar != 0 && scalar != 1)
-      gripe_logical_conversion ();
+      warn_logical_conversion ();
 
     return boolNDArray (dim_vector (1, 1), scalar);
   }
--- a/libinterp/octave-value/ov-str-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-str-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -38,7 +38,7 @@
 
 #include "byte-swap.h"
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ls-ascii-helper.h"
 #include "ls-hdf5.h"
 #include "ls-oct-text.h"
@@ -164,7 +164,7 @@
   T retval INIT; \
  \
   if (! force_string_conv) \
-    gripe_invalid_conversion ("string", TNAME); \
+    err_invalid_conversion ("string", TNAME); \
   else \
     { \
       warning_with_id ("Octave:str-to-num", \
--- a/libinterp/octave-value/ov-struct.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-struct.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "Cell.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "mxarray.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
@@ -92,13 +92,13 @@
 }
 
 static void
-gripe_invalid_index_for_assignment (void)
+err_invalid_index_for_assignment (void)
 {
   error ("invalid index for structure array assignment");
 }
 
 static void
-gripe_invalid_index_type (const std::string& nm, char t)
+err_invalid_index_type (const std::string& nm, char t)
 {
   error ("%s cannot be indexed with %c", nm.c_str (), t);
 }
@@ -165,7 +165,7 @@
       break;
 
     case '{':
-      gripe_invalid_index_type (type_name (), type[0]);
+      err_invalid_index_type (type_name (), type[0]);
       break;
 
     default:
@@ -228,7 +228,7 @@
       break;
 
     case '{':
-      gripe_invalid_index_type (type_name (), type[0]);
+      err_invalid_index_type (type_name (), type[0]);
       break;
 
     default:
@@ -342,10 +342,10 @@
                               : tmp.subsasgn (next_type, next_idx, rhs));
                   }
                 else
-                  gripe_indexed_cs_list ();
+                  err_indexed_cs_list ();
               }
             else
-              gripe_invalid_index_for_assignment ();
+              err_invalid_index_for_assignment ();
           }
           break;
 
@@ -396,12 +396,12 @@
                          : tmp.subsasgn (next_type, next_idx, rhs));
               }
             else
-              gripe_indexed_cs_list ();
+              err_indexed_cs_list ();
           }
           break;
 
         case '{':
-          gripe_invalid_index_type (type_name (), type[0]);
+          err_invalid_index_type (type_name (), type[0]);
           break;
 
         default:
@@ -460,7 +460,7 @@
                     retval = octave_value (this);
                   }
                 else
-                  gripe_nonbraced_cs_list_assignment ();
+                  err_nonbraced_cs_list_assignment ();
               }
           }
         else
@@ -524,7 +524,7 @@
       break;
 
     case '{':
-      gripe_invalid_index_type (type_name (), type[0]);
+      err_invalid_index_type (type_name (), type[0]);
       break;
 
     default:
--- a/libinterp/octave-value/ov-type-conv.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-type-conv.h	Mon Jan 18 18:28:06 2016 -0800
@@ -94,7 +94,7 @@
         ? SCALAR_RESULT_T::static_type_name () \
         : MATRIX_RESULT_T::static_type_name (); \
  \
-      gripe_invalid_conversion (arg_tname, result_tname); \
+      err_invalid_conversion (arg_tname, result_tname); \
     } \
  \
   return retval;
--- a/libinterp/octave-value/ov-uint16.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-uint16.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-uint32.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-uint32.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-uint64.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-uint64.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-uint8.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-uint8.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "quit.h"
 
 #include "defun.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
 #include "oct-hdf5.h"
--- a/libinterp/octave-value/ov-usr-fcn.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov-usr-fcn.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "builtins.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "ovl.h"
 #include "ov-usr-fcn.h"
@@ -1067,7 +1067,7 @@
       return ovl (r);
     }
   else
-    gripe_wrong_type_arg ("isargout", args(0));
+    err_wrong_type_arg ("isargout", args(0));
 
   return ovl ();
 }
--- a/libinterp/octave-value/ov.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/octave-value/ov.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -83,7 +83,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "pager.h"
 #include "parse.h"
 #include "pr-output.h"
@@ -1601,8 +1601,8 @@
   if (retval.length () > 2 || (retval(0) != 1 && retval(1) != 1))
     {
       if (! force_vector_conversion)
-        gripe_implicit_conversion ("Octave:array-to-vector",
-                                   my_type.c_str (), wanted_type.c_str ());
+        warn_implicit_conversion ("Octave:array-to-vector",
+                                  my_type.c_str (), wanted_type.c_str ());
       retval = dim_vector (nel, 1);
     }
 
--- a/libinterp/operators/op-b-b.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-b-b.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-bool.h"
--- a/libinterp/operators/op-b-bm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-b-bm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-bool.h"
--- a/libinterp/operators/op-b-sbm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-b-sbm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-bm-b.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-bm-b.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-bool.h"
--- a/libinterp/operators/op-bm-bm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-bm-bm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-bool-mat.h"
--- a/libinterp/operators/op-bm-sbm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-bm-sbm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-cdm-cdm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cdm-cdm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
--- a/libinterp/operators/op-cell.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cell.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cell.h"
--- a/libinterp/operators/op-chm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-chm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-ch-mat.h"
@@ -51,8 +51,8 @@
 {
   CAST_BINOP_ARGS (octave_char_matrix&, const octave_scalar&);
 
-  gripe_implicit_conversion ("Octave:num-to-str",
-                             v2.type_name (), v1.type_name ());
+  warn_implicit_conversion ("Octave:num-to-str",
+                            v2.type_name (), v1.type_name ());
 
   return octave_value (v1.char_array_value (). concat (v2.array_value (),
                        ra_idx));
@@ -62,8 +62,8 @@
 {
   CAST_BINOP_ARGS (octave_char_matrix&, const octave_matrix&);
 
-  gripe_implicit_conversion ("Octave:num-to-str",
-                             v2.type_name (), v1.type_name ());
+  warn_implicit_conversion ("Octave:num-to-str",
+                            v2.type_name (), v1.type_name ());
 
   return octave_value (v1.char_array_value (). concat (v2.array_value (),
                        ra_idx));
@@ -73,8 +73,8 @@
 {
   CAST_BINOP_ARGS (octave_scalar&, const octave_char_matrix&);
 
-  gripe_implicit_conversion ("Octave:num-to-str",
-                             v1.type_name (), v2.type_name ());
+  warn_implicit_conversion ("Octave:num-to-str",
+                            v1.type_name (), v2.type_name ());
 
   return octave_value (v1.array_value (). concat (v2.char_array_value (),
                        ra_idx));
@@ -84,8 +84,8 @@
 {
   CAST_BINOP_ARGS (octave_matrix&, const octave_char_matrix&);
 
-  gripe_implicit_conversion ("Octave:num-to-str",
-                             v1.type_name (), v2.type_name ());
+  warn_implicit_conversion ("Octave:num-to-str",
+                            v1.type_name (), v2.type_name ());
 
   return octave_value (v1.array_value (). concat (v2.char_array_value (),
                        ra_idx));
--- a/libinterp/operators/op-class.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-class.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "oct-time.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "load-path.h"
 #include "ovl.h"
 #include "ov.h"
--- a/libinterp/operators/op-cm-cm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cm-cm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
--- a/libinterp/operators/op-cm-cs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cm-cs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
@@ -48,7 +48,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_array_value () / d);
 }
@@ -90,7 +90,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_array_value () / d);
 }
--- a/libinterp/operators/op-cm-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cm-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-cnda-nda.h"
 #include "mx-nda-cnda.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
--- a/libinterp/operators/op-cm-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cm-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -27,7 +27,7 @@
 #include "mx-cm-s.h"
 #include "mx-cnda-s.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
@@ -51,7 +51,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_array_value () / d);
 }
@@ -88,7 +88,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_array_value () / d);
 }
--- a/libinterp/operators/op-cm-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cm-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -56,7 +56,7 @@
       Complex d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.complex_array_value () / d);
     }
--- a/libinterp/operators/op-cm-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cm-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -55,7 +55,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.complex_array_value () / d);
     }
--- a/libinterp/operators/op-cs-cm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cs-cm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -63,7 +63,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_array_value () / d);
 }
@@ -94,7 +94,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_array_value () / d);
 }
--- a/libinterp/operators/op-cs-cs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cs-cs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "Array-util.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -45,7 +45,7 @@
   CAST_UNOP_ARG (const octave_complex&);
   Complex x = v.complex_value ();
   if (xisnan (x))
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return octave_value (x == 0.0);
 }
@@ -77,7 +77,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_value () / d);
 }
@@ -91,7 +91,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_value () / d);
 }
@@ -112,7 +112,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_value () / d);
 }
@@ -126,7 +126,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_value () / d);
 }
--- a/libinterp/operators/op-cs-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cs-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-cs-nda.h"
 #include "mx-nda-cs.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -69,7 +69,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.array_value () / d);
 }
@@ -92,7 +92,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.array_value () / d);
 }
--- a/libinterp/operators/op-cs-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cs-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -48,7 +48,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_value () / d);
 }
@@ -62,7 +62,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.double_value () / d);
 }
@@ -83,7 +83,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.complex_value () / d);
 }
@@ -97,7 +97,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.double_value () / d);
 }
--- a/libinterp/operators/op-cs-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cs-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -53,7 +53,7 @@
       Complex d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseComplexMatrix (1, 1, v1.complex_value () / d));
     }
@@ -82,7 +82,7 @@
   Complex d = v1.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.sparse_complex_matrix_value () / d);
 }
@@ -107,7 +107,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_complex_matrix_value () / d);
 
--- a/libinterp/operators/op-cs-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-cs-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -55,7 +55,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseComplexMatrix (1, 1, v1.complex_value () / d));
     }
@@ -84,7 +84,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_matrix_value () / d);
 
@@ -110,7 +110,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_matrix_value () / d);
 
--- a/libinterp/operators/op-dm-dm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-dm-dm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-dm-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-dm-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -33,7 +33,7 @@
 #include "mx-m-cs.h"
 #include "mx-cs-m.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -350,7 +350,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_complex_matrix_value () / d);
     }
@@ -372,7 +372,7 @@
       std::complex<double> d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_matrix_value () / d);
     }
@@ -394,7 +394,7 @@
       std::complex<double> d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_complex_matrix_value () / d);
     }
--- a/libinterp/operators/op-dm-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-dm-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -134,7 +134,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_matrix_value () / d);
     }
--- a/libinterp/operators/op-dms-template.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-dms-template.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #endif
 
 #include "ops.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "xpow.h"
 #include SINCLUDE
 #include MINCLUDE
@@ -53,7 +53,7 @@
 gripe_if_zero (T x)
 {
   if (x == T ())
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return x;
 }
--- a/libinterp/operators/op-double-conv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-double-conv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int8.h"
--- a/libinterp/operators/op-fcdm-fcdm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcdm-fcdm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-flt-cx-mat.h"
--- a/libinterp/operators/op-fcdm-fdm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcdm-fdm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-flt-cx-diag.h"
--- a/libinterp/operators/op-fcm-fcm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcm-fcm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
--- a/libinterp/operators/op-fcm-fcs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcm-fcs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
@@ -53,7 +53,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_array_value () / d);
 }
@@ -98,7 +98,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_array_value () / d);
 }
--- a/libinterp/operators/op-fcm-fm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcm-fm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-fcnda-fnda.h"
 #include "mx-fnda-fcnda.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
--- a/libinterp/operators/op-fcm-fs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcm-fs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "mx-fcnda-fs.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
@@ -56,7 +56,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_array_value () / d);
 }
@@ -102,7 +102,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_array_value () / d);
 }
--- a/libinterp/operators/op-fcn.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcn.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-fcn-handle.h"
--- a/libinterp/operators/op-fcs-fcm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcs-fcm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -70,7 +70,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_array_value () / d);
 }
@@ -103,7 +103,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_array_value () / d);
 }
--- a/libinterp/operators/op-fcs-fcs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcs-fcs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -43,7 +43,7 @@
   CAST_UNOP_ARG (const octave_float_complex&);
   FloatComplex x = v.float_complex_value ();
   if (xisnan (x))
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return octave_value (x == 0.0f);
 }
@@ -75,7 +75,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_value () / d);
 }
@@ -89,7 +89,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_value () / d);
 }
@@ -110,7 +110,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_value () / d);
 }
@@ -124,7 +124,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_value () / d);
 }
--- a/libinterp/operators/op-fcs-fm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcs-fm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -27,7 +27,7 @@
 #include "mx-fcs-fnda.h"
 #include "mx-fnda-fcs.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -70,7 +70,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_array_value () / d);
 }
@@ -102,7 +102,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_array_value () / d);
 }
--- a/libinterp/operators/op-fcs-fs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fcs-fs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-complex.h"
@@ -51,7 +51,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_value () / d);
 }
@@ -65,7 +65,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_value () / d);
 }
@@ -86,7 +86,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_complex_value () / d);
 }
@@ -100,7 +100,7 @@
   FloatComplex d = v1.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_value () / d);
 }
--- a/libinterp/operators/op-fdm-fdm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fdm-fdm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-flt-re-mat.h"
--- a/libinterp/operators/op-float-conv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-float-conv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int8.h"
--- a/libinterp/operators/op-fm-fcm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fm-fcm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-fnda-fcnda.h"
 #include "mx-fcnda-fnda.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-fm-fcs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fm-fcs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-fnda-fcs.h"
 #include "mx-fcs-fnda.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
@@ -56,7 +56,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_array_value () / d);
 }
@@ -100,7 +100,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_array_value () / d);
 }
--- a/libinterp/operators/op-fm-fm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fm-fm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-fm-fs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fm-fs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-flt-re-mat.h"
@@ -48,7 +48,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_array_value () / d);
 }
@@ -91,7 +91,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_array_value () / d);
 }
--- a/libinterp/operators/op-fs-fcm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fs-fcm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-fs-fcnda.h"
 #include "mx-fcnda-fs.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -76,7 +76,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_array_value () / d);
 }
@@ -109,7 +109,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_array_value () / d);
 }
--- a/libinterp/operators/op-fs-fcs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fs-fcs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -51,7 +51,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_value () / d);
 }
@@ -65,7 +65,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_value () / d);
 }
@@ -86,7 +86,7 @@
   FloatComplex d = v2.float_complex_value ();
 
   if (d == 0.0f)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_value () / d);
 }
@@ -100,7 +100,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_complex_value () / d);
 }
--- a/libinterp/operators/op-fs-fm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fs-fm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -65,7 +65,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_array_value () / d);
 }
@@ -97,7 +97,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_array_value () / d);
 }
--- a/libinterp/operators/op-fs-fs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-fs-fs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "Array-util.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -45,7 +45,7 @@
   CAST_UNOP_ARG (const octave_float_scalar&);
   float x = v.float_value ();
   if (xisnan (x))
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return octave_value (x == 0.0f);
 }
@@ -71,7 +71,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_value () / d);
 }
@@ -85,7 +85,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_value () / d);
 }
@@ -106,7 +106,7 @@
   float d = v2.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.float_value () / d);
 }
@@ -120,7 +120,7 @@
   float d = v1.float_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.float_value () / d);
 }
--- a/libinterp/operators/op-i16-i16.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-i16-i16.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-i16-fnda.h"
 #include "mx-fnda-i16.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-i32-i32.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-i32-i32.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-i32-fnda.h"
 #include "mx-fnda-i32.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-i64-i64.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-i64-i64.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-i64-fnda.h"
 #include "mx-fnda-i64.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-i8-i8.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-i8-i8.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-i8-fnda.h"
 #include "mx-fnda-i8.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-int-concat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-int-concat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int8.h"
--- a/libinterp/operators/op-int-conv.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-int-conv.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int8.h"
--- a/libinterp/operators/op-int.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-int.h	Mon Jan 18 18:28:06 2016 -0800
@@ -181,7 +181,7 @@
     CAST_BINOP_ARGS (const octave_ ## T1 ## scalar&, const octave_ ## T2 ## scalar&); \
  \
     if (! v2.T2 ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v1.T1 ## scalar_value () / v2.T2 ## scalar_value ()); \
     return retval; \
@@ -194,7 +194,7 @@
     CAST_BINOP_ARGS (const octave_ ## T1 ## scalar&, const octave_ ## T2 ## scalar&); \
  \
     if (! v1.T1 ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v2.T2 ## scalar_value () / v1.T1 ## scalar_value ()); \
     return retval; \
@@ -207,7 +207,7 @@
     CAST_BINOP_ARGS (const octave_ ## T1 ## scalar&, const octave_ ## T2 ## scalar&); \
  \
     if (! v2.T2 ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v1.T1 ## scalar_value () / v2.T2 ## scalar_value ()); \
     return retval; \
@@ -220,7 +220,7 @@
     CAST_BINOP_ARGS (const octave_ ## T1 ## scalar&, const octave_ ## T2 ## scalar&); \
  \
     if (! v1.T1 ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v2.T2 ## scalar_value () / v1.T1 ## scalar_value ()); \
     return retval; \
@@ -323,7 +323,7 @@
     CAST_BINOP_ARGS (const octave_ ## TS ## scalar&, const octave_ ## TM ## matrix&); \
  \
     if (! v1.TS ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v2.TS ## scalar_value () / v1.TS ## scalar_value ()); \
     return retval; \
@@ -345,7 +345,7 @@
     CAST_BINOP_ARGS (const octave_ ## TS ## scalar&, const octave_ ## TM ## matrix&); \
  \
     if (! v1.TS ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v2.TM ## array_value () / v1.TS ## scalar_value ()); \
     return retval; \
@@ -468,7 +468,7 @@
     CAST_BINOP_ARGS (const octave_ ## TM ## matrix&, const octave_ ## TS ## scalar&); \
  \
     if (! v2.TS ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v1.TM ## array_value () / v2.TS ## scalar_value ()); \
     return retval; \
@@ -493,7 +493,7 @@
     CAST_BINOP_ARGS (const octave_ ## TM ## matrix&, const octave_ ## TS ## scalar&); \
  \
     if (! v2.TS ## scalar_value ()) \
-      gripe_divide_by_zero (); \
+      warn_divide_by_zero (); \
  \
     octave_value retval = octave_value (v1.TM ## array_value () / v2.TS ## scalar_value ()); \
     return retval; \
@@ -703,7 +703,7 @@
         if (is_valid_bsxfun ("operator .^", a_dims, b_dims))     \
           return bsxfun_pow (a, b); \
         else \
-          gripe_nonconformant ("operator .^", a_dims, b_dims);  \
+          err_nonconformant ("operator .^", a_dims, b_dims);  \
       } \
     T1 ## NDArray result (a_dims); \
     for (int i = 0; i < a.numel (); i++) \
@@ -724,7 +724,7 @@
         if (is_valid_bsxfun ("operator .^", a_dims, b_dims))     \
           return bsxfun_pow (a, b); \
         else \
-          gripe_nonconformant ("operator .^", a_dims, b_dims);  \
+          err_nonconformant ("operator .^", a_dims, b_dims);  \
       } \
     T1 ## NDArray result (a_dims); \
     for (int i = 0; i < a.numel (); i++) \
@@ -745,7 +745,7 @@
         if (is_valid_bsxfun ("operator .^", a_dims, b_dims))     \
           return bsxfun_pow (a, b); \
         else \
-          gripe_nonconformant ("operator .^", a_dims, b_dims);  \
+          err_nonconformant ("operator .^", a_dims, b_dims);  \
       } \
     T2 ## NDArray result (a_dims); \
     for (int i = 0; i < a.numel (); i++) \
@@ -766,7 +766,7 @@
         if (is_valid_bsxfun ("operator .^", a_dims, b_dims))     \
           return bsxfun_pow (a, b); \
         else \
-          gripe_nonconformant ("operator .^", a_dims, b_dims);  \
+          err_nonconformant ("operator .^", a_dims, b_dims);  \
       } \
     T1 ## NDArray result (a_dims); \
     for (int i = 0; i < a.numel (); i++) \
@@ -787,7 +787,7 @@
         if (is_valid_bsxfun ("operator .^", a_dims, b_dims))     \
           return bsxfun_pow (a, b); \
         else \
-          gripe_nonconformant ("operator .^", a_dims, b_dims);  \
+          err_nonconformant ("operator .^", a_dims, b_dims);  \
       } \
     T2 ## NDArray result (a_dims); \
     for (int i = 0; i < a.numel (); i++) \
--- a/libinterp/operators/op-m-cm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-m-cm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-nda-cnda.h"
 #include "mx-cnda-nda.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-m-cs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-m-cs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-nda-cs.h"
 #include "mx-cs-nda.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
@@ -55,7 +55,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.array_value () / d);
 }
@@ -92,7 +92,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.array_value () / d);
 }
--- a/libinterp/operators/op-m-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-m-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-m-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-m-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
@@ -49,7 +49,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.array_value () / d);
 }
@@ -86,7 +86,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.array_value () / d);
 }
--- a/libinterp/operators/op-m-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-m-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -56,7 +56,7 @@
       Complex d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.array_value () / d);
     }
--- a/libinterp/operators/op-m-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-m-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -55,7 +55,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.array_value () / d);
     }
--- a/libinterp/operators/op-pm-pm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-pm-pm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-perm.h"
--- a/libinterp/operators/op-pm-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-pm-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-pm-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-pm-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-range.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-range.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-range.h"
--- a/libinterp/operators/op-s-cm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-s-cm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 #include "mx-s-cnda.h"
 #include "mx-cnda-s.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -71,7 +71,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_array_value () / d);
 }
@@ -94,7 +94,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_array_value () / d);
 }
--- a/libinterp/operators/op-s-cs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-s-cs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -50,7 +50,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.double_value () / d);
 }
@@ -64,7 +64,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_value () / d);
 }
@@ -85,7 +85,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.double_value () / d);
 }
@@ -99,7 +99,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.complex_value () / d);
 }
--- a/libinterp/operators/op-s-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-s-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -65,7 +65,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.array_value () / d);
 }
@@ -88,7 +88,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.array_value () / d);
 }
--- a/libinterp/operators/op-s-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-s-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 
 #include "Array-util.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
@@ -46,7 +46,7 @@
   CAST_UNOP_ARG (const octave_scalar&);
   double x = v.scalar_value ();
   if (xisnan (x))
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return octave_value (x == 0.0);
 }
@@ -72,7 +72,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.double_value () / d);
 }
@@ -86,7 +86,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.double_value () / d);
 }
@@ -107,7 +107,7 @@
   double d = v2.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v1.double_value () / d);
 }
@@ -121,7 +121,7 @@
   double d = v1.double_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   return octave_value (v2.double_value () / d);
 }
--- a/libinterp/operators/op-s-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-s-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -56,7 +56,7 @@
       Complex d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseComplexMatrix (1, 1, v1.scalar_value () / d));
     }
@@ -87,7 +87,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_complex_matrix_value () / d);
 
@@ -114,7 +114,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_complex_matrix_value () / d);
 
--- a/libinterp/operators/op-s-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-s-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -52,7 +52,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseMatrix (1, 1, v1.scalar_value () / d));
     }
@@ -81,7 +81,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_matrix_value () / d);
 
@@ -107,7 +107,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v2.sparse_matrix_value () / d);
 
--- a/libinterp/operators/op-sbm-b.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sbm-b.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-sbm-bm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sbm-bm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-sbm-sbm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sbm-sbm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
--- a/libinterp/operators/op-scm-cm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-scm-cm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -74,7 +74,7 @@
       Complex d = v1.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.complex_array_value () / d);
     }
--- a/libinterp/operators/op-scm-cs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-scm-cs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -53,7 +53,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_complex_matrix_value () / d);
 
@@ -76,7 +76,7 @@
       Complex d = v1.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseComplexMatrix (1, 1, v2.complex_value () / d));
     }
@@ -110,7 +110,7 @@
   Complex d = v2.complex_value ();
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval =  octave_value (v1.sparse_complex_matrix_value () / d);
 
--- a/libinterp/operators/op-scm-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-scm-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -74,7 +74,7 @@
       Complex d = v1.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.array_value () / d);
     }
--- a/libinterp/operators/op-scm-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-scm-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -56,7 +56,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_complex_matrix_value () / d);
 
@@ -84,7 +84,7 @@
       Complex d = v1.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseComplexMatrix (1, 1, v2.scalar_value () / d));
     }
@@ -117,7 +117,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_complex_matrix_value () / d);
 
--- a/libinterp/operators/op-scm-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-scm-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -41,7 +41,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-cx-mat.h"
@@ -105,7 +105,7 @@
       Complex d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_complex_matrix_value () / d);
     }
@@ -135,7 +135,7 @@
       Complex d = v1.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.sparse_complex_matrix_value () / d);
     }
--- a/libinterp/operators/op-scm-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-scm-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -55,7 +55,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_complex_matrix_value () / d);
     }
@@ -85,7 +85,7 @@
       Complex d = v1.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.sparse_matrix_value () / d);
     }
--- a/libinterp/operators/op-sm-cm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sm-cm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -73,7 +73,7 @@
       double d = v1.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.complex_array_value () / d);
     }
--- a/libinterp/operators/op-sm-cs.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sm-cs.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -54,7 +54,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_matrix_value () / d);
 
@@ -76,7 +76,7 @@
       double d = v1.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseComplexMatrix (1, 1, v2.complex_value () / d));
     }
@@ -108,7 +108,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_matrix_value () / d);
 
--- a/libinterp/operators/op-sm-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sm-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -71,7 +71,7 @@
       double d = v1.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.array_value () / d);
     }
--- a/libinterp/operators/op-sm-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sm-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -51,7 +51,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_matrix_value () / d);
 
@@ -78,7 +78,7 @@
       double d = v1.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (SparseMatrix(1, 1, v2.scalar_value () / d));
     }
@@ -110,7 +110,7 @@
   octave_value retval;
 
   if (d == 0.0)
-    gripe_divide_by_zero ();
+    warn_divide_by_zero ();
 
   retval = octave_value (v1.sparse_matrix_value () / d);
 
--- a/libinterp/operators/op-sm-scm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sm-scm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -55,7 +55,7 @@
       Complex d = v2.complex_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_matrix_value () / d);
     }
@@ -85,7 +85,7 @@
       double d = v1.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.sparse_complex_matrix_value () / d);
     }
--- a/libinterp/operators/op-sm-sm.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-sm-sm.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -25,7 +25,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-typeinfo.h"
@@ -79,7 +79,7 @@
       double d = v2.scalar_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v1.sparse_matrix_value () / d);
     }
@@ -108,7 +108,7 @@
       double d = v1.double_value ();
 
       if (d == 0.0)
-        gripe_divide_by_zero ();
+        warn_divide_by_zero ();
 
       return octave_value (v2.sparse_matrix_value () / d);
     }
--- a/libinterp/operators/op-str-m.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-str-m.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-str-s.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-str-s.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-scalar.h"
--- a/libinterp/operators/op-str-str.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-str-str.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-str-mat.h"
--- a/libinterp/operators/op-struct.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-struct.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -24,7 +24,7 @@
 #include <config.h>
 #endif
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-re-mat.h"
--- a/libinterp/operators/op-ui16-ui16.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-ui16-ui16.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-ui16-fnda.h"
 #include "mx-fnda-ui16.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-ui32-ui32.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-ui32-ui32.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-ui32-fnda.h"
 #include "mx-fnda-ui32.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-ui64-ui64.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-ui64-ui64.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-ui64-fnda.h"
 #include "mx-fnda-ui64.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/op-ui8-ui8.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/op-ui8-ui8.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -66,7 +66,7 @@
 #include "mx-ui8-fnda.h"
 #include "mx-fnda-ui8.h"
 
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "ov.h"
 #include "ov-int16.h"
--- a/libinterp/operators/ops.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/operators/ops.h	Mon Jan 18 18:28:06 2016 -0800
@@ -291,7 +291,7 @@
   BINOPDECL (name, a1, a2) \
   { \
     CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
-    gripe_warn_complex_cmp (); \
+    warn_complex_cmp (); \
     return octave_value \
       (v1.CONCAT2(t1, _value) () op v2.CONCAT2(t2, _value) ()); \
   }
@@ -301,7 +301,7 @@
   { \
     CAST_BINOP_ARGS (const CONCAT2(octave_, t1)&, const CONCAT2(octave_, t2)&); \
     if (xisnan (v1.CONCAT2(t1, _value) ()) || xisnan (v2.CONCAT2(t2, _value) ())) \
-      gripe_nan_to_logical_conversion (); \
+      err_nan_to_logical_conversion (); \
     else \
       return octave_value \
         (v1.CONCAT2(t1, _value) () op v2.CONCAT2(t2, _value) ()); \
@@ -386,7 +386,7 @@
   }
 
 #define CATOP_NONCONFORMANT(msg) \
-  gripe_nonconformant (msg, \
+  err_nonconformant (msg, \
                        a1.rows (), a1.columns (), \
                        a2.rows (), a2.columns ()); \
   return octave_value ()
--- a/libinterp/parse-tree/lex.ll	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/lex.ll	Mon Jan 18 18:28:06 2016 -0800
@@ -100,7 +100,7 @@
 #include "comment-list.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "lex.h"
 #include "ov.h"
--- a/libinterp/parse-tree/pt-assign.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/pt-assign.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -29,7 +29,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "ovl.h"
 #include "oct-lvalue.h"
@@ -95,7 +95,7 @@
           octave_lvalue ult = lhs->lvalue ();
 
           if (ult.numel () != 1)
-            gripe_nonbraced_cs_list_assignment ();
+            err_nonbraced_cs_list_assignment ();
 
           ult.assign (etype, rhs_val);
 
--- a/libinterp/parse-tree/pt-eval.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/pt-eval.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -34,7 +34,7 @@
 #include "debug.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "input.h"
 #include "ov-fcn-handle.h"
 #include "ov-usr-fcn.h"
--- a/libinterp/parse-tree/pt-idx.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/pt-idx.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -38,7 +38,7 @@
 #include "pt-walk.h"
 #include "utils.h"
 #include "variables.h"
-#include "gripes.h"
+#include "errwarn.h"
 
 // Index expressions.
 
@@ -181,7 +181,7 @@
   if (args)
     {
       if (rvalue && object && args->has_magic_end () && object->is_undefined ())
-        gripe_invalid_inquiry_subscript ();
+        err_invalid_inquiry_subscript ();
       else
         retval = args->convert_to_const_vector (object);
     }
@@ -367,7 +367,7 @@
                   idx.clear ();
 
                   if (tmp.is_cs_list ())
-                    gripe_indexed_cs_list ();
+                    err_indexed_cs_list ();
 
                   if (tmp.is_function ())
                     {
@@ -382,7 +382,7 @@
                                  ? tmp_list(0) : octave_value ());
 
                           if (tmp.is_cs_list ())
-                            gripe_indexed_cs_list ();
+                            err_indexed_cs_list ();
                         }
                     }
                 }
@@ -490,7 +490,7 @@
   for (int i = 0; i < n; i++)
     {
       if (retval.numel () != 1)
-        gripe_indexed_cs_list ();
+        err_indexed_cs_list ();
       else if (tmpi < i)
         {
           try
@@ -533,7 +533,7 @@
             if (tmp.is_undefined ())
               {
                 if (tidx.has_magic_colon ())
-                  gripe_invalid_inquiry_subscript ();
+                  err_invalid_inquiry_subscript ();
                 else
                   tmp = Cell ();
               }
@@ -568,7 +568,7 @@
                 if (tmp.is_undefined ())
                   {
                     if (pidx.has_magic_colon ())
-                      gripe_invalid_inquiry_subscript ();
+                      err_invalid_inquiry_subscript ();
                     else
                       tmp = octave_map ();
                   }
--- a/libinterp/parse-tree/pt-loop.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/pt-loop.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -27,7 +27,7 @@
 #include "quit.h"
 
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "oct-map.h"
 #include "oct-lvalue.h"
 #include "ov.h"
--- a/libinterp/parse-tree/pt-mat.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/pt-mat.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -32,7 +32,7 @@
 #include "data.h"
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ovl.h"
 #include "pt-arg-list.h"
 #include "pt-bp.h"
@@ -960,8 +960,8 @@
           char type = all_dq_strings_p ? '"' : '\'';
 
           if (! all_strings_p)
-            gripe_implicit_conversion ("Octave:num-to-str",
-                                       "numeric", result_type);
+            warn_implicit_conversion ("Octave:num-to-str",
+                                      "numeric", result_type);
           else
             maybe_warn_string_concat (all_dq_strings_p, all_sq_strings_p);
 
--- a/libinterp/parse-tree/pt-stmt.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/libinterp/parse-tree/pt-stmt.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -30,7 +30,7 @@
 
 #include "defun.h"
 #include "error.h"
-#include "gripes.h"
+#include "errwarn.h"
 #include "ov.h"
 #include "octave-link.h"
 #include "oct-lvalue.h"
--- a/liboctave/array/Array-util.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/Array-util.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -178,9 +178,9 @@
 compute_index (octave_idx_type n, const dim_vector& dims)
 {
   if (n < 0)
-    gripe_invalid_index (n, 1, 1);
+    err_invalid_index (n, 1, 1);
   if (n >= dims.numel ())
-    gripe_index_out_of_range (1, 1, n+1, dims.numel (), dims);
+    err_index_out_of_range (1, 1, n+1, dims.numel (), dims);
 
   return n;
 }
@@ -189,13 +189,13 @@
 compute_index (octave_idx_type i, octave_idx_type j, const dim_vector& dims)
 {
   if (i < 0)
-    gripe_invalid_index (i, 2, 1);
+    err_invalid_index (i, 2, 1);
   else if (j < 0)
-    gripe_invalid_index (j, 2, 2);
+    err_invalid_index (j, 2, 2);
   if (i >= dims(0))
-    gripe_index_out_of_range (2, 1, i+1, dims(0), dims);
+    err_index_out_of_range (2, 1, i+1, dims(0), dims);
   if (j >= dims.numel (1))
-    gripe_index_out_of_range (2, 2, j+1, dims.numel (1), dims);
+    err_index_out_of_range (2, 2, j+1, dims.numel (1), dims);
 
   return j*dims(0) + i;
 }
@@ -205,17 +205,17 @@
                const dim_vector& dims)
 {
   if (i < 0)
-    gripe_invalid_index (i, 3, 1);
+    err_invalid_index (i, 3, 1);
   else if (j < 0)
-    gripe_invalid_index (j, 3, 2);
+    err_invalid_index (j, 3, 2);
   else if (k < 0)
-    gripe_invalid_index (k, 3, 3);
+    err_invalid_index (k, 3, 3);
   if (i >= dims(0))
-    gripe_index_out_of_range (3, 1, i+1, dims(0), dims);
+    err_index_out_of_range (3, 1, i+1, dims(0), dims);
   if (j >= dims(1))
-    gripe_index_out_of_range (3, 2, j+1, dims(1), dims);
+    err_index_out_of_range (3, 2, j+1, dims(1), dims);
   if (k >= dims.numel (2))
-    gripe_index_out_of_range (3, 3, k+1, dims.numel (2), dims);
+    err_index_out_of_range (3, 3, k+1, dims.numel (2), dims);
 
   return (k*dims(1) + j)*dims(0) + i;
 }
@@ -228,9 +228,9 @@
   for (int d = 0; d < nd; d++)
     {
       if (ra_idx(d) < 0)
-        gripe_invalid_index (ra_idx(d), nd, d+1);
+        err_invalid_index (ra_idx(d), nd, d+1);
       if (ra_idx(d) >= dv(d))
-        gripe_index_out_of_range (nd, d+1, ra_idx(d)+1, dv(d), dims);
+        err_index_out_of_range (nd, d+1, ra_idx(d)+1, dv(d), dims);
     }
 
   return dv.compute_index (ra_idx.data ());
@@ -559,7 +559,7 @@
                   ("sub2ind: lengths of indices must match");
 
               if (idx.extent (n) > n)
-                  gripe_index_out_of_range (len, i+1, idx.extent (n), n);
+                  err_index_out_of_range (len, i+1, idx.extent (n), n);
             }
           catch (index_exception& e)
             {
--- a/liboctave/array/Array-util.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/Array-util.h	Mon Jan 18 18:28:06 2016 -0800
@@ -26,7 +26,7 @@
 #include "Array.h"
 #include "dim-vector.h"
 #include "idx-vector.h"
-#include "lo-array-gripes.h"
+#include "lo-array-errwarn.h"
 
 extern OCTAVE_API bool index_in_bounds (const Array<octave_idx_type>& ra_idx,
                                         const dim_vector& dimensions);
--- a/liboctave/array/Array.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/Array.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -190,9 +190,9 @@
 {
   // Do checks directly to avoid recomputing slice_len.
   if (n < 0)
-    gripe_invalid_index (n);
+    err_invalid_index (n);
   if (n >= slice_len)
-    gripe_index_out_of_range (1, 1, n+1, slice_len, dimensions);
+    err_index_out_of_range (1, 1, n+1, slice_len, dimensions);
 
   return elem (n);
 }
@@ -224,9 +224,9 @@
 {
   // Do checks directly to avoid recomputing slice_len.
   if (n < 0)
-    gripe_invalid_index (n);
+    err_invalid_index (n);
   if (n >= slice_len)
-    gripe_index_out_of_range (1, 1, n+1, slice_len, dimensions);
+    err_index_out_of_range (1, 1, n+1, slice_len, dimensions);
 
   return elem (n);
 }
@@ -260,7 +260,7 @@
   octave_idx_type r = dimensions(0);
 #ifdef BOUNDS_CHECKING
   if (k < 0 || k > dimensions.numel (1))
-    gripe_index_out_of_range (2, 2, k+1, dimensions.numel (1), dimensions);
+    err_index_out_of_range (2, 2, k+1, dimensions.numel (1), dimensions);
 #endif
 
   return Array<T> (*this, dim_vector (r, 1), k*r, k*r + r);
@@ -275,7 +275,7 @@
   octave_idx_type p = r*c;
 #ifdef BOUNDS_CHECKING
   if (k < 0 || k > dimensions.numel (2))
-    gripe_index_out_of_range (3, 3, k+1, dimensions.numel (2), dimensions);
+    err_index_out_of_range (3, 3, k+1, dimensions.numel (2), dimensions);
 #endif
 
   return Array<T> (*this, dim_vector (r, c), k*p, k*p + p);
@@ -287,9 +287,9 @@
 {
 #ifdef BOUNDS_CHECKING
   if (lo < 0)
-    gripe_index_out_of_range (1, 1, lo+1, numel (), dimensions);
+    err_index_out_of_range (1, 1, lo+1, numel (), dimensions);
   if (up > numel ())
-    gripe_index_out_of_range (1, 1, up, numel (), dimensions);
+    err_index_out_of_range (1, 1, up, numel (), dimensions);
 #endif
   if (up < lo) up = lo;
   return Array<T> (*this, dim_vector (up - lo, 1), lo, up);
@@ -726,7 +726,7 @@
   else
     {
       if (i.extent (n) != n)
-        gripe_index_out_of_range (1, 1, i.extent (n), n, dimensions); // throws
+        err_index_out_of_range (1, 1, i.extent (n), n, dimensions); // throws
 
       // FIXME: this is the only place where orig_dimensions are used.
       dim_vector rd = i.orig_dimensions ();
@@ -793,9 +793,9 @@
   else
     {
       if (i.extent (r) != r)
-        gripe_index_out_of_range (2, 1, i.extent (r), r, dimensions); // throws
+        err_index_out_of_range (2, 1, i.extent (r), r, dimensions); // throws
       if (j.extent (c) != c)
-        gripe_index_out_of_range (2, 2, j.extent (c), c, dimensions); // throws
+        err_index_out_of_range (2, 2, j.extent (c), c, dimensions); // throws
 
       octave_idx_type n = numel ();
       octave_idx_type il = i.length (r);
@@ -855,7 +855,7 @@
       for (int i = 0; i < ial; i++)
         {
           if (ia(i).extent (dv(i)) != dv(i))
-            gripe_index_out_of_range (ial, i+1, ia(i).extent (dv(i)), dv(i), dimensions); // throws
+            err_index_out_of_range (ial, i+1, ia(i).extent (dv(i)), dv(i), dimensions); // throws
 
           all_colons = all_colons && ia(i).is_colon ();
         }
@@ -931,7 +931,7 @@
         invalid = true;
 
       if (invalid)
-        gripe_invalid_resize ();
+        err_invalid_resize ();
       else
         {
           octave_idx_type nx = numel ();
@@ -980,7 +980,7 @@
         }
     }
   else
-    gripe_invalid_resize ();
+    err_invalid_resize ();
 }
 
 template <class T>
@@ -1024,7 +1024,7 @@
         }
     }
   else
-    gripe_invalid_resize ();
+    err_invalid_resize ();
 
 }
 
@@ -1048,7 +1048,7 @@
           *this = tmp;
         }
       else
-        gripe_invalid_resize ();
+        err_invalid_resize ();
     }
 }
 
@@ -1181,7 +1181,7 @@
         }
     }
   else
-    gripe_nonconformant ("=", dim_vector(i.length(n),1), rhs.dims());
+    err_nonconformant ("=", dim_vector(i.length(n),1), rhs.dims());
 }
 
 // Assignment to a 2-dimensional array
@@ -1285,7 +1285,7 @@
     }
   // any empty RHS can be assigned to an empty LHS
   else if ((il != 0 && jl != 0) || (rhdv(0) != 0 && rhdv(1) != 0))
-    gripe_nonconformant ("=", il, jl, rhs.dim1 (), rhs.dim2 ());
+    err_nonconformant ("=", il, jl, rhs.dim1 (), rhs.dim2 ());
 }
 
 // Assignment to a multi-dimensional array
@@ -1399,7 +1399,7 @@
               rhsempty = rhsempty || (rhdv(j++) == 0);
             }
           if (! lhsempty || ! rhsempty)
-            gripe_nonconformant ("=", dv, rhdv);
+            err_nonconformant ("=", dv, rhdv);
         }
     }
 }
@@ -1424,7 +1424,7 @@
   else if (i.length (n) != 0)
     {
       if (i.extent (n) != n)
-        gripe_del_index_out_of_range (true, i.extent (n), n);
+        err_del_index_out_of_range (true, i.extent (n), n);
 
       octave_idx_type l, u;
       bool col_vec = ndims () == 2 && columns () == 1 && rows () != 1;
@@ -1471,7 +1471,7 @@
   else if (i.length (n) != 0)
     {
       if (i.extent (n) != n)
-        gripe_del_index_out_of_range (false, i.extent (n), n);
+        err_del_index_out_of_range (false, i.extent (n), n);
 
       octave_idx_type l, u;
 
--- a/liboctave/array/CColVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/CColVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -285,7 +285,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator +=", len, a_len);
+      err_nonconformant ("operator +=", len, a_len);
       return *this;
     }
 
@@ -307,7 +307,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator -=", len, a_len);
+      err_nonconformant ("operator -=", len, a_len);
       return *this;
     }
 
@@ -340,7 +340,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (nc != a_len)
-    gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+    err_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
       retval.clear (nr);
@@ -386,7 +386,7 @@
 
   if (nc != a_len)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+      err_nonconformant ("operator *", nr, nc, a_len, 1);
       return ComplexColumnVector ();
     }
 
@@ -414,7 +414,7 @@
 
   if (nc != a_len)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+      err_nonconformant ("operator *", nr, nc, a_len, 1);
       return ComplexColumnVector ();
     }
 
@@ -442,7 +442,7 @@
 
   if (nc != a_len)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+      err_nonconformant ("operator *", nr, nc, a_len, 1);
       return ComplexColumnVector ();
     }
 
--- a/liboctave/array/CDiagMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/CDiagMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -422,7 +422,7 @@
 
   if (r != a_nr || c != a_nc)
     {
-      gripe_nonconformant ("operator +=", r, c, a_nr, a_nc);
+      err_nonconformant ("operator +=", r, c, a_nr, a_nc);
       return *this;
     }
 
@@ -445,7 +445,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
 
   ComplexDiagMatrix c (a_nr, b_nc);
 
@@ -471,7 +471,7 @@
 
   if (a_nc != b_nr)
     {
-      gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
       return ComplexDiagMatrix ();
     }
 
@@ -504,7 +504,7 @@
 
   if (a_nc != b_nr)
     {
-      gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
       return ComplexDiagMatrix ();
     }
 
--- a/liboctave/array/CMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/CMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -2013,7 +2013,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -2108,7 +2108,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -2193,7 +2193,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -2252,7 +2252,7 @@
               if (sing_handler)
                 sing_handler (rcon);
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
 
               mattype.mark_as_rectangular ();
             }
@@ -2280,7 +2280,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -3006,7 +3006,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3027,7 +3027,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3048,7 +3048,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3069,7 +3069,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3092,7 +3092,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3116,7 +3116,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3716,7 +3716,7 @@
   octave_idx_type b_nc = trb ? b.rows () : b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
   else
     {
       if (a_nr == 0 || a_nc == 0 || b_nc == 0)
--- a/liboctave/array/CNDArray.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/CNDArray.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -500,7 +500,7 @@
 ComplexNDArray::operator ! (void) const
 {
   if (any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return do_mx_unary_op<bool, Complex> (*this, mx_inline_not);
 }
--- a/liboctave/array/CRowVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/CRowVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -277,7 +277,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator +=", len, a_len);
+      err_nonconformant ("operator +=", len, a_len);
       return *this;
     }
 
@@ -299,7 +299,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator -=", len, a_len);
+      err_nonconformant ("operator -=", len, a_len);
       return *this;
     }
 
@@ -325,7 +325,7 @@
   octave_idx_type a_nc = a.cols ();
 
   if (a_nr != len)
-    gripe_nonconformant ("operator *", 1, len, a_nr, a_nc);
+    err_nonconformant ("operator *", 1, len, a_nr, a_nc);
   else
     {
       if (len == 0)
@@ -450,7 +450,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (len != a_len)
-    gripe_nonconformant ("operator *", len, a_len);
+    err_nonconformant ("operator *", len, a_len);
   else if (len != 0)
     F77_FUNC (xzdotu, XZDOTU) (len, v.data (), 1, a.data (), 1, retval);
 
--- a/liboctave/array/CSparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/CSparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -1798,7 +1798,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -1813,7 +1813,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2081,7 +2081,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2096,7 +2096,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2311,7 +2311,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2326,7 +2326,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2594,7 +2594,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2609,7 +2609,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2844,7 +2844,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2859,7 +2859,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3146,7 +3146,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -3161,7 +3161,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3400,7 +3400,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -3415,7 +3415,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3701,7 +3701,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -3716,7 +3716,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3863,7 +3863,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
 
             }
           else
@@ -3960,7 +3960,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4162,7 +4162,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
         }
       else if (typ != MatrixType::Tridiagonal_Hermitian)
@@ -4257,7 +4257,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4426,7 +4426,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4511,7 +4511,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4544,7 +4544,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4668,7 +4668,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4786,7 +4786,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4819,7 +4819,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4982,7 +4982,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5065,7 +5065,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -5098,7 +5098,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5224,7 +5224,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5347,7 +5347,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -5380,7 +5380,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5533,7 +5533,7 @@
           if (sing_handler)
             sing_handler (rcond);
           else
-            gripe_singular_matrix (rcond);
+            errwarn_singular_matrix (rcond);
         }
       else if (status < 0)
         {
@@ -5681,7 +5681,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -5932,7 +5932,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -6211,7 +6211,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -6441,7 +6441,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -6570,7 +6570,7 @@
                   if (sing_handler)
                     sing_handler (rcond);
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
                 }
 
               UMFPACK_ZNAME (report_info) (control, info);
@@ -7118,7 +7118,7 @@
 SparseComplexMatrix::operator ! (void) const
 {
   if (any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   octave_idx_type nr = rows ();
   octave_idx_type nc = cols ();
@@ -7680,7 +7680,7 @@
       else if (b_nr == 0 || b_nc == 0)
         r.resize (b_nr, b_nc);
       else
-        gripe_nonconformant ("min", a_nr, a_nc, b_nr, b_nc);
+        err_nonconformant ("min", a_nr, a_nc, b_nr, b_nc);
     }
 
   return r;
@@ -7797,7 +7797,7 @@
       else if (b_nr == 0 || b_nc == 0)
         r.resize (b_nr, b_nc);
       else
-        gripe_nonconformant ("max", a_nr, a_nc, b_nr, b_nc);
+        err_nonconformant ("max", a_nr, a_nc, b_nr, b_nc);
     }
 
   return r;
--- a/liboctave/array/DiagArray2.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/DiagArray2.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -126,13 +126,13 @@
 
   if (r < 0 || r >= dim1 ())
     {
-      gripe_index_out_of_range (2, 1, r+1, dim1 (), dims ());
+      err_index_out_of_range (2, 1, r+1, dim1 (), dims ());
       ok = false;
     }
 
   if (c < 0 || c >= dim2 ())
     {
-      gripe_index_out_of_range (2, 2, c+1, dim2 (), dims ());
+      err_index_out_of_range (2, 2, c+1, dim2 (), dims ());
       ok = false;
     }
 
--- a/liboctave/array/MDiagArray2.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/MDiagArray2.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -81,7 +81,7 @@
   FCN (const MDiagArray2<T>& a, const MDiagArray2<T>& b) \
   { \
     if (a.d1 != b.d1 || a.d2 != b.d2) \
-      gripe_nonconformant (#FCN, a.d1, a.d2, b.d1, b.d2); \
+      err_nonconformant (#FCN, a.d1, a.d2, b.d1, b.d2); \
     return MDiagArray2<T> (do_mm_binary_op<T, T, T> (a, b, FN, FN, FN, #FCN), a.d1, a.d2); \
   }
 
--- a/liboctave/array/MSparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/MSparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -38,7 +38,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (a_nr != b_nr || a_nc != b_nc)
-    gripe_nonconformant (op_name , a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant (op_name , a_nr, a_nc, b_nr, b_nc);
   else
     {
       r = MSparse<T> (a_nr, a_nc, (a.nnz () + b.nnz ()));
@@ -308,7 +308,7 @@
         }
     }
   else if (a_nr != b_nr || a_nc != b_nc)
-    gripe_nonconformant (op_name, a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant (op_name, a_nr, a_nc, b_nr, b_nc);
   else
     {
       r = MSparse<T> (a_nr, a_nc, (a.nnz () + b.nnz ()));
@@ -429,7 +429,7 @@
         }
     }
   else if (a_nr != b_nr || a_nc != b_nc)
-    gripe_nonconformant ("product", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("product", a_nr, a_nc, b_nr, b_nc);
   else
     {
       r = MSparse<T> (a_nr, a_nc, (a.nnz () > b.nnz () ? a.nnz () : b.nnz ()));
@@ -549,7 +549,7 @@
         }
     }
   else if (a_nr != b_nr || a_nc != b_nc)
-    gripe_nonconformant ("quotient", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("quotient", a_nr, a_nc, b_nr, b_nc);
   else
     {
       r = MSparse<T> (a_nr, a_nc, (Zero / Zero));
--- a/liboctave/array/PermMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/PermMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -236,7 +236,7 @@
   octave_idx_type n = a.columns ();
 
   if (n != b.rows ())
-    gripe_nonconformant ("operator *", n, n, b.rows (), b.rows ());
+    err_nonconformant ("operator *", n, n, b.rows (), b.rows ());
   else
     r = PermMatrix (ia.index (idx_vector (ib)), true, false);
 
--- a/liboctave/array/Range.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/Range.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -74,7 +74,7 @@
 Range::checkelem (octave_idx_type i) const
 {
   if (i < 0 || i >= rng_numel)
-    gripe_index_out_of_range (1, 1, i+1, rng_numel);
+    err_index_out_of_range (1, 1, i+1, rng_numel);
 
   if (i == 0)
     return rng_base;
@@ -137,7 +137,7 @@
   else
     {
       if (i.extent (n) != n)
-        gripe_index_out_of_range (1, 1, i.extent (n), n); // throws
+        err_index_out_of_range (1, 1, i.extent (n), n); // throws
 
       dim_vector rd = i.orig_dimensions ();
       octave_idx_type il = i.length (n);
--- a/liboctave/array/Sparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/Sparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -921,7 +921,7 @@
   else if (nc == 1)
     resize (n, 1);
   else
-    gripe_invalid_resize ();
+    err_invalid_resize ();
 }
 
 template <class T>
@@ -1164,7 +1164,7 @@
   const dim_vector idx_dims = idx.orig_dimensions ();
 
   if (idx.extent (nel) > nel)
-    gripe_del_index_out_of_range (true, idx.extent (nel), nel);
+    err_del_index_out_of_range (true, idx.extent (nel), nel);
   else if (nc == 1)
     {
       // Sparse column vector.
@@ -1262,7 +1262,7 @@
       // Deleting columns.
       octave_idx_type lb, ub;
       if (idx_j.extent (nc) > nc)
-        gripe_del_index_out_of_range (false, idx_j.extent (nc), nc);
+        err_del_index_out_of_range (false, idx_j.extent (nc), nc);
       else if (idx_j.is_cont_range (nc, lb, ub))
         {
           if (lb == 0 && ub == nc)
@@ -1300,7 +1300,7 @@
       // Deleting rows.
       octave_idx_type lb, ub;
       if (idx_i.extent (nr) > nr)
-        gripe_del_index_out_of_range (false, idx_i.extent (nr), nr);
+        err_del_index_out_of_range (false, idx_i.extent (nr), nr);
       else if (idx_i.is_cont_range (nr, lb, ub))
         {
           if (lb == 0 && ub == nr)
@@ -1431,7 +1431,7 @@
           retval = tmp.index (idx);
         }
       else
-        gripe_index_out_of_range (1, 1, idx.extent (nel), nel, dims ());
+        err_index_out_of_range (1, 1, idx.extent (nel), nel, dims ());
     }
   else if (nr == 1 && nc == 1)
     {
@@ -1614,9 +1614,9 @@
           retval = tmp.index (idx_i, idx_j);
         }
       else if (idx_i.extent (nr) > nr)
-        gripe_index_out_of_range (2, 1, idx_i.extent (nr), nr, dims ());
+        err_index_out_of_range (2, 1, idx_i.extent (nr), nr, dims ());
       else
-        gripe_index_out_of_range (2, 2, idx_j.extent (nc), nc, dims ());
+        err_index_out_of_range (2, 2, idx_j.extent (nc), nc, dims ());
     }
   else if (nr == 1 && nc == 1)
     {
@@ -1978,7 +1978,7 @@
         assign (idx, Sparse<T> (rhl, 1));
     }
   else
-    gripe_nonconformant ("=", dim_vector(idx.length (n),1), rhs.dims());
+    err_nonconformant ("=", dim_vector(idx.length (n),1), rhs.dims());
 }
 
 template <class T>
@@ -2218,7 +2218,7 @@
       assign (idx_i, idx_j, rhs.transpose ());
     }
   else
-    gripe_nonconformant  ("=", idx_i.length (nr), idx_j.length (nc), n, m);
+    err_nonconformant  ("=", idx_i.length (nr), idx_j.length (nc), n, m);
 }
 
 // Can't use versions of these in Array.cc due to duplication of the
--- a/liboctave/array/dColVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/dColVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -205,7 +205,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (nc != a_len)
-    gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+    err_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
       retval.clear (nr);
@@ -242,7 +242,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (nc != a_len)
-    gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+    err_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
       if (nr == 0 || nc == 0)
--- a/liboctave/array/dDiagMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/dDiagMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -323,7 +323,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
 
   DiagMatrix c (a_nr, b_nc);
 
--- a/liboctave/array/dMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/dMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -1640,7 +1640,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -1734,7 +1734,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -1817,7 +1817,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -1870,7 +1870,7 @@
               if (sing_handler)
                 sing_handler (rcon);
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
 
               mattype.mark_as_rectangular ();
             }
@@ -1898,7 +1898,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -2596,7 +2596,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -2617,7 +2617,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3107,7 +3107,7 @@
   octave_idx_type b_nc = trb ? b.rows () : b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
   else
     {
       if (a_nr == 0 || a_nc == 0 || b_nc == 0)
--- a/liboctave/array/dNDArray.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/dNDArray.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -541,7 +541,7 @@
 NDArray::operator ! (void) const
 {
   if (any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return do_mx_unary_op<bool, double> (*this, mx_inline_not);
 }
--- a/liboctave/array/dRowVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/dRowVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -200,7 +200,7 @@
   octave_idx_type a_nc = a.cols ();
 
   if (a_nr != len)
-    gripe_nonconformant ("operator *", 1, len, a_nr, a_nc);
+    err_nonconformant ("operator *", 1, len, a_nr, a_nc);
   else
     {
       if (len == 0)
@@ -323,7 +323,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (len != a_len)
-    gripe_nonconformant ("operator *", len, a_len);
+    err_nonconformant ("operator *", len, a_len);
   else if (len != 0)
     F77_FUNC (xddot, XDDOT) (len, v.data (), 1, a.data (), 1, retval);
 
--- a/liboctave/array/dSparse.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/dSparse.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -762,7 +762,7 @@
       octave_idx_type y_nc = y.cols ();
 
       if (x_nr != y_nr || x_nc != y_nc)
-        gripe_nonconformant ("atan2", x_nr, x_nc, y_nr, y_nc);
+        err_nonconformant ("atan2", x_nr, x_nc, y_nr, y_nc);
       else
         {
           r = SparseMatrix (x_nr, x_nc, (x.nnz () + y.nnz ()));
@@ -1880,7 +1880,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -1895,7 +1895,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2163,7 +2163,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2178,7 +2178,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2395,7 +2395,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2410,7 +2410,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2680,7 +2680,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2695,7 +2695,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -2934,7 +2934,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -2949,7 +2949,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3235,7 +3235,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -3250,7 +3250,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3490,7 +3490,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -3505,7 +3505,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3793,7 +3793,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
 
           volatile double rcond_plus_one = rcond + 1.0;
@@ -3808,7 +3808,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix (rcond);
+                errwarn_singular_matrix (rcond);
             }
         }
       else
@@ -3955,7 +3955,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             rcond = 1.;
@@ -4051,7 +4051,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4253,7 +4253,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
         }
       else if (typ != MatrixType::Tridiagonal_Hermitian)
@@ -4347,7 +4347,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4537,7 +4537,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4622,7 +4622,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4655,7 +4655,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4779,7 +4779,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -4897,7 +4897,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -4930,7 +4930,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5093,7 +5093,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5207,7 +5207,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -5240,7 +5240,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5387,7 +5387,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5531,7 +5531,7 @@
                   mattype.mark_as_rectangular ();
                 }
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
             }
           else
             {
@@ -5564,7 +5564,7 @@
                           mattype.mark_as_rectangular ();
                         }
                       else
-                        gripe_singular_matrix (rcond);
+                        errwarn_singular_matrix (rcond);
                     }
                 }
               else
@@ -5726,7 +5726,7 @@
           if (sing_handler)
             sing_handler (rcond);
           else
-            gripe_singular_matrix (rcond);
+            errwarn_singular_matrix (rcond);
         }
       else if (status < 0)
         {
@@ -5876,7 +5876,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -6100,7 +6100,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -6350,7 +6350,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -6592,7 +6592,7 @@
                       mattype.mark_as_rectangular ();
                     }
                   else
-                    gripe_singular_matrix (rcond);
+                    errwarn_singular_matrix (rcond);
 
                   return retval;
                 }
@@ -7385,7 +7385,7 @@
 SparseMatrix::operator ! (void) const
 {
   if (any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   octave_idx_type nr = rows ();
   octave_idx_type nc = cols ();
@@ -7789,7 +7789,7 @@
       else if (b_nr == 0 || b_nc == 0)
         r.resize (b_nr, b_nc);
       else
-        gripe_nonconformant ("min", a_nr, a_nc, b_nr, b_nc);
+        err_nonconformant ("min", a_nr, a_nc, b_nr, b_nc);
     }
 
   return r;
@@ -7939,7 +7939,7 @@
       else if (b_nr == 0 || b_nc == 0)
         r.resize (b_nr, b_nc);
       else
-        gripe_nonconformant ("max", a_nr, a_nc, b_nr, b_nc);
+        err_nonconformant ("max", a_nr, a_nc, b_nr, b_nc);
     }
 
   return r;
--- a/liboctave/array/fCColVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fCColVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -288,7 +288,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator +=", len, a_len);
+      err_nonconformant ("operator +=", len, a_len);
       return *this;
     }
 
@@ -310,7 +310,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator -=", len, a_len);
+      err_nonconformant ("operator -=", len, a_len);
       return *this;
     }
 
@@ -343,7 +343,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (nc != a_len)
-    gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+    err_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
       retval.clear (nr);
@@ -388,7 +388,7 @@
 
   if (nc != a_len)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+      err_nonconformant ("operator *", nr, nc, a_len, 1);
       return FloatComplexColumnVector ();
     }
 
@@ -416,7 +416,7 @@
 
   if (nc != a_len)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+      err_nonconformant ("operator *", nr, nc, a_len, 1);
       return FloatComplexColumnVector ();
     }
 
@@ -444,7 +444,7 @@
 
   if (nc != a_len)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+      err_nonconformant ("operator *", nr, nc, a_len, 1);
       return FloatComplexColumnVector ();
     }
 
--- a/liboctave/array/fCDiagMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fCDiagMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -426,7 +426,7 @@
 
   if (r != a_nr || c != a_nc)
     {
-      gripe_nonconformant ("operator +=", r, c, a_nr, a_nc);
+      err_nonconformant ("operator +=", r, c, a_nr, a_nc);
       return *this;
     }
 
@@ -449,7 +449,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
 
   FloatComplexDiagMatrix c (a_nr, b_nc);
 
@@ -475,7 +475,7 @@
 
   if (a_nc != b_nr)
     {
-      gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
       return FloatComplexDiagMatrix ();
     }
 
@@ -508,7 +508,7 @@
 
   if (a_nc != b_nr)
     {
-      gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+      err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
       return FloatComplexDiagMatrix ();
     }
 
--- a/liboctave/array/fCMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fCMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -2005,7 +2005,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -2100,7 +2100,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -2185,7 +2185,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -2240,7 +2240,7 @@
               if (sing_handler)
                 sing_handler (rcon);
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
 
               mattype.mark_as_rectangular ();
             }
@@ -2268,7 +2268,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -3008,7 +3008,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3029,7 +3029,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3050,7 +3050,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3071,7 +3071,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3094,7 +3094,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3118,7 +3118,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3719,7 +3719,7 @@
   octave_idx_type b_nc = trb ? b.rows () : b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
   else
     {
       if (a_nr == 0 || a_nc == 0 || b_nc == 0)
--- a/liboctave/array/fCNDArray.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fCNDArray.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -497,7 +497,7 @@
 FloatComplexNDArray::operator ! (void) const
 {
   if (any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return do_mx_unary_op<bool, FloatComplex> (*this, mx_inline_not);
 }
--- a/liboctave/array/fCRowVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fCRowVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -278,7 +278,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator +=", len, a_len);
+      err_nonconformant ("operator +=", len, a_len);
       return *this;
     }
 
@@ -300,7 +300,7 @@
 
   if (len != a_len)
     {
-      gripe_nonconformant ("operator -=", len, a_len);
+      err_nonconformant ("operator -=", len, a_len);
       return *this;
     }
 
@@ -326,7 +326,7 @@
   octave_idx_type a_nc = a.cols ();
 
   if (a_nr != len)
-    gripe_nonconformant ("operator *", 1, len, a_nr, a_nc);
+    err_nonconformant ("operator *", 1, len, a_nr, a_nc);
   else
     {
       if (len == 0)
@@ -451,7 +451,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (len != a_len)
-    gripe_nonconformant ("operator *", len, a_len);
+    err_nonconformant ("operator *", len, a_len);
   else if (len != 0)
     F77_FUNC (xcdotu, XCDOTU) (len, v.data (), 1, a.data (), 1, retval);
 
--- a/liboctave/array/fColVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fColVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -204,7 +204,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (nc != a_len)
-    gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+    err_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
       retval.clear (nr);
@@ -241,7 +241,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (nc != a_len)
-    gripe_nonconformant ("operator *", nr, nc, a_len, 1);
+    err_nonconformant ("operator *", nr, nc, a_len, 1);
   else
     {
       if (nr == 0 || nc == 0)
--- a/liboctave/array/fDiagMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fDiagMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -323,7 +323,7 @@
   octave_idx_type b_nc = b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
 
   FloatDiagMatrix c (a_nr, b_nc);
 
--- a/liboctave/array/fMatrix.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fMatrix.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -1652,7 +1652,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -1748,7 +1748,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
             }
@@ -1832,7 +1832,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -1885,7 +1885,7 @@
               if (sing_handler)
                 sing_handler (rcon);
               else
-                gripe_singular_matrix ();
+                errwarn_singular_matrix ();
 
               mattype.mark_as_rectangular ();
             }
@@ -1913,7 +1913,7 @@
                       if (sing_handler)
                         sing_handler (rcon);
                       else
-                        gripe_singular_matrix (rcon);
+                        errwarn_singular_matrix (rcon);
                     }
                 }
 
@@ -2621,7 +2621,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator +=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -2642,7 +2642,7 @@
 
   if (nr != a_nr || nc != a_nc)
     {
-      gripe_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator -=", nr, nc, a_nr, a_nc);
       return *this;
     }
 
@@ -3112,7 +3112,7 @@
   octave_idx_type b_nc = trb ? b.rows () : b.cols ();
 
   if (a_nc != b_nr)
-    gripe_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
+    err_nonconformant ("operator *", a_nr, a_nc, b_nr, b_nc);
   else
     {
       if (a_nr == 0 || a_nc == 0 || b_nc == 0)
--- a/liboctave/array/fNDArray.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fNDArray.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -501,7 +501,7 @@
 FloatNDArray::operator ! (void) const
 {
   if (any_element_is_nan ())
-    gripe_nan_to_logical_conversion ();
+    err_nan_to_logical_conversion ();
 
   return do_mx_unary_op<bool, float> (*this, mx_inline_not);
 }
--- a/liboctave/array/fRowVector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/fRowVector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -200,7 +200,7 @@
   octave_idx_type a_nc = a.cols ();
 
   if (a_nr != len)
-    gripe_nonconformant ("operator *", 1, len, a_nr, a_nc);
+    err_nonconformant ("operator *", 1, len, a_nr, a_nc);
   else
     {
       if (len == 0)
@@ -323,7 +323,7 @@
   octave_idx_type a_len = a.numel ();
 
   if (len != a_len)
-    gripe_nonconformant ("operator *", len, a_len);
+    err_nonconformant ("operator *", len, a_len);
   else if (len != 0)
     F77_FUNC (xsdot, XSDOT) (len, v.data (), 1, a.data (), 1, retval);
 
--- a/liboctave/array/idx-vector.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/array/idx-vector.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -48,7 +48,7 @@
 }
 
 static void
-gripe_index_out_of_range (void)
+err_index_out_of_range (void)
 {
   (*current_liboctave_error_handler)
     ("internal error: idx_vector index out of range");
@@ -79,7 +79,7 @@
 {
   if (i < 0)
     {
-      gripe_index_out_of_range ();
+      err_index_out_of_range ();
       return 0;
     }
   else
@@ -115,12 +115,12 @@
     }
   else if (start < 0)
     {
-      gripe_invalid_index (start);
+      err_invalid_index (start);
       err = true;
     }
   else if (step < 0 && start + (len-1)*step < 0)
     {
-      gripe_invalid_index (start + (len-1)*step);
+      err_invalid_index (start + (len-1)*step);
       err = true;
     }
 }
@@ -141,12 +141,12 @@
           step = static_cast<octave_idx_type> (r.inc ());
           if (start < 0)
             {
-              gripe_invalid_index (start);
+              err_invalid_index (start);
               err = true;
             }
           else if (step < 0 && start + (len - 1)*step < 0)
             {
-              gripe_invalid_index (start + (len - 1)*step);
+              err_invalid_index (start + (len - 1)*step);
               err = true;
             }
         }
@@ -155,7 +155,7 @@
           // find first non-integer, then gripe about it
           double b = r.base ();
           double inc = r.inc ();
-          gripe_invalid_index (b != gnulib::floor (b) ? b : b + inc);
+          err_invalid_index (b != gnulib::floor (b) ? b : b + inc);
           err = true;
         }
     }
@@ -166,7 +166,7 @@
 {
   if (i < 0 || i >= len)
     {
-      gripe_index_out_of_range ();
+      err_index_out_of_range ();
       return 0;
     }
   else
@@ -236,7 +236,7 @@
   if (i <= 0)
     {
       if (! conv_error)          // only gripe once, for things like A(-10000:0)
-        gripe_invalid_index (i-1);
+        err_invalid_index (i-1);
       conv_error = true;
     }
 
@@ -253,7 +253,7 @@
 
   if (static_cast<double> (i) != x)
     {
-      gripe_invalid_index (x-1);
+      err_invalid_index (x-1);
       conv_error = true;
     }
 
@@ -291,7 +291,7 @@
 {
   if (data < 0)
     {
-      gripe_invalid_index (data);
+      err_invalid_index (data);
       err = true;
     }
 }
@@ -300,7 +300,7 @@
 idx_vector::idx_scalar_rep::checkelem (octave_idx_type i) const
 {
   if (i != 0)
-    gripe_index_out_of_range ();
+    err_index_out_of_range ();
 
   return data;
 }
@@ -363,7 +363,7 @@
           if (k < 0)
             {
               if (! err)         // only report first error, in case 1000s.
-                gripe_invalid_index (k);
+                err_invalid_index (k);
               err = true;
             }
           else if (k > max)
@@ -474,7 +474,7 @@
 {
   if (n < 0 || n >= len)
     {
-      gripe_invalid_index (n);
+      err_invalid_index (n);
       return 0;
     }
 
@@ -724,7 +724,7 @@
 {
   if (n < 0 || n >= len)
     {
-      gripe_invalid_index (n);
+      err_invalid_index (n);
       return 0;
     }
 
--- a/liboctave/numeric/CmplxGEPBAL.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/numeric/CmplxGEPBAL.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -73,7 +73,7 @@
 
   if (a.dims () != b.dims ())
     {
-      gripe_nonconformant ("ComplexGEPBALANCE", n, n, b.rows(), b.cols());
+      err_nonconformant ("ComplexGEPBALANCE", n, n, b.rows(), b.cols());
       return -1;
     }
 
--- a/liboctave/numeric/dbleGEPBAL.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/numeric/dbleGEPBAL.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -72,7 +72,7 @@
 
   if (a.dims () != b.dims ())
     {
-      gripe_nonconformant ("GEPBALANCE", n, n, b.rows(), b.cols());
+      err_nonconformant ("GEPBALANCE", n, n, b.rows(), b.cols());
       return -1;
     }
 
--- a/liboctave/numeric/fCmplxGEPBAL.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/numeric/fCmplxGEPBAL.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -73,7 +73,7 @@
 
   if (a.dims () != b.dims ())
     {
-      gripe_nonconformant ("FloatComplexGEPBALANCE", n, n, b.rows(), b.cols());
+      err_nonconformant ("FloatComplexGEPBALANCE", n, n, b.rows(), b.cols());
       return -1;
     }
 
--- a/liboctave/numeric/floatGEPBAL.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/numeric/floatGEPBAL.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -73,7 +73,7 @@
 
   if (a.dims () != b.dims ())
     {
-      gripe_nonconformant ("FloatGEPBALANCE", n, n, b.rows(), b.cols());
+      err_nonconformant ("FloatGEPBALANCE", n, n, b.rows(), b.cols());
       return -1;
     }
 
--- a/liboctave/operators/Sparse-diag-op-defs.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/operators/Sparse-diag-op-defs.h	Mon Jan 18 18:28:06 2016 -0800
@@ -36,7 +36,7 @@
 
   if (nc != a_nr)
     {
-      gripe_nonconformant ("operator *", nr, nc, a_nr, a_nc);
+      err_nonconformant ("operator *", nr, nc, a_nr, a_nc);
       return RT ();
     }
   else
@@ -77,7 +77,7 @@
 
   if (nr != a_nc)
     {
-      gripe_nonconformant ("operator *", a_nr, a_nc, nr, nc);
+      err_nonconformant ("operator *", a_nr, a_nc, nr, nc);
       return RT ();
     }
   else
@@ -187,7 +187,7 @@
 {
   if (a.rows () != d.rows () || a.cols () != d.cols ())
     {
-      gripe_nonconformant ("operator +", d.rows (), d.cols (), a.rows (), a.cols ());
+      err_nonconformant ("operator +", d.rows (), d.cols (), a.rows (), a.cols ());
       return RT ();
     }
   else
@@ -199,7 +199,7 @@
 {
   if (a.rows () != d.rows () || a.cols () != d.cols ())
     {
-      gripe_nonconformant ("operator -", d.rows (), d.cols (), a.rows (), a.cols ());
+      err_nonconformant ("operator -", d.rows (), d.cols (), a.rows (), a.cols ());
       return RT ();
     }
   else
@@ -212,7 +212,7 @@
 {
   if (a.rows () != d.rows () || a.cols () != d.cols ())
     {
-      gripe_nonconformant ("operator +", a.rows (), a.cols (), d.rows (), d.cols ());
+      err_nonconformant ("operator +", a.rows (), a.cols (), d.rows (), d.cols ());
       return RT ();
     }
   else
@@ -224,7 +224,7 @@
 {
   if (a.rows () != d.rows () || a.cols () != d.cols ())
     {
-      gripe_nonconformant ("operator -", a.rows (), a.cols (), d.rows (), d.cols ());
+      err_nonconformant ("operator -", a.rows (), a.cols (), d.rows (), d.cols ());
       return RT ();
     }
   else
--- a/liboctave/operators/Sparse-op-defs.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/operators/Sparse-op-defs.h	Mon Jan 18 18:28:06 2016 -0800
@@ -369,7 +369,7 @@
           } \
       } \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
         r = R (m1_nr, m1_nc, (m1.nnz () + m2.nnz ())); \
@@ -477,7 +477,7 @@
           } \
       } \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
         r = R (m1_nr, m1_nc, (m1.nnz () > m2.nnz () ? m1.nnz () : m2.nnz ())); \
@@ -593,7 +593,7 @@
           } \
       } \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
  \
@@ -816,7 +816,7 @@
     else \
       { \
         if ((m1_nr != 0 || m1_nc != 0) && (m2_nr != 0 || m2_nc != 0)) \
-          gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+          err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
       } \
     return r; \
   }
@@ -964,7 +964,7 @@
     else \
       { \
         if ((m1_nr != 0 || m1_nc != 0) && (m2_nr != 0 || m2_nc != 0)) \
-          gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+          err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
       } \
     return r; \
   }
@@ -993,7 +993,7 @@
     if (m2_nr == 1 && m2_nc == 1) \
       r = R (m1 OP m2.elem (0,0)); \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
         r = R (F (m1, m2.matrix_value ())); \
@@ -1016,7 +1016,7 @@
     if (m2_nr == 1 && m2_nc == 1) \
       r = R (m1 OP m2.elem (0,0)); \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
         if (do_mx_check (m1, mx_inline_all_finite<M1::element_type>)) \
@@ -1104,7 +1104,7 @@
     else \
       { \
         if ((m1_nr != 0 || m1_nc != 0) && (m2_nr != 0 || m2_nc != 0)) \
-          gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+          err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
       } \
     return r; \
   }
@@ -1170,7 +1170,7 @@
     else \
       { \
         if ((m1_nr != 0 || m1_nc != 0) && (m2_nr != 0 || m2_nc != 0)) \
-          gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+          err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
       } \
     return r; \
   }
@@ -1199,7 +1199,7 @@
     if (m1_nr == 1 && m1_nc == 1) \
       r = R (m1.elem (0,0) OP m2); \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
         r = R (m1.matrix_value () OP m2); \
@@ -1230,7 +1230,7 @@
     if (m1_nr == 1 && m1_nc == 1) \
       r = R (m1.elem (0,0) OP m2); \
     else if (m1_nr != m2_nr || m1_nc != m2_nc) \
-      gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+      err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
     else \
       { \
         if (SPARSE_SMM_BIN_OP_2_CHECK_ ## F(M2::element_type)) \
@@ -1317,7 +1317,7 @@
     else \
       { \
         if ((m1_nr != 0 || m1_nc != 0) && (m2_nr != 0 || m2_nc != 0)) \
-          gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+          err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
       } \
     return r; \
   }
@@ -1383,7 +1383,7 @@
     else \
       { \
         if ((m1_nr != 0 || m1_nc != 0) && (m2_nr != 0 || m2_nc != 0)) \
-          gripe_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
+          err_nonconformant (#F, m1_nr, m1_nc, m2_nr, m2_nc); \
       } \
     return r; \
   }
@@ -1742,7 +1742,7 @@
    } \
   else if (nc != a_nr) \
     { \
-      gripe_nonconformant ("operator *", nr, nc, a_nr, a_nc); \
+      err_nonconformant ("operator *", nr, nc, a_nr, a_nc); \
       return RET_TYPE (); \
     } \
   else \
@@ -1874,7 +1874,7 @@
     } \
   else if (nc != a_nr) \
     { \
-      gripe_nonconformant ("operator *", nr, nc, a_nr, a_nc); \
+      err_nonconformant ("operator *", nr, nc, a_nr, a_nc); \
       return RET_TYPE (); \
     } \
   else \
@@ -1909,7 +1909,7 @@
     } \
   else if (nr != a_nr) \
     { \
-      gripe_nonconformant ("operator *", nc, nr, a_nr, a_nc); \
+      err_nonconformant ("operator *", nc, nr, a_nr, a_nc); \
       return RET_TYPE (); \
     } \
   else \
@@ -1945,7 +1945,7 @@
     } \
   else if (nc != a_nr) \
     { \
-      gripe_nonconformant ("operator *", nr, nc, a_nr, a_nc); \
+      err_nonconformant ("operator *", nr, nc, a_nr, a_nc); \
       return RET_TYPE (); \
     } \
   else \
@@ -1981,7 +1981,7 @@
     } \
   else if (nc != a_nc) \
     { \
-      gripe_nonconformant ("operator *", nr, nc, a_nc, a_nr); \
+      err_nonconformant ("operator *", nr, nc, a_nc, a_nr); \
       return RET_TYPE (); \
     } \
   else \
--- a/liboctave/operators/Sparse-perm-op-defs.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/operators/Sparse-perm-op-defs.h	Mon Jan 18 18:28:06 2016 -0800
@@ -63,7 +63,7 @@
   const octave_idx_type nr = a.rows ();
   if (p.cols () != nr)
     {
-      gripe_nonconformant ("operator *", p.rows (), p.cols (), a.rows (), a.cols ());
+      err_nonconformant ("operator *", p.rows (), p.cols (), a.rows (), a.cols ());
       return SM ();
     }
 
@@ -149,7 +149,7 @@
   const octave_idx_type nc = a.cols ();
   if (p.rows () != nc)
     {
-      gripe_nonconformant ("operator *", a.rows (), a.cols (), p.rows (), p.cols ());
+      err_nonconformant ("operator *", a.rows (), a.cols (), p.rows (), p.cols ());
       return SM ();
     }
 
--- a/liboctave/operators/mx-inlines.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/operators/mx-inlines.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -380,7 +380,7 @@
     }
   else
     {
-      gripe_nonconformant (opname, dx, dy);
+      err_nonconformant (opname, dx, dy);
       return Array<R> ();
     }
 }
@@ -423,7 +423,7 @@
       do_inplace_bsxfun_op (r, x, op, op1);
     }
   else
-    gripe_nonconformant (opname, dr, dx);
+    err_nonconformant (opname, dr, dx);
   return r;
 }
 
--- a/liboctave/operators/mx-op-defs.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/operators/mx-op-defs.h	Mon Jan 18 18:28:06 2016 -0800
@@ -25,17 +25,17 @@
 #if ! defined (octave_mx_op_defs_h)
 #define octave_mx_op_defs_h 1
 
-#include "lo-array-gripes.h"
+#include "lo-array-errwarn.h"
 #include "mx-op-decl.h"
 #include "mx-inlines.cc"
 
 #define SNANCHK(s) \
   if (xisnan (s)) \
-    gripe_nan_to_logical_conversion ()
+    err_nan_to_logical_conversion ()
 
 #define MNANCHK(m, MT) \
   if (do_mx_check (m, mx_inline_any_nan<MT>)) \
-    gripe_nan_to_logical_conversion ()
+    err_nan_to_logical_conversion ()
 
 // vector by scalar operations.
 
@@ -402,7 +402,7 @@
   octave_idx_type dm_nc = dm.cols (); \
  \
   if (m_nr != dm_nr || m_nc != dm_nc) \
-    gripe_nonconformant (#OP, m_nr, m_nc, dm_nr, dm_nc); \
+    err_nonconformant (#OP, m_nr, m_nc, dm_nr, dm_nc); \
   else \
     { \
       r.resize (m_nr, m_nc); \
@@ -434,7 +434,7 @@
   octave_idx_type dm_nc = dm.cols (); \
  \
   if (m_nc != dm_nr) \
-    gripe_nonconformant ("operator *", m_nr, m_nc, dm_nr, dm_nc); \
+    err_nonconformant ("operator *", m_nr, m_nc, dm_nr, dm_nc); \
   else \
     { \
       r = R (m_nr, dm_nc); \
@@ -474,7 +474,7 @@
   octave_idx_type m_nc = m.cols (); \
  \
   if (dm_nr != m_nr || dm_nc != m_nc) \
-    gripe_nonconformant (#OP, dm_nr, dm_nc, m_nr, m_nc); \
+    err_nonconformant (#OP, dm_nr, dm_nc, m_nr, m_nc); \
   else \
     { \
       if (m_nr > 0 && m_nc > 0) \
@@ -506,7 +506,7 @@
   octave_idx_type m_nc = m.cols (); \
  \
   if (dm_nc != m_nr) \
-    gripe_nonconformant ("operator *", dm_nr, dm_nc, m_nr, m_nc); \
+    err_nonconformant ("operator *", dm_nr, dm_nc, m_nr, m_nc); \
   else \
     { \
       r = R (dm_nr, m_nc); \
@@ -547,7 +547,7 @@
     octave_idx_type dm2_nc = dm2.cols (); \
  \
     if (dm1_nr != dm2_nr || dm1_nc != dm2_nc) \
-      gripe_nonconformant (#OP, dm1_nr, dm1_nc, dm2_nr, dm2_nc); \
+      err_nonconformant (#OP, dm1_nr, dm1_nc, dm2_nr, dm2_nc); \
     else \
       { \
         r.resize (dm1_nr, dm1_nc); \
@@ -604,7 +604,7 @@
   octave_idx_type nc = x.columns (); \
   M result; \
   if (p.columns () != nr) \
-    gripe_nonconformant ("operator *", p.rows (), p.columns (), nr, nc); \
+    err_nonconformant ("operator *", p.rows (), p.columns (), nr, nc); \
   else \
     { \
       result = M (nr, nc); \
@@ -621,7 +621,7 @@
   octave_idx_type nc = x.columns (); \
   M result; \
   if (p.rows () != nc) \
-    gripe_nonconformant ("operator *", nr, nc, p.rows (), p.columns ()); \
+    err_nonconformant ("operator *", nr, nc, p.rows (), p.columns ()); \
   else \
     result = x.index (idx_vector::colon, p.col_perm_vec ()); \
   \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/liboctave/util/lo-array-errwarn.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -0,0 +1,327 @@
+/*
+
+Copyright (C) 2016 Rik Wehbring
+
+This file is part of Octave.
+
+Octave is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+Octave is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Octave; see the file COPYING.  If not, see
+<http://www.gnu.org/licenses/>.
+
+*/
+
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include <sstream>
+
+#include "lo-array-errwarn.h"
+#include "lo-error.h"
+
+const char *error_id_nonconformant_args = "Octave:nonconformant-args";
+
+const char *error_id_index_out_of_bounds = "Octave:index-out-of-bounds";
+
+const char *error_id_invalid_index = "Octave:invalid-index";
+
+const char *warning_id_nearly_singular_matrix = "Octave:nearly-singular-matrix";
+
+const char *warning_id_singular_matrix = "Octave:singular-matrix";
+
+void
+err_nan_to_logical_conversion (void)
+{
+  (*current_liboctave_error_handler)
+    ("invalid conversion from NaN to logical");
+}
+
+void
+err_nan_to_character_conversion (void)
+{
+  (*current_liboctave_error_handler)
+    ("invalid conversion from NaN to character");
+}
+
+void
+err_nonconformant (const char *op,
+                   octave_idx_type op1_len, octave_idx_type op2_len)
+{
+  const char *err_id = error_id_nonconformant_args;
+
+  (*current_liboctave_error_with_id_handler)
+    (err_id, "%s: nonconformant arguments (op1 len: %d, op2 len: %d)",
+     op, op1_len, op2_len);
+}
+
+void
+err_nonconformant (const char *op,
+                   octave_idx_type op1_nr, octave_idx_type op1_nc,
+                   octave_idx_type op2_nr, octave_idx_type op2_nc)
+{
+  const char *err_id = error_id_nonconformant_args;
+
+  (*current_liboctave_error_with_id_handler)
+    (err_id, "%s: nonconformant arguments (op1 is %dx%d, op2 is %dx%d)",
+     op, op1_nr, op1_nc, op2_nr, op2_nc);
+}
+
+void
+err_nonconformant (const char *op,
+                   const dim_vector& op1_dims, const dim_vector& op2_dims)
+{
+  const char *err_id = error_id_nonconformant_args;
+
+  std::string op1_dims_str = op1_dims.str ();
+  std::string op2_dims_str = op2_dims.str ();
+
+  (*current_liboctave_error_with_id_handler)
+    (err_id, "%s: nonconformant arguments (op1 is %s, op2 is %s)",
+     op, op1_dims_str.c_str (), op2_dims_str.c_str ());
+}
+
+void
+err_del_index_out_of_range (bool is1d, octave_idx_type idx,
+                            octave_idx_type ext)
+{
+  const char *err_id = error_id_index_out_of_bounds;
+
+  (*current_liboctave_error_with_id_handler)
+    (err_id, "A(%s) = []: index out of bounds: value %d out of bound %d",
+     is1d ? "I" : "..,I,..", idx, ext);
+}
+
+// Common procedures of base class index_exception, thrown whenever an
+// object is indexed incorrectly, such as by an index that is out of
+// range, negative, fractional, complex, or of a non-numeric type.
+
+std::string
+index_exception::message (void) const
+{
+  std::string msg = expression () + ": " + details ();
+  return msg.c_str ();
+}
+
+// Show the expression that caused the error, e.g.,  "A(-1,_)",
+// "A(0+1i)", "A(_,3)".  Show how many indices come before/after the
+// offending one, e.g., (<error>), (<error>,_), or (_,<error>,...[x5]...)
+
+std::string
+index_exception::expression (void) const
+{
+  std::ostringstream buf;
+
+  if (var.empty () || var == "<unknown>")
+    buf << "index ";
+  else
+    buf << var;
+
+  bool show_parens = dim > 0;
+
+  if (show_parens)
+    {
+      if (dim < 5)
+        {
+          buf << "(";
+
+          for (octave_idx_type i = 1; i < dim; i++)
+            buf << "_,";
+        }
+      else
+        buf << "(...[x" << dim - 1 << "]...";
+    }
+
+  buf << idx ();
+
+  if (show_parens)
+    {
+      if (nd - dim < 5)
+        {
+          for (octave_idx_type i = 0; i < nd - dim; i++)
+            buf << ",_";
+
+          if (nd >= dim)
+            buf << ")";
+        }
+      else
+        buf << "...[x" << nd - dim << "]...)";
+    }
+
+  return buf.str ();
+}
+
+class invalid_index : public index_exception
+{
+public:
+
+  invalid_index (const std::string& value, octave_idx_type ndim,
+                 octave_idx_type dimen)
+    : index_exception (value, ndim, dimen)
+  { }
+
+  std::string details (void) const
+  {
+#ifdef USE_64_BIT_IDX_T
+    return "subscripts must be either integers 1 to (2^63)-1 or logicals";
+#else
+    return "subscripts must be either integers 1 to (2^31)-1 or logicals";
+#endif
+  }
+
+  // ID of error to throw
+  const char *err_id (void) const
+  {
+    return error_id_invalid_index;
+  }
+};
+
+// Complain if an index is negative, fractional, or too big.
+
+void
+err_invalid_index (const std::string& idx, octave_idx_type nd,
+                   octave_idx_type dim, const std::string&)
+{
+  invalid_index e (idx, nd, dim);
+
+  throw e;
+}
+
+void
+err_invalid_index (octave_idx_type n, octave_idx_type nd,
+                   octave_idx_type dim, const std::string& var)
+{
+  std::ostringstream buf;
+  buf << n + 1;
+  err_invalid_index (buf.str (), nd, dim, var);
+}
+
+void
+err_invalid_index (double n, octave_idx_type nd, octave_idx_type dim,
+                   const std::string& var)
+{
+  std::ostringstream buf;
+  buf << n + 1;
+  err_invalid_index (buf.str (), nd, dim, var);
+}
+
+
+// Complain for read access beyond the bounds of an array.
+
+class out_of_range : public index_exception
+{
+public:
+
+  out_of_range (const std::string& value, octave_idx_type nd_in,
+                octave_idx_type dim_in)
+    : index_exception (value, nd_in, dim_in), extent (0)
+  { }
+
+  std::string details (void) const
+  {
+    std::string expl;
+
+    if (nd >= size.length ())   // if not an index slice
+      {
+        if (var != "")
+          expl = "but " + var + " has size ";
+        else
+          expl = "but object has size ";
+
+        expl = expl + size.str ('x');
+      }
+    else
+      {
+        std::ostringstream buf;
+        buf << extent;
+        expl = "out of bound " + buf.str ();
+      }
+
+    return expl;
+  }
+
+  // ID of error to throw.
+  const char *err_id (void) const
+  {
+    return error_id_index_out_of_bounds;
+  }
+
+  void set_size (const dim_vector& size_in) { size = size_in; }
+
+  void set_extent (octave_idx_type ext) { extent = ext; }
+
+private:
+
+  // Dimension of object being accessed.
+  dim_vector size;
+
+  // Length of dimension being accessed.
+  octave_idx_type extent;
+};
+
+// Complain of an index that is out of range, but we don't know matrix size
+void
+err_index_out_of_range (int nd, int dim, octave_idx_type idx,
+                        octave_idx_type ext)
+{
+  std::ostringstream buf;
+  buf << idx;
+  out_of_range e (buf.str (), nd, dim);
+
+  e.set_extent (ext);
+  // ??? Make details method give extent not size.
+  e.set_size (dim_vector (1, 1, 1, 1, 1, 1,1));
+
+  throw e;
+}
+
+// Complain of an index that is out of range
+void
+err_index_out_of_range (int nd, int dim, octave_idx_type idx,
+                        octave_idx_type ext, const dim_vector& d)
+{
+  std::ostringstream buf;
+  buf << idx;
+  out_of_range e (buf.str (), nd, dim);
+
+  e.set_extent (ext);
+  e.set_size (d);
+
+  throw e;
+}
+
+void
+err_invalid_resize (void)
+{
+  (*current_liboctave_error_with_id_handler)
+    ("Octave:invalid-resize",
+     "Invalid resizing operation or ambiguous assignment to an out-of-bounds array element");
+}
+
+void
+errwarn_singular_matrix (double rcond)
+{
+  if (rcond == 0.0)
+    {
+      (*current_liboctave_warning_with_id_handler)
+        (warning_id_singular_matrix,
+         "matrix singular to machine precision");
+    }
+  else
+    {
+      (*current_liboctave_warning_with_id_handler)
+        (warning_id_nearly_singular_matrix,
+         "matrix singular to machine precision, rcond = %g", rcond);
+    }
+}
+
+/* Tests in test/index.tst */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/liboctave/util/lo-array-errwarn.h	Mon Jan 18 18:28:06 2016 -0800
@@ -0,0 +1,167 @@
+/*
+
+Copyright (C) 2016 Rik Wehbring
+
+This file is part of Octave.
+
+Octave is free software; you can redistribute it and/or modify it
+under the terms of the GNU General Public License as published by the
+Free Software Foundation; either version 3 of the License, or (at your
+option) any later version.
+
+Octave is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+for more details.
+
+You should have received a copy of the GNU General Public License
+along with Octave; see the file COPYING.  If not, see
+<http://www.gnu.org/licenses/>.
+
+*/
+
+#if ! defined (octave_lo_array_errwarn_h)
+#define octave_lo_array_errwarn_h 1
+
+#include "dim-vector.h"
+#include "quit.h"
+
+// Exception thrown by err_invalid_index
+// This is thrown when the invalid index is detected, at which point nd and dim
+// are usually not known.  It is caught at the place they are known, where a
+// new  err_invalid_index  is called.
+//
+// Typically, this should be caught after any call to
+// octave_value_list::index_vector()
+class index_exception : public octave_execution_exception
+{
+public:
+
+  index_exception (const std::string& index_arg, octave_idx_type nd_arg = 0,
+                   octave_idx_type dim_arg = -1, const char *var_arg = "")
+    : index (index_arg), nd (nd_arg), dim (dim_arg), var (var_arg)
+  { }
+
+  ~index_exception (void) { }
+
+  // Erroneous index value.  Called in what, and by external code
+  // (e.g., nth_element) to make a custom error message.
+  std::string idx (void) const { return index; }
+
+  // details set by subclass.
+  virtual std::string details (void) const = 0;
+
+  // ID of error to throw.
+  virtual const char *err_id (void) const = 0;
+
+  virtual std::string message (void) const;
+
+  // Position of error: dimension in error, and number of dimensions.
+  void set_pos (octave_idx_type nd_arg, octave_idx_type dim_arg)
+  {
+    nd = nd_arg;
+    dim = dim_arg;
+  }
+
+  void set_pos_if_unset (octave_idx_type nd_arg, octave_idx_type dim_arg)
+  {
+    if (nd == 0)
+      {
+        nd  = nd_arg;
+        dim = dim_arg;
+      }
+  }
+
+  // Name of variable being indexed.  eye(2)(1,1) gives "<unknown>".
+  void set_var (const std::string& var_arg = "")
+  {
+    var = var_arg;
+  }
+
+private:
+
+  // Value of invalid index.
+  std::string index;
+
+protected:
+
+  // Show what's wrong, e.g.,  A(-1,_), A(0+1i).
+  std::string expression (void) const;
+
+  // Number of dimensions of indexed object.
+  octave_idx_type nd;
+
+  // Dimension number in which invalid index occurred.
+  octave_idx_type dim;
+
+  // Name of variable being indexed.
+  std::string var;
+
+};
+
+extern OCTAVE_API const char *error_id_nonconformant_args;
+
+extern OCTAVE_API const char *error_id_index_out_of_bounds;
+
+extern OCTAVE_API const char *error_id_invalid_index;
+
+extern OCTAVE_API const char *warning_id_nearly_singular_matrix;
+
+extern OCTAVE_API const char *warning_id_singular_matrix;
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_nan_to_logical_conversion (void);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_nan_to_character_conversion (void);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_nonconformant (const char *op,
+                        octave_idx_type op1_len,
+                        octave_idx_type op2_len);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_nonconformant (const char *op,
+                        octave_idx_type op1_nr, octave_idx_type op1_nc,
+                        octave_idx_type op2_nr, octave_idx_type op2_nc);
+
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_nonconformant (const char *op, const dim_vector& op1_dims,
+                        const dim_vector& op2_dims);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_index_out_of_range (int nd, int dim,
+                             octave_idx_type iext, octave_idx_type ext,
+                             const dim_vector& d);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_index_out_of_range (int nd, int dim,
+                             octave_idx_type iext, octave_idx_type ext);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_del_index_out_of_range (bool is1d, octave_idx_type iext,
+                                 octave_idx_type ext);
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_invalid_index (double, octave_idx_type nd = 0,
+                        octave_idx_type dim = 0,
+                        const std::string& var = "");
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_invalid_index (octave_idx_type n, octave_idx_type nd = 0,
+                        octave_idx_type dim = 0,
+                        const std::string& var = "");
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_invalid_index (const std::string& idx, octave_idx_type nd = 0,
+                        octave_idx_type dim = 0,
+                        const std::string& var = "");
+
+OCTAVE_NORETURN OCTAVE_API extern
+void err_invalid_resize (void);
+
+OCTAVE_API extern
+void errwarn_singular_matrix (double rcond = 0.0);
+
+#endif
--- a/liboctave/util/lo-array-gripes.cc	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/util/lo-array-gripes.cc	Mon Jan 18 18:28:06 2016 -0800
@@ -30,16 +30,6 @@
 #include "lo-array-gripes.h"
 #include "lo-error.h"
 
-const char *error_id_nonconformant_args = "Octave:nonconformant-args";
-
-const char *error_id_index_out_of_bounds = "Octave:index-out-of-bounds";
-
-const char *error_id_invalid_index = "Octave:invalid-index";
-
-const char *warning_id_nearly_singular_matrix = "Octave:nearly-singular-matrix";
-
-const char *warning_id_singular_matrix = "Octave:singular-matrix";
-
 void
 gripe_nan_to_logical_conversion (void)
 {
@@ -102,67 +92,6 @@
      is1d ? "I" : "..,I,..", idx, ext);
 }
 
-
-
-// Common procedures of base class index_exception, thrown whenever an
-// object is indexed incorrectly, such as by an index that is out of
-// range, negative, fractional, complex, or of a non-numeric type.
-
-std::string
-index_exception::message (void) const
-{
-  std::string msg = expression () + ": " + details ();
-  return msg.c_str ();
-}
-
-// Show the expression that caused the error, e.g.,  "A(-1,_)",
-// "A(0+1i)", "A(_,3)".  Show how many indices come before/after the
-// offending one, e.g., (<error>), (<error>,_), or (_,<error>,...[x5]...)
-
-std::string
-index_exception::expression (void) const
-{
-  std::ostringstream buf;
-
-  if (var.empty () || var == "<unknown>")
-    buf << "index ";
-  else
-    buf << var;
-
-  bool show_parens = dim > 0;
-
-  if (show_parens)
-    {
-      if (dim < 5)
-        {
-          buf << "(";
-
-          for (octave_idx_type i = 1; i < dim; i++)
-            buf << "_,";
-        }
-      else
-        buf << "(...[x" << dim - 1 << "]...";
-    }
-
-  buf << idx ();
-
-  if (show_parens)
-    {
-      if (nd - dim < 5)
-        {
-          for (octave_idx_type i = 0; i < nd - dim; i++)
-            buf << ",_";
-
-          if (nd >= dim)
-            buf << ")";
-        }
-      else
-        buf << "...[x" << nd - dim << "]...)";
-    }
-
-  return buf.str ();
-}
-
 class invalid_index : public index_exception
 {
 public:
--- a/liboctave/util/lo-array-gripes.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/util/lo-array-gripes.h	Mon Jan 18 18:28:06 2016 -0800
@@ -23,92 +23,10 @@
 #if ! defined (octave_lo_array_gripes_h)
 #define octave_lo_array_gripes_h 1
 
+#include "lo-array-errwarn.h"
 #include "dim-vector.h"
 #include "quit.h"
 
-// Exception thrown by gripe_invalid_index
-// This is thrown when the invalid index is detected, at which point nd and dim
-// are usually not known.  It is caught at the place they are known, where a
-// new  gripe_invalid_index  is called.
-//
-// Typically, this should be caught after any call to
-// octave_value_list::index_vector()
-class index_exception : public octave_execution_exception
-{
-public:
-
-  index_exception (const std::string& index_arg, octave_idx_type nd_arg = 0,
-                   octave_idx_type dim_arg = -1, const char *var_arg = "")
-    : index (index_arg), nd (nd_arg), dim (dim_arg), var (var_arg)
-  { }
-
-  ~index_exception (void) { }
-
-  // Erroneous index value.  Called in what, and by external code
-  // (e.g., nth_element) to make a custom error message.
-  std::string idx (void) const { return index; }
-
-  // details set by subclass.
-  virtual std::string details (void) const = 0;
-
-  // ID of error to throw.
-  virtual const char *err_id (void) const = 0;
-
-  virtual std::string message (void) const;
-
-  // Position of error: dimension in error, and number of dimensions.
-  void set_pos (octave_idx_type nd_arg, octave_idx_type dim_arg)
-  {
-    nd = nd_arg;
-    dim = dim_arg;
-  }
-
-  void set_pos_if_unset (octave_idx_type nd_arg, octave_idx_type dim_arg)
-  {
-    if (nd == 0)
-      {
-        nd  = nd_arg;
-        dim = dim_arg;
-      }
-  }
-
-  // Name of variable being indexed.  eye(2)(1,1) gives "<unknown>".
-  void set_var (const std::string& var_arg = "")
-  {
-    var = var_arg;
-  }
-
-private:
-
-  // Value of invalid index.
-  std::string index;
-
-protected:
-
-  // Show what's wrong, e.g.,  A(-1,_), A(0+1i).
-  std::string expression (void) const;
-
-  // Number of dimensions of indexed object.
-  octave_idx_type nd;
-
-  // Dimension number in which invalid index occurred.
-  octave_idx_type dim;
-
-  // Name of variable being indexed.
-  std::string var;
-
-};
-
-extern OCTAVE_API const char *error_id_nonconformant_args;
-
-extern OCTAVE_API const char *error_id_index_out_of_bounds;
-
-extern OCTAVE_API const char *error_id_invalid_index;
-
-extern OCTAVE_API const char *warning_id_nearly_singular_matrix;
-
-extern OCTAVE_API const char *warning_id_singular_matrix;
-
 OCTAVE_NORETURN OCTAVE_API extern void
 gripe_nan_to_logical_conversion (void);
 
--- a/liboctave/util/module.mk	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/util/module.mk	Mon Jan 18 18:28:06 2016 -0800
@@ -8,6 +8,7 @@
   liboctave/util/data-conv.h \
   liboctave/util/functor.h \
   liboctave/util/glob-match.h \
+  liboctave/util/lo-array-errwarn.h \
   liboctave/util/lo-array-gripes.h \
   liboctave/util/lo-cutils.h \
   liboctave/util/lo-ieee.h \
@@ -51,6 +52,7 @@
   liboctave/util/cmd-hist.cc \
   liboctave/util/data-conv.cc \
   liboctave/util/glob-match.cc \
+  liboctave/util/lo-array-errwarn.cc \
   liboctave/util/lo-array-gripes.cc \
   liboctave/util/lo-ieee.cc \
   liboctave/util/lo-utils.cc \
--- a/liboctave/util/oct-binmap.h	Mon Jan 18 10:00:56 2016 -0800
+++ b/liboctave/util/oct-binmap.h	Mon Jan 18 18:28:06 2016 -0800
@@ -184,7 +184,7 @@
                                bsxfun_wrapper<U, T, R, F>::op_ms);
         }
       else
-        gripe_nonconformant (name, xad, yad);
+        err_nonconformant (name, xad, yad);
     }
 
   octave_idx_type len = xa.numel ();
@@ -286,7 +286,7 @@
   else if (ys.rows () == 1 && ys.cols () == 1)
     return binmap<U, T, R, F> (xs, ys(0,0), fcn);
   else if (xs.dims () != ys.dims ())
-    gripe_nonconformant (name, xs.dims (), ys.dims ());
+    err_nonconformant (name, xs.dims (), ys.dims ());
 
   T xzero = T ();
   R yzero = R ();