changeset 28896:90fea9cc9caa

test: Add expected error message <Invalid call> to BIST tests for nargin. * acosd.m, acot.m, acotd.m, acoth.m, acsc.m, acscd.m, acsch.m, asec.m, asecd.m, asech.m, asind.m, atand.m, cosd.m, cot.m, cotd.m, coth.m, csc.m, cscd.m, csch.m, sec.m, secd.m, sech.m, sind.m, tand.m, cart2pol.m, cart2sph.m, celldisp.m, common_size.m, deal.m, del2.m, fliplr.m, integral2.m, interp1.m, isequal.m, isequaln.m, nextpow2.m, pol2cart.m, quad2d.m, quadl.m, quadv.m, randi.m, rat.m, repelem.m, rescale.m, shiftdim.m, sortrows.m, sph2cart.m, xor.m, convhull.m, delaunay.m, delaunayn.m, griddata.m, griddatan.m, inpolygon.m, voronoi.m, voronoin.m, listdlg.m, msgbox.m, questdlg.m, rmappdata.m, setappdata.m, __gripe_missing_component__.m, get_first_help_sentence.m, type.m, which.m, cmpermute.m, cmunique.m, gray2ind.m, imfinfo.m, imshow.m, imwrite.m, ind2rgb.m, movie.m, rgb2ind.m, importdata.m, bandwidth.m, condeig.m, gls.m, housh.m, linsolve.m, logm.m, lscov.m, normest.m, normest1.m, ols.m, ordeig.m, planerot.m, qzhess.m, rref.m, copyfile.m, delete.m, dos.m, fileparts.m, getfield.m, menu.m, mkdir.m, movefile.m, orderfields.m, publish.m, setfield.m, substruct.m, unix.m, unpack.m, decic.m, ode23.m, ode23s.m, ode45.m, fminsearch.m, lsqnonneg.m, pqpnonneg.m, sqp.m, annotation.m, lighting.m, shading.m, area.m, compass.m, contourc.m, feather.m, fplot.m, hist.m, isocaps.m, isocolors.m, isonormals.m, isosurface.m, ostreamtube.m, pie.m, pie3.m, reducepatch.m, reducevolume.m, rose.m, smooth3.m, stairs.m, stem.m, stem3.m, stream2.m, stream3.m, streamline.m, streamribbon.m, streamtube.m, surfnorm.m, trimesh.m, trisurf.m, colstyle.m, hgload.m, linkprop.m, meshgrid.m, ndgrid.m, padecoef.m, polyfit.m, polyval.m, unmkpp.m, profexport.m, ismember.m, unique.m, movfun.m, movslice.m, periodogram.m, sinc.m, spdiags.m, sprandsym.m, betaincinv.m, ellipke.m, factor.m, gammainc.m, gammaincinv.m, isprime.m, lcm.m, gallery.m, hadamard.m, bounds.m, corrcoef.m, discrete_rnd.m, empirical_rnd.m, histc.m, mode.m, movmad.m, movmax.m, movmean.m, movmedian.m, movmin.m, movprod.m, movstd.m, movsum.m, movvar.m, ranks.m, runlength.m, zscore.m, str2num.m, strchr.m, strsplit.m, strtok.m, untabify.m, assert.m, demo.m, example.m, speed.m, test.m, datenum.m, datevec.m, webread.m, webwrite.m: Add expected error message <Invalid call> to BIST tests for nargin. Remove redundant tests for nargin greater than the number of declared inputs which are now handled by interpreter.
author Rik <rik@octave.org>
date Sun, 11 Oct 2020 21:59:35 -0700
parents 41c54377d67f
children 6ac35698c99a
files scripts/elfun/acosd.m scripts/elfun/acot.m scripts/elfun/acotd.m scripts/elfun/acoth.m scripts/elfun/acsc.m scripts/elfun/acscd.m scripts/elfun/acsch.m scripts/elfun/asec.m scripts/elfun/asecd.m scripts/elfun/asech.m scripts/elfun/asind.m scripts/elfun/atand.m scripts/elfun/cosd.m scripts/elfun/cot.m scripts/elfun/cotd.m scripts/elfun/coth.m scripts/elfun/csc.m scripts/elfun/cscd.m scripts/elfun/csch.m scripts/elfun/sec.m scripts/elfun/secd.m scripts/elfun/sech.m scripts/elfun/sind.m scripts/elfun/tand.m scripts/general/cart2pol.m scripts/general/cart2sph.m scripts/general/celldisp.m scripts/general/common_size.m scripts/general/deal.m scripts/general/del2.m scripts/general/fliplr.m scripts/general/integral2.m scripts/general/interp1.m scripts/general/isequal.m scripts/general/isequaln.m scripts/general/nextpow2.m scripts/general/pol2cart.m scripts/general/quad2d.m scripts/general/quadl.m scripts/general/quadv.m scripts/general/randi.m scripts/general/rat.m scripts/general/repelem.m scripts/general/rescale.m scripts/general/shiftdim.m scripts/general/sortrows.m scripts/general/sph2cart.m scripts/general/xor.m scripts/geometry/convhull.m scripts/geometry/delaunay.m scripts/geometry/delaunayn.m scripts/geometry/griddata.m scripts/geometry/griddatan.m scripts/geometry/inpolygon.m scripts/geometry/voronoi.m scripts/geometry/voronoin.m scripts/gui/listdlg.m scripts/gui/msgbox.m scripts/gui/questdlg.m scripts/gui/rmappdata.m scripts/gui/setappdata.m scripts/help/__gripe_missing_component__.m scripts/help/get_first_help_sentence.m scripts/help/type.m scripts/help/which.m scripts/image/cmpermute.m scripts/image/cmunique.m scripts/image/gray2ind.m scripts/image/imfinfo.m scripts/image/imshow.m scripts/image/imwrite.m scripts/image/ind2rgb.m scripts/image/movie.m scripts/image/rgb2ind.m scripts/io/importdata.m scripts/linear-algebra/bandwidth.m scripts/linear-algebra/condeig.m scripts/linear-algebra/gls.m scripts/linear-algebra/housh.m scripts/linear-algebra/linsolve.m scripts/linear-algebra/logm.m scripts/linear-algebra/lscov.m scripts/linear-algebra/normest.m scripts/linear-algebra/normest1.m scripts/linear-algebra/ols.m scripts/linear-algebra/ordeig.m scripts/linear-algebra/planerot.m scripts/linear-algebra/qzhess.m scripts/linear-algebra/rref.m scripts/miscellaneous/copyfile.m scripts/miscellaneous/delete.m scripts/miscellaneous/dos.m scripts/miscellaneous/fileparts.m scripts/miscellaneous/getfield.m scripts/miscellaneous/menu.m scripts/miscellaneous/mkdir.m scripts/miscellaneous/movefile.m scripts/miscellaneous/orderfields.m scripts/miscellaneous/publish.m scripts/miscellaneous/setfield.m scripts/miscellaneous/substruct.m scripts/miscellaneous/unix.m scripts/miscellaneous/unpack.m scripts/ode/decic.m scripts/ode/ode23.m scripts/ode/ode23s.m scripts/ode/ode45.m scripts/optimization/fminsearch.m scripts/optimization/lsqnonneg.m scripts/optimization/pqpnonneg.m scripts/optimization/sqp.m scripts/plot/appearance/annotation.m scripts/plot/appearance/lighting.m scripts/plot/appearance/shading.m scripts/plot/draw/area.m scripts/plot/draw/compass.m scripts/plot/draw/contourc.m scripts/plot/draw/feather.m scripts/plot/draw/fplot.m scripts/plot/draw/hist.m scripts/plot/draw/isocaps.m scripts/plot/draw/isocolors.m scripts/plot/draw/isonormals.m scripts/plot/draw/isosurface.m scripts/plot/draw/ostreamtube.m scripts/plot/draw/pie.m scripts/plot/draw/pie3.m scripts/plot/draw/reducepatch.m scripts/plot/draw/reducevolume.m scripts/plot/draw/rose.m scripts/plot/draw/smooth3.m scripts/plot/draw/stairs.m scripts/plot/draw/stem.m scripts/plot/draw/stem3.m scripts/plot/draw/stream2.m scripts/plot/draw/stream3.m scripts/plot/draw/streamline.m scripts/plot/draw/streamribbon.m scripts/plot/draw/streamtube.m scripts/plot/draw/surfnorm.m scripts/plot/draw/trimesh.m scripts/plot/draw/trisurf.m scripts/plot/util/colstyle.m scripts/plot/util/hgload.m scripts/plot/util/linkprop.m scripts/plot/util/meshgrid.m scripts/plot/util/ndgrid.m scripts/polynomial/padecoef.m scripts/polynomial/polyfit.m scripts/polynomial/polyval.m scripts/polynomial/unmkpp.m scripts/profiler/profexport.m scripts/set/ismember.m scripts/set/unique.m scripts/signal/movfun.m scripts/signal/movslice.m scripts/signal/periodogram.m scripts/signal/sinc.m scripts/sparse/spdiags.m scripts/sparse/sprandsym.m scripts/specfun/betaincinv.m scripts/specfun/ellipke.m scripts/specfun/factor.m scripts/specfun/gammainc.m scripts/specfun/gammaincinv.m scripts/specfun/isprime.m scripts/specfun/lcm.m scripts/special-matrix/gallery.m scripts/special-matrix/hadamard.m scripts/statistics/bounds.m scripts/statistics/corrcoef.m scripts/statistics/discrete_rnd.m scripts/statistics/empirical_rnd.m scripts/statistics/histc.m scripts/statistics/mode.m scripts/statistics/movmad.m scripts/statistics/movmax.m scripts/statistics/movmean.m scripts/statistics/movmedian.m scripts/statistics/movmin.m scripts/statistics/movprod.m scripts/statistics/movstd.m scripts/statistics/movsum.m scripts/statistics/movvar.m scripts/statistics/ranks.m scripts/statistics/runlength.m scripts/statistics/zscore.m scripts/strings/str2num.m scripts/strings/strchr.m scripts/strings/strsplit.m scripts/strings/strtok.m scripts/strings/untabify.m scripts/testfun/assert.m scripts/testfun/demo.m scripts/testfun/example.m scripts/testfun/speed.m scripts/testfun/test.m scripts/time/datenum.m scripts/time/datevec.m scripts/web/webread.m scripts/web/webwrite.m
diffstat 201 files changed, 386 insertions(+), 431 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/elfun/acosd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acosd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -42,4 +42,4 @@
 
 %!assert (acosd (0:0.1:1), 180/pi * acos (0:0.1:1), -10*eps)
 
-%!error acosd ()
+%!error <Invalid call> acosd ()
--- a/scripts/elfun/acot.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acot.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! v = [pi/6, pi/4, pi/3, pi/2, -pi/3, -pi/4, -pi/6];
 %! assert (acot (x), v, sqrt (eps));
 
-%!error acot ()
+%!error <Invalid call> acot ()
--- a/scripts/elfun/acotd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acotd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -42,4 +42,4 @@
 
 %!assert (acotd (0:10:90), 180/pi * acot (0:10:90), -10*eps)
 
-%!error acotd ()
+%!error <Invalid call> acotd ()
--- a/scripts/elfun/acoth.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acoth.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! x = i*[rt3, 1, rt3/3, -rt3/3, -1, -rt3];
 %! assert (acoth (x), v, sqrt (eps));
 
-%!error acoth ()
+%!error <Invalid call> acoth ()
--- a/scripts/elfun/acsc.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acsc.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! x = [2, rt2, 2*rt3/3, 1, 2*rt3/3, rt2, 2];
 %! assert (acsc (x), v, sqrt (eps));
 
-%!error acsc ()
+%!error <Invalid call> acsc ()
--- a/scripts/elfun/acscd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acscd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -42,4 +42,4 @@
 
 %!assert (acscd (0:10:90), 180/pi * acsc (0:10:90), -10*eps)
 
-%!error acscd ()
+%!error <Invalid call> acscd ()
--- a/scripts/elfun/acsch.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/acsch.m	Sun Oct 11 21:59:35 2020 -0700
@@ -45,4 +45,4 @@
 %! x = [-i, i];
 %! assert (acsch (x), v, sqrt (eps));
 
-%!error acsch ()
+%!error <Invalid call> acsch ()
--- a/scripts/elfun/asec.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/asec.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! x = [1, 2*rt3/3, rt2, 2, -2, -rt2, -2*rt3/3, -1];
 %! assert (asec (x), v, sqrt (eps));
 
-%!error asec ()
+%!error <Invalid call> asec ()
--- a/scripts/elfun/asecd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/asecd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -42,4 +42,4 @@
 
 %!assert (asecd (0:10:90), 180/pi * asec (0:10:90), -10*eps)
 
-%!error asecd ()
+%!error <Invalid call> asecd ()
--- a/scripts/elfun/asech.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/asech.m	Sun Oct 11 21:59:35 2020 -0700
@@ -53,4 +53,4 @@
 %! x = [1, -1];
 %! assert (asech (x), v, sqrt (eps));
 
-%!error asech ()
+%!error <Invalid call> asech ()
--- a/scripts/elfun/asind.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/asind.m	Sun Oct 11 21:59:35 2020 -0700
@@ -42,4 +42,4 @@
 
 %!assert (asind (0:0.1:1), 180/pi * asin (0:0.1:1), -10*eps)
 
-%!error asind ()
+%!error <Invalid call> asind ()
--- a/scripts/elfun/atand.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/atand.m	Sun Oct 11 21:59:35 2020 -0700
@@ -42,4 +42,4 @@
 
 %!assert (atand (0:10:90), 180/pi * atan (0:10:90), -10*eps)
 
-%!error atand ()
+%!error <Invalid call> atand ()
--- a/scripts/elfun/cosd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/cosd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -49,4 +49,4 @@
 %!assert (cosd ([0, 180, 360]) != 0)
 %!assert (cosd ([90, 270]) == 0)
 
-%!error cosd ()
+%!error <Invalid call> cosd ()
--- a/scripts/elfun/cot.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/cot.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! v = [rt3, 1, rt3/3, 0, -rt3/3, -1, -rt3];
 %! assert (cot (x), v, sqrt (eps));
 
-%!error cot ()
+%!error <Invalid call> cot ()
--- a/scripts/elfun/cotd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/cotd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -44,4 +44,4 @@
 %!assert (cotd ([0, 180, 360]) == Inf)
 %!assert (cotd ([90, 270]) == 0)
 
-%!error cotd ()
+%!error <Invalid call> cotd ()
--- a/scripts/elfun/coth.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/coth.m	Sun Oct 11 21:59:35 2020 -0700
@@ -45,4 +45,4 @@
 %! v = [0, 0];
 %! assert (coth (x), v, sqrt (eps));
 
-%!error coth ()
+%!error <Invalid call> coth ()
--- a/scripts/elfun/csc.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/csc.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! v = [2, rt2, 2*rt3/3, 1, 2*rt3/3, rt2, 2];
 %! assert (csc (x), v, sqrt (eps));
 
-%!error csc ()
+%!error <Invalid call> csc ()
--- a/scripts/elfun/cscd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/cscd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -44,4 +44,4 @@
 %!assert (cscd ([0, 180, 360]) == Inf)
 %!assert (cscd ([90, 270]) != Inf)
 
-%!error cscd ()
+%!error <Invalid call> cscd ()
--- a/scripts/elfun/csch.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/csch.m	Sun Oct 11 21:59:35 2020 -0700
@@ -45,4 +45,4 @@
 %! v = [-i, i];
 %! assert (csch (x), v, sqrt (eps));
 
-%!error csch ()
+%!error <Invalid call> csch ()
--- a/scripts/elfun/sec.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/sec.m	Sun Oct 11 21:59:35 2020 -0700
@@ -47,4 +47,4 @@
 %! v = [1, 2*rt3/3, rt2, 2, -2, -rt2, -2*rt3/3, -1];
 %! assert (sec (x), v, sqrt (eps));
 
-%!error sec ()
+%!error <Invalid call> sec ()
--- a/scripts/elfun/secd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/secd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -44,4 +44,4 @@
 %!assert (secd ([0, 180, 360]) != Inf)
 %!assert (secd ([90, 270]) == Inf)
 
-%!error secd ()
+%!error <Invalid call> secd ()
--- a/scripts/elfun/sech.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/sech.m	Sun Oct 11 21:59:35 2020 -0700
@@ -45,4 +45,4 @@
 %! v = [1, -1];
 %! assert (sech (x), v, sqrt (eps));
 
-%!error sech ()
+%!error <Invalid call> sech ()
--- a/scripts/elfun/sind.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/sind.m	Sun Oct 11 21:59:35 2020 -0700
@@ -48,4 +48,4 @@
 %!assert (sind ([0, 180, 360]) == 0)
 %!assert (sind ([90, 270]) != 0)
 
-%!error sind ()
+%!error <Invalid call> sind ()
--- a/scripts/elfun/tand.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/elfun/tand.m	Sun Oct 11 21:59:35 2020 -0700
@@ -51,4 +51,4 @@
 %!assert (tand ([0, 180, 360]) == 0)
 %!assert (tand ([90, 270]) == Inf)
 
-%!error tand ()
+%!error <Invalid call> tand ()
--- a/scripts/general/cart2pol.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/cart2pol.m	Sun Oct 11 21:59:35 2020 -0700
@@ -230,7 +230,7 @@
 %! assert (z, Z);
 
 ## Test input validation
-%!error cart2pol ()
+%!error <Invalid call> cart2pol ()
 %!error cart2pol (1,2,3,4)
 %!error <matrix input must be 2-D numeric array> cart2pol ({1,2,3})
 %!error <matrix input must be 2-D numeric array> cart2pol (ones (3,3,2))
--- a/scripts/general/cart2sph.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/cart2sph.m	Sun Oct 11 21:59:35 2020 -0700
@@ -189,9 +189,8 @@
 %! assert (r, R, eps);
 
 ## Test input validation
-%!error cart2sph ()
-%!error cart2sph (1,2)
-%!error cart2sph (1,2,3,4)
+%!error <Invalid call> cart2sph ()
+%!error <Invalid call> cart2sph (1,2)
 %!error <matrix input C must be a 2-D numeric array> cart2sph ({1,2,3})
 %!error <matrix input C must be a 2-D numeric array> cart2sph (ones (3,3,2))
 %!error <matrix input C must be a 3-element> cart2sph ([1,2,3,4])
--- a/scripts/general/celldisp.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/celldisp.m	Sun Oct 11 21:59:35 2020 -0700
@@ -98,6 +98,6 @@
 %! celldisp (c, "b")
 
 ## Test input validation
-%!error celldisp ()
+%!error <Invalid call> celldisp ()
 %!error celldisp ({}, "name", 1)
 %!error <C must be a cell array> celldisp (1)
--- a/scripts/general/common_size.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/common_size.m	Sun Oct 11 21:59:35 2020 -0700
@@ -99,5 +99,6 @@
 %! assert (b, []);
 %! assert (c, 5);
 
-%!error common_size ()
-%!error common_size (1)
+## Test input validation
+%!error <only makes sense if nargin .= 2> common_size ()
+%!error <only makes sense if nargin .= 2> common_size (1)
--- a/scripts/general/deal.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/deal.m	Sun Oct 11 21:59:35 2020 -0700
@@ -106,5 +106,6 @@
 %! assert (a, 1);
 %! assert (b, 1);
 
-%!error deal ()
+## Test input validation
+%!error <Invalid call> deal ()
 %!error <nargin . 1 and nargin != nargout> y = deal (1, 2)
--- a/scripts/general/del2.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/del2.m	Sun Oct 11 21:59:35 2020 -0700
@@ -334,8 +334,8 @@
 %! L = 4*del2 (U, x);
 
 ## Test input validation
-%!error del2 ()
-%!error del2 (1, 1, 2, 3)
+%!error <Invalid call> del2 ()
+%!error <Invalid call> del2 (1, 1, 2, 3)
 %!error <in spacing vector 1> del2 (1, 2, [1 1])
 %!error <in spacing vector 2> del2 (1, [1 1], 2)
 %!error <must be a scalar or vector> del2 (1, ones (2,2), 2)
--- a/scripts/general/fliplr.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/fliplr.m	Sun Oct 11 21:59:35 2020 -0700
@@ -46,6 +46,7 @@
   if (nargin < 1)
     print_usage ();
   endif
+
   y = flip (x, 2);
 
 endfunction
@@ -79,4 +80,4 @@
 %! assert (fliplr (a), a);
 
 ## Test input validation
-%!error fliplr ()
+%!error <Invalid call> fliplr ()
--- a/scripts/general/integral2.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/integral2.m	Sun Oct 11 21:59:35 2020 -0700
@@ -303,12 +303,12 @@
 %!assert (integral2 (@plus, 1, 2, 3, 4, "method", "iterated"), 5, 1e-10)
 
 ## Test input validation
-%!error integral2 ()
-%!error integral2 (@plus)
-%!error integral2 (@plus, 1)
-%!error integral2 (@plus, 1, 2)
-%!error integral2 (@plus, 1, 2, 3)
-%!error integral2 (@plus, 1, 2, 3, 4, "foo")
+%!error <Invalid call> integral2 ()
+%!error <Invalid call> integral2 (@plus)
+%!error <Invalid call> integral2 (@plus, 1)
+%!error <Invalid call> integral2 (@plus, 1, 2)
+%!error <Invalid call> integral2 (@plus, 1, 2, 3)
+%!error <Invalid call> integral2 (@plus, 1, 2, 3, 4, "foo")
 %!error integral2 (0, 1, 2, 3, 4)          # f must be function handle
 %!error integral2 (@plus, 1i, 2, 3, 4)     # real limits
 %!error integral2 (@plus, 1, 2i, 3, 4)     # real limits
--- a/scripts/general/interp1.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/interp1.m	Sun Oct 11 21:59:35 2020 -0700
@@ -778,8 +778,9 @@
 %!assert (interp1 ([1,2,2,3,4],[0,1,4,2,1],[-1,1.5,2,2.5,3.5], "linear", "extrap", "left"), [-2,0.5,1,3,1.5])
 
 ## Test input validation
-%!error interp1 ()
-%!error interp1 (1,2,3,4,5,6,7)
+%!error <Invalid call> interp1 ()
+%!error <Invalid call> interp1 (1)
+%!error <Invalid call> interp1 (1,2,3,4,5,6,7)
 %!error <minimum of 2 points required> interp1 (1,1,1, "linear")
 %!error <minimum of 2 points required> interp1 (1,1,1, "*nearest")
 %!error <minimum of 2 points required> interp1 (1,1,1, "*linear")
--- a/scripts/general/isequal.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/isequal.m	Sun Oct 11 21:59:35 2020 -0700
@@ -545,5 +545,5 @@
 %!assert (isequal (sparse (1), sparse (1)), sparse (1), true)
 
 ## test input validation
-%!error isequal ()
-%!error isequal (1)
+%!error <Invalid call> isequal ()
+%!error <Invalid call> isequal (1)
--- a/scripts/general/isequaln.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/isequaln.m	Sun Oct 11 21:59:35 2020 -0700
@@ -318,5 +318,5 @@
 %!assert (isequaln (st, st, st), true)
 
 ## Input validation
-%!error isequaln ()
-%!error isequaln (1)
+%!error <Invalid call> isequaln ()
+%!error <Invalid call> isequaln (1)
--- a/scripts/general/nextpow2.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/nextpow2.m	Sun Oct 11 21:59:35 2020 -0700
@@ -73,6 +73,5 @@
 %!assert (nextpow2 ([1, Inf, 3, -Inf, 9, NaN]), [0, Inf, 2, Inf, 4, NaN])
 
 ## Test input validation
-%!error nexpow2 ()
-%!error nexpow2 (1, 2)
+%!error <Invalid call> nextpow2 ()
 %!error <X must be numeric> nextpow2 ("t")
--- a/scripts/general/pol2cart.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/pol2cart.m	Sun Oct 11 21:59:35 2020 -0700
@@ -235,8 +235,7 @@
 %! assert (z, Z);
 
 ## Test input validation
-%!error pol2cart ()
-%!error pol2cart (1,2,3,4)
+%!error <Invalid call> pol2cart ()
 %!error <matrix input P must be 2-D numeric array> pol2cart ({1,2,3})
 %!error <matrix input P must be 2-D numeric array> pol2cart (ones (3,3,2))
 %!error <matrix input must be a 2- or 3-element> pol2cart ([1])
--- a/scripts/general/quad2d.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/quad2d.m	Sun Oct 11 21:59:35 2020 -0700
@@ -437,12 +437,12 @@
 %!assert (quad2d (@plus, 1, 2, 3, 4), 5, 1e-10)
 
 ## Test input validation
-%!error quad2d ()
-%!error quad2d (@plus)
-%!error quad2d (@plus, 1)
-%!error quad2d (@plus, 1, 2)
-%!error quad2d (@plus, 1, 2, 3)
-%!error quad2d (@plus, 1, 2, 3, 4, "foo")
+%!error <Invalid call> quad2d ()
+%!error <Invalid call> quad2d (@plus)
+%!error <Invalid call> quad2d (@plus, 1)
+%!error <Invalid call> quad2d (@plus, 1, 2)
+%!error <Invalid call> quad2d (@plus, 1, 2, 3)
+%!error <Invalid call> quad2d (@plus, 1, 2, 3, 4, "foo")
 %!error quad2d (0, 1, 2, 3, 4)          # f must be function handle
 %!error quad2d (@plus, 1i, 2, 3, 4)     # real limits
 %!error quad2d (@plus, 1, 2i, 3, 4)     # real limits
--- a/scripts/general/quadl.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/quadl.m	Sun Oct 11 21:59:35 2020 -0700
@@ -200,8 +200,8 @@
 %! assert (class (quadl (@sin, 0, single (1))), "single");
 
 ## Test input validation
-%!error quadl ()
-%!error quadl (@sin)
-%!error quadl (@sin,1)
+%!error <Invalid call> quadl ()
+%!error <Invalid call> quadl (@sin)
+%!error <Invalid call> quadl (@sin,1)
 %!error <TOL must be a scalar> quadl (@sin,0,1, ones (2,2))
 %!error <TOL must be .* .=0> quadl (@sin,0,1, -1)
--- a/scripts/general/quadv.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/quadv.m	Sun Oct 11 21:59:35 2020 -0700
@@ -223,8 +223,8 @@
 %!assert <*57603> (quadv (@(t) sin (t) .^ 2, 0, 8*pi), 4*pi, 1e-6)
 
 ## Test input validation
-%!error quadv ()
-%!error quadv (@sin)
-%!error quadv (@sin,1)
+%!error <Invalid call> quadv ()
+%!error <Invalid call> quadv (@sin)
+%!error <Invalid call> quadv (@sin,1)
 %!error <TOL must be a scalar> quadv (@sin,0,1, ones (2,2))
 %!error <TOL must be .* .=0> quadv (@sin,0,1, -1)
--- a/scripts/general/randi.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/randi.m	Sun Oct 11 21:59:35 2020 -0700
@@ -220,7 +220,7 @@
 
 
 ## Test input validation
-%!error randi ()
+%!error <Invalid call> randi ()
 %!error <must be integer bounds> randi ("test")
 %!error <must be integer bounds> randi (struct ("a", 1))
 %!error <must be integer bounds> randi (1.5)
--- a/scripts/general/rat.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/rat.m	Sun Oct 11 21:59:35 2020 -0700
@@ -223,8 +223,7 @@
 %!assert <*43374> (eval (rat (0.75)), [0.75])
 
 ## Test input validation
-%!error rat ()
-%!error rat (1, 2, 3)
+%!error <Invalid call> rat ()
 %!error <X must be a single or double array> rat (int8 (3))
 %!error <X must be a real, not complex, array> rat (1+1i)
 %!error <TOL must be a numeric scalar> rat (1, "a")
--- a/scripts/general/repelem.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/repelem.m	Sun Oct 11 21:59:35 2020 -0700
@@ -176,7 +176,7 @@
 
 function retval = repelem (x, varargin)
 
-  if (nargin <= 1)
+  if (nargin < 2)
     print_usage ();
 
   elseif (nargin == 2)
@@ -344,7 +344,7 @@
 
 ## nargin == 2 tests
 %!assert (repelem ([-1 0 1], 2), [-1 -1 0 0 1 1])
-%!assert (repelem ([-1 0 1]', 2), [-1; -1; 0; 0; 1; 1;])
+%!assert (repelem ([-1 0 1]', 2), [-1; -1; 0; 0; 1; 1])
 %!assert (repelem ([-1 0 1], [1 2 1]), [-1 0 0 1])
 %!assert (repelem ([-1 0 1]', [1 2 1]), [-1; 0; 0; 1])
 %!assert (repelem ([1 2 3 4 5]', [2 1 0 1 2]), [1 1 2 4 5 5]')
@@ -438,34 +438,33 @@
 %! assert (repelem (11:13, [1 3 0]), [11 12 12 12]);
 
 ## nargin <= 1 error tests
-%!error (repelem ());
-%!error (repelem ([]));
-%!error (repelem (5));
-%!error (repelem (5,[]));
-%!error (repelem ([1 2 3 3 2 1]));
-%!error (repelem ([1 2 3; 3 2 1]));
+%!error <Invalid call> repelem ()
+%!error <Invalid call> repelem (1)
+%!error repelem (5,[])
+%!error repelem ([1 2 3 3 2 1])
+%!error repelem ([1 2 3; 3 2 1])
 
 ## nargin == 2 error tests
-%!error (repelem ([1 2 3; 3 2 1],[]));
-%!error (repelem ([1 2 3; 3 2 1],2));
-%!error (repelem ([1 2 3; 3 2 1],2));
-%!error (repelem ([1 2 3; 3 2 1],[1 2 3]));
-%!error (repelem ([1 2 3; 3 2 1],[1 2 3]'));
-%!error (repelem ([1 2 3; 3 2 1],[1 2 2 1]));
-%!error (repelem ([1 2 3; 3 2 1],[1 2 3;4 5 6]));
-%!error (repelem ([1 2 3 4 5],[1 2 3 4 5;1 2 3 4 5]));
+%!error repelem ([1 2 3; 3 2 1],[])
+%!error repelem ([1 2 3; 3 2 1],2)
+%!error repelem ([1 2 3; 3 2 1],2)
+%!error repelem ([1 2 3; 3 2 1],[1 2 3])
+%!error repelem ([1 2 3; 3 2 1],[1 2 3]')
+%!error repelem ([1 2 3; 3 2 1],[1 2 2 1])
+%!error repelem ([1 2 3; 3 2 1],[1 2 3;4 5 6])
+%!error repelem ([1 2 3 4 5],[1 2 3 4 5;1 2 3 4 5])
 
 ## nargin == 3 error tests
-%!error (repelem ([1 2 3; 3 2 1], 1, [1 2;1 2]));
-%!error (repelem ([1 2 3; 3 2 1], 1, [1 2]));
-%!error (repelem ([1 2 3; 3 2 1], 2, []));
-%!error (repelem ([1 2 3; 3 2 1], [1 2 3], [1 2 3]));
-%!error (repelem ([1 2 3; 3 2 1], [1 2 3], [1 2 3 4]));
-%!error (repelem ([1 2 3; 3 2 1], [1 2], [1 2 3 4]));
+%!error repelem ([1 2 3; 3 2 1], 1, [1 2;1 2])
+%!error repelem ([1 2 3; 3 2 1], 1, [1 2])
+%!error repelem ([1 2 3; 3 2 1], 2, [])
+%!error repelem ([1 2 3; 3 2 1], [1 2 3], [1 2 3])
+%!error repelem ([1 2 3; 3 2 1], [1 2 3], [1 2 3 4])
+%!error repelem ([1 2 3; 3 2 1], [1 2], [1 2 3 4])
 
 ## nargin > 3 error tests
-%!error (repelem ([1 2 3; 3 2 1], 1, [1 2;1 2],1,2,3));
-%!error (repelem ([1 2 3; 3 2 1], [],1,2,3));
-%!error (repelem ([1 2 3; 3 2 1], [1 2], [1 2 3],1,2,[1 2;1 2]));
-%!error (repelem ([1 2 3; 3 2 1], [1 2 3], [1 2 3],1,2));
-%!error (repelem ([1 2 3; 3 2 1], [1 2], [1 2 3 4],1,2));
+%!error repelem ([1 2 3; 3 2 1], 1, [1 2;1 2],1,2,3)
+%!error repelem ([1 2 3; 3 2 1], [],1,2,3)
+%!error repelem ([1 2 3; 3 2 1], [1 2], [1 2 3],1,2,[1 2;1 2])
+%!error repelem ([1 2 3; 3 2 1], [1 2 3], [1 2 3],1,2)
+%!error repelem ([1 2 3; 3 2 1], [1 2], [1 2 3 4],1,2)
--- a/scripts/general/rescale.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/rescale.m	Sun Oct 11 21:59:35 2020 -0700
@@ -162,11 +162,11 @@
 %!assert (class (rescale (logical ([0, 1]))), "double")
 
 ## Test input validation
-%!error rescale ()
-%!error rescale (1, 2)
-%!error rescale (1, 2, 3, 4)
-%!error rescale (1, 2, 3, 4, 5, 6)
-%!error rescale (1, 2, 3, 4, 5, 6, 7, 8)
+%!error <Invalid call> rescale ()
+%!error <Invalid call> rescale (1, 2)
+%!error <Invalid call> rescale (1, 2, 3, 4)
+%!error <Invalid call> rescale (1, 2, 3, 4, 5, 6)
+%!error <Invalid call> rescale (1, 2, 3, 4, 5, 6, 7, 8)
 %!error <A must be a numeric or logical matrix> rescale ("abc")
 %!error <A must be a numeric or logical matrix> rescale ({ [1] })
 %!error <U must be numeric> rescale (1, 0, "A")
--- a/scripts/general/shiftdim.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/shiftdim.m	Sun Oct 11 21:59:35 2020 -0700
@@ -104,7 +104,6 @@
 %!assert (size (shiftdim (rand (0, 1, 2))), [0 1 2])
 
 ## Test input validation
-%!error (shiftdim ())
-%!error (shiftdim (1,2,3))
-%!error (shiftdim (1, ones (2)))
-%!error (shiftdim (1, 1.5))
+%!error <Invalid call> shiftdim ()
+%!error shiftdim (1, ones (2))
+%!error shiftdim (1, 1.5)
--- a/scripts/general/sortrows.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/sortrows.m	Sun Oct 11 21:59:35 2020 -0700
@@ -159,8 +159,7 @@
 %! assert (C2, flipud (C));
 
 ## Test input validation
-%!error sortrows ()
-%!error sortrows (1, 2, 3)
+%!error <Invalid call> sortrows ()
 %!error sortrows (1, "ascend")
 %!error sortrows (1, ones (2,2))
 %!error sortrows (1, 0)
--- a/scripts/general/sph2cart.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/sph2cart.m	Sun Oct 11 21:59:35 2020 -0700
@@ -189,9 +189,8 @@
 %! assert (z, Z);
 
 ## Test input validation
-%!error sph2cart ()
-%!error sph2cart (1,2)
-%!error sph2cart (1,2,3,4)
+%!error <Invalid call> sph2cart ()
+%!error <Invalid call> sph2cart (1,2)
 %!error <matrix input must be a 2-D numeric array> sph2cart ({1,2,3})
 %!error <matrix input must be a 2-D numeric array> sph2cart (ones (3,3,2))
 %!error <matrix input must be a 3-element> sph2cart ([1,2,3,4])
--- a/scripts/general/xor.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/general/xor.m	Sun Oct 11 21:59:35 2020 -0700
@@ -98,6 +98,6 @@
 %!assert (xor ([1 0], [1 1], [0 0]), logical ([0 1]))
 
 ## Test input validation
-%!error xor ()
-%!error xor (1)
+%!error <Invalid call> xor ()
+%!error <Invalid call> xor (1)
 %!error <X and Y must be of compatible size> xor (ones (3,2), ones (2,3))
--- a/scripts/geometry/convhull.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/convhull.m	Sun Oct 11 21:59:35 2020 -0700
@@ -193,8 +193,8 @@
 %! assert (V == 2);
 
 ## Input validation tests
-%!error convhull ()
-%!error convhull (1,2,3,4,5)
+%!error <Invalid call> convhull ()
+%!error <Invalid call> convhull (1,2,3,4,5)
 %!error <X must be a matrix with 2 or 3 columns> convhull (ones (2,4))
 %!error <OPTIONS must be a string or cell array> convhull (ones (2,2), struct())
 %!error <X must be a matrix with 2 or 3 columns> convhull (ones (2,4), "")
--- a/scripts/geometry/delaunay.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/delaunay.m	Sun Oct 11 21:59:35 2020 -0700
@@ -209,8 +209,8 @@
 %! assert (sortrows (sort (delaunay (x, y, z), 2)), [1,2,3,4;1,2,4,5]);
 
 ## Input validation tests
-%!error delaunay ()
-%!error delaunay (1,2,3,4,5)
+%!error <Invalid call> delaunay ()
+%!error <Invalid call> delaunay (1,2,3,4,5)
 %!error <X must be a matrix with 2 or 3 columns> delaunay (ones (2,4))
 %!error <OPTIONS must be a string or cell array> delaunay (ones (2,2), struct())
 %!error <X must be a matrix with 2 or 3 columns> delaunay (ones (2,4), "")
--- a/scripts/geometry/delaunayn.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/delaunayn.m	Sun Oct 11 21:59:35 2020 -0700
@@ -135,4 +135,4 @@
 ## FIXME: Need tests for delaunayn
 
 ## Input validation tests
-%!error delaunayn ()
+%!error <Invalid call> delaunayn ()
--- a/scripts/geometry/griddata.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/griddata.m	Sun Oct 11 21:59:35 2020 -0700
@@ -330,11 +330,11 @@
 %! assert (zz, zz2, 100*eps);
 
 ## Test input validation
-%!error griddata ()
-%!error griddata (1)
-%!error griddata (1,2)
-%!error griddata (1,2,3)
-%!error griddata (1,2,3,4)
+%!error <Invalid call> griddata ()
+%!error <Invalid call> griddata (1)
+%!error <Invalid call> griddata (1,2)
+%!error <Invalid call> griddata (1,2,3)
+%!error <Invalid call> griddata (1,2,3,4)
 %!error <only one output argument> [xi,yi] = griddata (1,2,3,4,5,6,7)
 %!error <vectors of the same length> griddata (1:4, 1:3, 1:3, 1:3, 1:3)
 %!error <vectors of the same length> griddata (1:3, 1:4, 1:3, 1:3, 1:3)
--- a/scripts/geometry/griddatan.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/griddatan.m	Sun Oct 11 21:59:35 2020 -0700
@@ -185,9 +185,9 @@
 %! yi = griddatan (x, y, xi);
 
 ## Test input validation
-%!error griddatan ()
-%!error griddatan (1)
-%!error griddatan (1,2)
+%!error <Invalid call> griddatan ()
+%!error <Invalid call> griddatan (1)
+%!error <Invalid call> griddatan (1,2)
 %!error <number of points in X> griddatan (1,2,3)
 %!error <Y must be a column vector> griddatan ([1;2],[3,4], 1)
 %!error <Y must .* same number of points .* as X> griddatan ([1;2],[3;4;5], 1)
--- a/scripts/geometry/inpolygon.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/inpolygon.m	Sun Oct 11 21:59:35 2020 -0700
@@ -158,10 +158,9 @@
 %! assert (on, ON);
 
 ## Test input validation
-%!error inpolygon ()
-%!error inpolygon (1, 2)
-%!error inpolygon (1, 2, 3)
-%!error inpolygon (1, 2, 3, 4, 5)
+%!error <Invalid call> inpolygon ()
+%!error <Invalid call> inpolygon (1, 2)
+%!error <Invalid call> inpolygon (1, 2, 3)
 %!error <X and Y must be real> inpolygon (1i, 1, [3, 4], [5, 6])
 %!error <X and Y must be real> inpolygon (1, {1}, [3, 4], [5, 6])
 %!error <X and Y must be .* the same size> inpolygon (1, [1,2], [3, 4], [5, 6])
--- a/scripts/geometry/voronoi.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/voronoi.m	Sun Oct 11 21:59:35 2020 -0700
@@ -224,7 +224,7 @@
 
 
 ## Input validation tests
-%!error voronoi ()
+%!error <Invalid call> voronoi ()
 %!error voronoi (ones (3,1))
 %!error voronoi (ones (3,1), ones (3,1), "invalid1", "invalid2", "invalid3")
 %!error <HAX argument must be an axes object> voronoi (0, ones (3,1), ones (3,1))
--- a/scripts/geometry/voronoin.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/geometry/voronoin.m	Sun Oct 11 21:59:35 2020 -0700
@@ -80,6 +80,5 @@
 
 ## FIXME: Need functional tests
 
-%!error voronoin ()
-%!error voronoin (1,2,3)
+%!error <Invalid call> voronoin ()
 %!error <number of points must be greater than their dimension> voronoin ([1 2])
--- a/scripts/gui/listdlg.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/gui/listdlg.m	Sun Oct 11 21:59:35 2020 -0700
@@ -200,7 +200,8 @@
 %! endfor
 
 ## Test input validation
-%!error listdlg ()
+%!error <Invalid call> listdlg ()
+%!error <Invalid call> listdlg (1)
 %!error listdlg ("SelectionMode")
 %!error <must occur in pairs> listdlg ("SelectionMode", "multiple", "Name")
 %!error <invalid KEY .FooBar.> listdlg ("FooBar", 1)
--- a/scripts/gui/msgbox.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/gui/msgbox.m	Sun Oct 11 21:59:35 2020 -0700
@@ -359,7 +359,7 @@
 %!         "Dialog Title", "custom", cdata, copper (64));
 
 ## Test input validation
-%!error msgbox ()
+%!error <Invalid call> msgbox ()
 %!error <MSG must be a string or cell array of strings> msgbox (1)
 %!error <invalid value "foobar" for WindowStyle>
 %! msgbox ("msg", struct ("WindowStyle", "foobar"))
--- a/scripts/gui/questdlg.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/gui/questdlg.m	Sun Oct 11 21:59:35 2020 -0700
@@ -186,8 +186,8 @@
 %! endif
 
 ## Test input validation
-%!error questdlg ()
-%!error questdlg (1,2,3,4,5,6,7)
+%!error <Invalid call> questdlg ()
+%!error <Invalid call> questdlg (1,2,3,4,5,6,7)
 %!error <MSG must be a character string or cellstr array> questdlg (1)
 %!error <TITLE must be a character string> questdlg ("msg", 1)
 %!error <DEFAULT must match one of the button> questdlg ("msg", "title", "ABC")
--- a/scripts/gui/rmappdata.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/gui/rmappdata.m	Sun Oct 11 21:59:35 2020 -0700
@@ -78,8 +78,8 @@
 %! assert (isappdata (0, "%data2%"), false);
 
 ## Test input validation
-%!error rmappdata ()
-%!error rmappdata (1)
+%!error <Invalid call> rmappdata ()
+%!error <Invalid call> rmappdata (1)
 %!error <H must be a scalar .* graphic handle> rmappdata (-1, "hello")
 %!error <NAME must be a string> rmappdata (0, 1)
 %!error <appdata 'foobar' is not present> rmappdata (0, "foobar")
--- a/scripts/gui/setappdata.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/gui/setappdata.m	Sun Oct 11 21:59:35 2020 -0700
@@ -127,9 +127,9 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error setappdata ()
-%!error setappdata (0)
-%!error setappdata (0, "name")
+%!error <Invalid call> setappdata ()
+%!error <Invalid call> setappdata (0)
+%!error <Invalid call> setappdata (0, "name")
 %!error <H must be a scalar .* graphic handle> setappdata (-1, "foo", "bar")
 %!error <NAME/VALUE arguments must occur in pairs> setappdata (0, "1", 2, "3")
 %!error <only 3 arguments possible> setappdata (0, {"1"}, 2, "3", 4)
--- a/scripts/help/__gripe_missing_component__.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/help/__gripe_missing_component__.m	Sun Oct 11 21:59:35 2020 -0700
@@ -71,6 +71,4 @@
 %!error <abc: .*> __gripe_missing_component__ ("abc", "xyz")
 
 %!error <Invalid call> __gripe_missing_component__ ()
-%!error __gripe_missing_component__ ()
-%!error __gripe_missing_component__ ("fcn")
-%!error __gripe_missing_component__ ("fcn", 1 , 2)
+%!error <Invalid call> __gripe_missing_component__ ("fcn")
--- a/scripts/help/get_first_help_sentence.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/help/get_first_help_sentence.m	Sun Oct 11 21:59:35 2020 -0700
@@ -182,8 +182,7 @@
 %!        "Return the first sentence...")
 
 ## Test input validation
-%!error get_first_help_sentence ()
-%!error get_first_help_sentence (1, 2, 3)
+%!error <Invalid call> get_first_help_sentence ()
 %!error <NAME must be a string> get_first_help_sentence (1)
 %!error <MAX_LEN must be positive integer> get_first_help_sentence ("ls", "a")
 %!error <MAX_LEN must be positive integer> get_first_help_sentence ("ls", 0)
--- a/scripts/help/type.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/help/type.m	Sun Oct 11 21:59:35 2020 -0700
@@ -155,5 +155,5 @@
 %!assert (type ("+"){1}, "+ is an operator")
 %!assert (type ("end"){1}, "end is a keyword")
 
-%!error type ()
+%!error <Invalid call> type ()
 %!error <'__NO_NAME__' undefined> type ('__NO_NAME__')
--- a/scripts/help/which.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/help/which.m	Sun Oct 11 21:59:35 2020 -0700
@@ -113,6 +113,6 @@
 %! str = which ("fftw");
 %! assert (str(end-7:end), "fftw.oct");
 
-%!error which ()
-%!error which (1)
+%!error <Invalid call> which ()
+%!error <Invalid call> which (1)
 
--- a/scripts/image/cmpermute.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/cmpermute.m	Sun Oct 11 21:59:35 2020 -0700
@@ -131,8 +131,8 @@
 %! assert (X, max (Y(:)) + 1 - Y);
 
 ## Test input validation
-%!error cmpermute ()
-%!error cmpermute (1,2,3,4)
+%!error <Invalid call> cmpermute ()
+%!error <Invalid call> cmpermute (1)
 %!error <invalid data type 'uint32'> cmpermute (uint32 (magic (16)), jet (256))
 %!error <X must be an indexed image> cmpermute (1+i, jet (256))
 %!error <X must be an indexed image> cmpermute (sparse (1), jet (256))
--- a/scripts/image/cmunique.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/cmunique.m	Sun Oct 11 21:59:35 2020 -0700
@@ -193,8 +193,7 @@
 %! assert (Id, newmap(:,3)(Y+1));
 
 ## Test input validation
-%!error cmpermute ()
-%!error cmpermute (1,2,3)
+%!error <Invalid call> cmunique ()
 %!error <X is of invalid data type> cmunique (uint32 (magic (16)))
 %!error <MAP must be a valid colormap> cmunique (1, "a")
 %!error <MAP must be a valid colormap> cmunique (1, i)
--- a/scripts/image/gray2ind.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/gray2ind.m	Sun Oct 11 21:59:35 2020 -0700
@@ -106,8 +106,7 @@
 %! assert (class (gray2ind ([0.0 0.5 1.0], 257)), "uint16");
 
 ## Test input validation
-%!error gray2ind ()
-%!error gray2ind (1,2,3)
+%!error <Invalid call> gray2ind ()
 %!error <I must be a grayscale or binary image> gray2ind ({1})
 %!error <I must be a grayscale or binary image> gray2ind ([1+i])
 %!error <I must be a grayscale or binary image> gray2ind (sparse ([1]))
--- a/scripts/image/imfinfo.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/imfinfo.m	Sun Oct 11 21:59:35 2020 -0700
@@ -188,7 +188,7 @@
 %! assert (error_thrown, true);
 
 ## Test input validation
-%!error imfinfo ()
-%!error imfinfo (1,2,3)
+%!error <Invalid call> imfinfo ()
+%!error <Invalid call> imfinfo (1,2,3)
 %!error <FILENAME must be a string> imfinfo (1)
 %!error <EXT must be a string> imfinfo ("foo", 1)
--- a/scripts/image/imshow.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/imshow.m	Sun Oct 11 21:59:35 2020 -0700
@@ -268,7 +268,7 @@
 %! title ({"imshow with random 100x100x3 matrix", "RGB values > 1 are clipped"});
 
 ## Test input validation
-%!error imshow ()
+%!error <Invalid call> imshow ()
 %!error <IM must be an image> imshow ({"cell"})
 %!error <TrueColor image must be uint8> imshow (ones (3,3,3, "uint32"))
 %!error <TrueColor image must be uint8> imshow (ones (3,3,3, "int16"))
--- a/scripts/image/imwrite.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/imwrite.m	Sun Oct 11 21:59:35 2020 -0700
@@ -129,8 +129,8 @@
 
 
 ## Test input validation
-%!error imwrite ()                            # Wrong # of args
-%!error imwrite (1)                           # Wrong # of args
+%!error <Invalid call> imwrite ()             # Wrong # of args
+%!error <Invalid call> imwrite (1)            # Wrong # of args
 %!error imwrite ({"cell"}, "filename.jpg")    # Wrong class for img
 %!error imwrite (1, [], "filename.jpg")       # Empty image map
 %!error imwrite (1, 2, 3)                     # No filename specified
--- a/scripts/image/ind2rgb.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/ind2rgb.m	Sun Oct 11 21:59:35 2020 -0700
@@ -102,8 +102,8 @@
 %! assert (rgb(:,3,:), 1/63 * ones (1,1,3));
 
 ## Test input validation
-%!error ind2rgb ()
-%!error ind2rgb (1,2,3)
+%!error <Invalid call> ind2rgb ()
+%!error <Invalid call> ind2rgb (1)
 %!error <X must be an indexed image> ind2rgb (ones (3,3,3), jet (64))
 %!error <X must be an indexed image> ind2rgb (1+i, jet (64))
 %!error <X must be an indexed image> ind2rgb (sparse (1), jet (64))
--- a/scripts/image/movie.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/movie.m	Sun Oct 11 21:59:35 2020 -0700
@@ -244,7 +244,8 @@
 %! movie (mov, 3, 25);
 
 ## Test input validation
-%!error movie ()
+%!error <Invalid call> movie ()
+%!error <Invalid call> movie (1,2,3,4,5)
 %!error <MOV must be a frame struct array> movie ({2})
 %!error <MOV must contain at least two frames>
 %! movie (struct ("cdata", [], "colormap", []));
--- a/scripts/image/rgb2ind.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/image/rgb2ind.m	Sun Oct 11 21:59:35 2020 -0700
@@ -103,8 +103,8 @@
 
 
 ## Test input validation
-%!error rgb2ind ()
-%!error rgb2ind (1,2,3,4,5,6,7)
+%!error <Invalid call> rgb2ind ()
+%!error <Invalid call> rgb2ind (1,2)
 %!error <RGB> rgb2ind (rand (10, 10, 4))
 
 ## FIXME: the following tests simply make sure that rgb2ind and ind2rgb
--- a/scripts/io/importdata.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/io/importdata.m	Sun Oct 11 21:59:35 2020 -0700
@@ -668,8 +668,8 @@
 %! assert (h, 3);
 %! unlink (fn);
 
-%!error importdata ()
-%!error importdata (1,2,3,4)
+## Test input validation
+%!error <Invalid call> importdata ()
 %!error <FNAME must be a string> importdata (1)
 %!error <option -pastespecial not implemented> importdata ("-pastespecial")
 %!error <DELIMITER must be a single character> importdata ("foo", 1)
--- a/scripts/linear-algebra/bandwidth.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/bandwidth.m	Sun Oct 11 21:59:35 2020 -0700
@@ -108,8 +108,7 @@
 %! assert ([a,b], [4,4]);
 
 ## Test input validation
-%!error bandwidth ()
-%!error bandwidth (1,2,3)
+%!error <Invalid call> bandwidth ()
 %!error <A must be a 2-D numeric or logical> bandwidth ("string", "lower")
 %!error <A must be a 2-D numeric or logical> bandwidth (ones (3,3,3), "lower")
 %!error <TYPE must be "lower" or "upper"> bandwidth (ones (2), "uper")
--- a/scripts/linear-algebra/condeig.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/condeig.m	Sun Oct 11 21:59:35 2020 -0700
@@ -138,8 +138,7 @@
 %!assert (condeig ([]), [])
 
 ## Test input validation
-%!error condeig ()
-%!error condeig (1,2)
+%!error <Invalid call> condeig ()
 %!error <A must be a square numeric matrix> condeig ({1})
 %!error <A must be a square numeric matrix> condeig (ones (3,2))
 %!error <A must be a square numeric matrix> condeig (ones (2,2,2))
--- a/scripts/linear-algebra/gls.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/gls.m	Sun Oct 11 21:59:35 2020 -0700
@@ -155,10 +155,9 @@
 %! assert (gls (y,x,o), [3; 2], 50*eps);
 
 ## Test input validation
-%!error gls ()
-%!error gls (1)
-%!error gls (1, 2)
-%!error gls (1, 2, 3, 4)
+%!error <Invalid call> gls ()
+%!error <Invalid call> gls (1)
+%!error <Invalid call> gls (1, 2)
 %!error gls ([true, true], [1, 2], ones (2))
 %!error gls ([1, 2], [true, true], ones (2))
 %!error gls ([1, 2], [1, 2], true (2))
--- a/scripts/linear-algebra/housh.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/housh.m	Sun Oct 11 21:59:35 2020 -0700
@@ -133,5 +133,6 @@
 %! assert (r, d, 2e-8);
 %! assert (z, 0, 2e-8);
 
-%!error housh ([0])
-%!error housh ()
+%!error <Invalid call> housh ()
+%!error <Invalid call> housh (1)
+%!error <Invalid call> housh (1,2)
--- a/scripts/linear-algebra/linsolve.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/linsolve.m	Sun Oct 11 21:59:35 2020 -0700
@@ -141,8 +141,8 @@
 %! opts.TRANSA = true;
 %! assert (linsolve (A, b, opts), A' \ b);
 
-%!error linsolve ()
-%!error linsolve (1)
+%!error <Invalid call> linsolve ()
+%!error <Invalid call> linsolve (1)
 %!error linsolve (1,2,3)
 %!error <A and B must be numeric> linsolve ({1},2)
 %!error <A and B must be numeric> linsolve (1,{2})
--- a/scripts/linear-algebra/logm.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/logm.m	Sun Oct 11 21:59:35 2020 -0700
@@ -182,6 +182,5 @@
 %!assert (logm (expm ([0 1i; -1i 0])), [0 1i; -1i 0], 10 * eps)
 
 ## Test input validation
-%!error logm ()
-%!error logm (1, 2, 3)
+%!error <Invalid call> logm ()
 %!error <logm: A must be a square matrix> logm ([1 0;0 1; 2 2])
--- a/scripts/linear-algebra/lscov.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/lscov.m	Sun Oct 11 21:59:35 2020 -0700
@@ -210,9 +210,9 @@
 %! [b, seb, mseb, S] = lscov (X, y, V);
 %! assert(b, [0 100 200]', 0.2);
 
-%!error lscov ()
-%!error lscov (1)
-%!error lscov (1,2,3,4,5)
+## Test input validation
+%!error <Invalid call> lscov ()
+%!error <Invalid call> lscov (1)
 %!error <A and B must have the same number of rows> lscov (ones (2,2),1)
 %!warning <algorithm selection input ALG is not yet implemented>
 %! lscov (1,1, [], "chol");
--- a/scripts/linear-algebra/normest.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/normest.m	Sun Oct 11 21:59:35 2020 -0700
@@ -96,8 +96,7 @@
 %! assert (normest (A), norm (A), 1e-6);
 
 ## Test input validation
-%!error normest ()
-%!error normest (1, 2, 3)
+%!error <Invalid call> normest ()
 %!error <A must be a numeric .* matrix> normest ([true true])
 %!error <A must be .* 2-D matrix> normest (ones (3,3,3))
 %!error <TOL must be a real scalar> normest (1, [1, 2])
--- a/scripts/linear-algebra/normest1.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/normest1.m	Sun Oct 11 21:59:35 2020 -0700
@@ -379,7 +379,7 @@
 %! assert (iscolumn (it));
 
 ## Test input validation
-%!error normest1 ()
+%!error <Invalid call> normest1 ()
 %!error <A must be a square matrix or a function handle> normest1 ({1})
 %!error <A must be a square matrix> normest1 ([1 2])
 %!error <X0 must have 2 columns> normest1 (magic (5), :, [1])
--- a/scripts/linear-algebra/ols.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/ols.m	Sun Oct 11 21:59:35 2020 -0700
@@ -183,9 +183,8 @@
 %! assert (b, [1.4, 2], 2*eps);
 
 ## Test input validation
-%!error ols ()
-%!error ols (1)
-%!error ols (1, 2, 3)
+%!error <Invalid call> ols ()
+%!error <Invalid call> ols (1)
 %!error ols ([true, true], [1, 2])
 %!error ols ([1, 2], [true, true])
 %!error ols (ones (2,2,2), ones (2,2))
--- a/scripts/linear-algebra/ordeig.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/ordeig.m	Sun Oct 11 21:59:35 2020 -0700
@@ -140,8 +140,7 @@
 %! assert (lambda, 3);
 
 ## Test input validation
-%!error ordeig ()
-%!error ordeig (1,2,3)
+%!error <Invalid call> ordeig ()
 %!error <A must be a square matrix> ordeig ('a')
 %!error <A must be a square matrix> ordeig ([1, 2, 3])
 %!error <A must be quasi-triangular> ordeig (magic (3))
--- a/scripts/linear-algebra/planerot.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/planerot.m	Sun Oct 11 21:59:35 2020 -0700
@@ -83,7 +83,7 @@
 %! assert (g, [x(1) x(2); -x(2) x(1)] / sqrt (x(1)^2 + x(2)^2), 2e-8);
 %! assert (y(2), 0, 2e-8);
 
-%!error planerot ()
-%!error planerot (1,2)
+## Test input validation
+%!error <Invalid call> planerot ()
 %!error <X must be a 2-element vector> planerot (ones (2,2))
 %!error <X must be a 2-element vector> planerot ([0 0 0])
--- a/scripts/linear-algebra/qzhess.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/qzhess.m	Sun Oct 11 21:59:35 2020 -0700
@@ -153,5 +153,6 @@
 %! assert (q * b * z, bb, 2e-8);
 %! assert (bb .* mask, zeros (5), 2e-8);
 
-%!error qzhess ([0])
-%!error qzhess ()
+## Test input validation
+%!error <Invalid call> qzhess ()
+%!error <Invalid call> qzhess (1)
--- a/scripts/linear-algebra/rref.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/linear-algebra/rref.m	Sun Oct 11 21:59:35 2020 -0700
@@ -130,4 +130,5 @@
 %! [r k] = rref (a, tol);
 %! assert (rank (a, tol), rank (r, tol), 2e-8);
 
-%!error rref ()
+## Test input validation
+%!error <Invalid call> rref ()
--- a/scripts/miscellaneous/copyfile.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/copyfile.m	Sun Oct 11 21:59:35 2020 -0700
@@ -188,9 +188,8 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error copyfile ()
-%!error copyfile (1)
-%!error copyfile (1,2,3,4)
+%!error <Invalid call> copyfile ()
+%!error <Invalid call> copyfile (1)
 %!error <F1 must be a string> copyfile (1, "foobar")
 %!error <F2 must be a string> copyfile ("foobar", 1)
 %!error <F2 must be a directory> copyfile ({"a", "b"}, "%_NOT_A_DIR_%")
--- a/scripts/miscellaneous/delete.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/delete.m	Sun Oct 11 21:59:35 2020 -0700
@@ -95,5 +95,5 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error delete ()
+%!error <Invalid call> delete ()
 %!error <first argument must be a filename> delete (struct ())
--- a/scripts/miscellaneous/dos.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/dos.m	Sun Oct 11 21:59:35 2020 -0700
@@ -73,5 +73,6 @@
 %!   assert (output, "");
 %! endif
 
-%!error dos ()
+## Test input validation
+%!error <Invalid call> dos ()
 %!error dos (1, 2, 3)
--- a/scripts/miscellaneous/fileparts.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/fileparts.m	Sun Oct 11 21:59:35 2020 -0700
@@ -111,7 +111,6 @@
 %! assert (strcmp (d, "") && strcmp (n, "") && strcmp (e, ".ext"));
 
 ## Test input validation
-%!error fileparts ()
-%!error fileparts (1,2)
+%!error <Invalid call> fileparts ()
 %!error <FILENAME must be a single string> fileparts (1)
 %!error <FILENAME must be a single string> fileparts (["a"; "b"])
--- a/scripts/miscellaneous/getfield.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/getfield.m	Sun Oct 11 21:59:35 2020 -0700
@@ -65,6 +65,6 @@
 %! assert (getfield (ss,{1,2},"fd",{3},"b", {1,4}), 5);
 
 ## Test input validation
-%!error getfield ()
-%!error getfield (1)
+%!error <Invalid call> getfield ()
+%!error <Invalid call> getfield (1)
 %!error <invalid index> getfield (1,2)
--- a/scripts/miscellaneous/menu.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/menu.m	Sun Oct 11 21:59:35 2020 -0700
@@ -100,8 +100,9 @@
 endfunction
 
 
-%!error menu ()
-%!error menu ("title")
+## Test input validation
+%!error <Invalid call> menu ()
+%!error <Invalid call> menu ("title")
 %!error <TITLE must be a string> menu (1, "opt1")
 %!error <All OPTIONS must be strings> menu ("title", "opt1", 1)
 %!error <OPTIONS must be string or cell array of strings> menu ("title", 1)
--- a/scripts/miscellaneous/mkdir.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/mkdir.m	Sun Oct 11 21:59:35 2020 -0700
@@ -138,5 +138,4 @@
 %! fail ('mkdir ("__%hello%__", "world")', "invalid PARENT");
 
 ## Test input validation
-%!error mkdir ()
-%!error mkdir ("a", "b", "c")
+%!error <Invalid call> mkdir ()
--- a/scripts/miscellaneous/movefile.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/movefile.m	Sun Oct 11 21:59:35 2020 -0700
@@ -204,8 +204,7 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error movefile ()
-%!error movefile (1,2,3,4)
+%!error <Invalid call> movefile ()
 %!error <F1 must be a string> movefile (1, "foobar")
 %!error <F2 must be a string> movefile ("foobar", 1)
 %!error <F2 must be a directory> movefile ({"a", "b"}, "%_NOT_A_DIR_%")
--- a/scripts/miscellaneous/orderfields.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/orderfields.m	Sun Oct 11 21:59:35 2020 -0700
@@ -213,8 +213,7 @@
 %! assert (size_equal (s, s2));
 
 ## Test input validation
-%!error orderfields ()
-%!error orderfields (1,2,3)
+%!error <Invalid call> orderfields ()
 %!error <S1 must be a struct> orderfields (1)
 %!error <S1 and S2 do not have the same fields>
 %! s1.a = 1;
--- a/scripts/miscellaneous/publish.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/publish.m	Sun Oct 11 21:59:35 2020 -0700
@@ -1113,7 +1113,7 @@
 ## Note: Functional BIST tests are located in the 'test/publish' directory.
 
 ## Test input validation
-%!error publish ()
+%!error <Invalid call> publish ()
 %!error publish (1)
 %!error <FILE does not exist> publish ("%%_non_existent_file_%%.m")
 %!error <only script files can be published> publish ("publish.m")
--- a/scripts/miscellaneous/setfield.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/setfield.m	Sun Oct 11 21:59:35 2020 -0700
@@ -146,7 +146,7 @@
 %! assert (oo(1,2).fd(3).b(1,4), 6);
 
 ## Test input validation
-%!error setfield ()
-%!error setfield (1)
-%!error setfield (1,2)
+%!error <Invalid call> setfield ()
+%!error <Invalid call> setfield (1)
+%!error <Invalid call> setfield (1,2)
 %!error <invalid index> setfield (1,2,3)
--- a/scripts/miscellaneous/substruct.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/substruct.m	Sun Oct 11 21:59:35 2020 -0700
@@ -87,8 +87,10 @@
 %! y = substruct ("()", {1,2,3}, "{}", {":"}, ".", "foo");
 %! assert (x,y);
 
-%!error substruct ()
-%!error substruct (1, 2, 3)
+## Test input validation
+%!error <Invalid call> substruct ()
+%!error <Invalid call> substruct (1)
+%!error <Invalid call> substruct (1, 2, 3)
 %!error substruct ("x", 1)
 %!error substruct ("()", [1,2,3])
 %!error substruct (".", {1,2,3})
--- a/scripts/miscellaneous/unix.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/unix.m	Sun Oct 11 21:59:35 2020 -0700
@@ -71,5 +71,5 @@
 %!   assert (output, "");
 %! endif
 
-%!error unix ()
-%!error unix (1, 2, 3)
+## Test input validation
+%!error <Invalid call> unix ()
--- a/scripts/miscellaneous/unpack.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/miscellaneous/unpack.m	Sun Oct 11 21:59:35 2020 -0700
@@ -386,8 +386,7 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error unpack ()
-%!error unpack (1,2,3,4)
+%!error <Invalid call> unpack ()
 %!error <FILE must be a string or cell array of strings> unpack (1)
 %!error <FILE "_%NOT_A_FILENAME%_" not found> unpack ("_%NOT_A_FILENAME%_")
 %!error <FILE "_%NOT_A_FILENAME%_" not found> unpack ({"_%NOT_A_FILENAME%_"})
--- a/scripts/ode/decic.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/ode/decic.m	Sun Oct 11 21:59:35 2020 -0700
@@ -215,13 +215,12 @@
 %! assert ([ynew(1:end), ypnew(1:end)], [ref1(1:end), ref2(1:end)], 1e-5);
 
 ## Test input validation
-%!error decic ()
-%!error decic (1)
-%!error decic (1,2)
-%!error decic (1,2,3)
-%!error decic (1,2,3,4)
-%!error decic (1,2,3,4,5)
-%!error decic (1,2,3,4,5,6,7,8)
+%!error <Invalid call> decic ()
+%!error <Invalid call> decic (1)
+%!error <Invalid call> decic (1,2)
+%!error <Invalid call> decic (1,2,3)
+%!error <Invalid call> decic (1,2,3,4)
+%!error <Invalid call> decic (1,2,3,4,5)
 %!error <FUN must be a valid function handle>
 %! decic (1, 0, [1; 0; 0], [1; 1; 0], [-1e-4; 1; 0], [0; 0; 0]);
 %!error <T0 must be a numeric scalar>
--- a/scripts/ode/ode23.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/ode/ode23.m	Sun Oct 11 21:59:35 2020 -0700
@@ -502,9 +502,9 @@
 %! assert (imag (y), ones (size (y)))
 
 ## Test input validation
-%!error ode23 ()
-%!error ode23 (1)
-%!error ode23 (1,2)
+%!error <Invalid call> ode23 ()
+%!error <Invalid call> ode23 (1)
+%!error <Invalid call> ode23 (1,2)
 %!error <TRANGE must be a numeric> ode23 (@fpol, {[0 25]}, [3 15 1])
 %!error <TRANGE must be a .* vector> ode23 (@fpol, [0 25; 25 0], [3 15 1])
 %!error <TRANGE must contain at least 2 elements> ode23 (@fpol, [1], [3 15 1])
--- a/scripts/ode/ode23s.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/ode/ode23s.m	Sun Oct 11 21:59:35 2020 -0700
@@ -500,9 +500,9 @@
 %! assert (imag (y), ones (size (y)))
 
 ## Test input validation
-%!error ode23s ()
-%!error ode23s (1)
-%!error ode23s (1,2)
+%!error <Invalid call> ode23s ()
+%!error <Invalid call> ode23s (1)
+%!error <Invalid call> ode23s (1,2)
 %!error <TRANGE must be a numeric> ode23s (@fpol, {[0 25]}, [3 15 1])
 %!error <TRANGE must be a .* vector> ode23s (@fpol, [0 25; 25 0], [3 15 1])
 %!error <TRANGE must contain at least 2 elements> ode23s (@fpol, [1], [3 15 1])
--- a/scripts/ode/ode45.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/ode/ode45.m	Sun Oct 11 21:59:35 2020 -0700
@@ -384,7 +384,7 @@
 %! [t, y] = ode45 (@fpol, [0 2], [2 0], 12, 13, "KL");
 %! assert ([t(end), y(end,:)], [2, fref], 1e-2);
 %!test  # empty ODEOPT structure *but* extra input arguments
-%! opt = odeset ();
+%! opt = odeset;
 %! [t, y] = ode45 (@fpol, [0 2], [2 0], opt, 12, 13, "KL");
 %! assert ([t(end), y(end,:)], [2, fref], 1e-2);
 %!test  # Solve another anonymous function below zero
@@ -514,9 +514,9 @@
 %! [x, y] = ode45 (@(x,y) 1, [0 1], 1i);
 %! assert (imag (y), ones (size (y)))
 
-%!error ode45 ()
-%!error ode45 (1)
-%!error ode45 (1,2)
+%!error <Invalid call> ode45 ()
+%!error <Invalid call> ode45 (1)
+%!error <Invalid call> ode45 (1,2)
 %!error <TRANGE must be a numeric> ode45 (@fpol, {[0 25]}, [3 15 1])
 %!error <TRANGE must be a .* vector> ode45 (@fpol, [0 25; 25 0], [3 15 1])
 %!error <TRANGE must contain at least 2 elements> ode45 (@fpol, [1], [3 15 1])
--- a/scripts/optimization/fminsearch.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/optimization/fminsearch.m	Sun Oct 11 21:59:35 2020 -0700
@@ -578,5 +578,5 @@
 %! fminsearch (@(x) (Inf), 0, optimset ("FunValCheck", "on"));
 
 ## Test input validation
-%!error fminsearch ()
+%!error <Invalid call> fminsearch ()
 %!error fminsearch (1)
--- a/scripts/optimization/lsqnonneg.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/optimization/lsqnonneg.m	Sun Oct 11 21:59:35 2020 -0700
@@ -238,9 +238,8 @@
 %! assert (lsqnonneg (C, d), xnew, 0.0001);
 
 # Test input validation
-%!error lsqnonneg ()
-%!error lsqnonneg (1)
-%!error lsqnonneg (1,2,3,4,5)
+%!error <Invalid call> lsqnonneg ()
+%!error <Invalid call> lsqnonneg (1)
 %!error <C .* must be numeric matrices> lsqnonneg ({1},2)
 %!error <C .* must be numeric matrices> lsqnonneg (ones (2,2,2),2)
 %!error <D must be numeric matrices> lsqnonneg (1,{2})
--- a/scripts/optimization/pqpnonneg.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/optimization/pqpnonneg.m	Sun Oct 11 21:59:35 2020 -0700
@@ -240,9 +240,8 @@
 %! assert (pqpnonneg (C'*C, -C'*d), lsqnonneg (C, d), 100*eps);
 
 # Test input validation
-%!error pqpnonneg ()
-%!error pqpnonneg (1)
-%!error pqpnonneg (1,2,3,4,5)
+%!error <Invalid call> pqpnonneg ()
+%!error <Invalid call> pqpnonneg (1)
 %!error <C .* must be numeric matrices> pqpnonneg ({1},2)
 %!error <C .* must be numeric matrices> pqpnonneg (ones (2,2,2),2)
 %!error <D must be numeric matrices> pqpnonneg (1,{2})
--- a/scripts/optimization/sqp.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/optimization/sqp.m	Sun Oct 11 21:59:35 2020 -0700
@@ -776,10 +776,9 @@
 %! assert (obj, obj_opt, sqrt (eps));
 
 ## Test input validation
-%!error sqp ()
-%!error sqp (1)
-%!error sqp (1,2,3,4,5,6,7,8,9)
-%!error sqp (1,2,3,4,5)
+%!error <Invalid call> sqp ()
+%!error <Invalid call> sqp (1)
+%!error <Invalid call> sqp (1,2,3,4,5)
 %!error sqp (ones (2,2))
 %!error sqp (1, cell (4,1))
 %!error sqp (1, cell (3,1), cell (3,1))
--- a/scripts/plot/appearance/annotation.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/appearance/annotation.m	Sun Oct 11 21:59:35 2020 -0700
@@ -1578,7 +1578,7 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error annotation ()
+%!error <Invalid call> annotation ()
 %!error <Invalid call to annotation> annotation ({"line"}, 1:2, 1:2)
 %!error <X and Y must be 2-element vectors> annotation ("line", {1:2}, 1:2)
 %!error <X and Y must be 2-element vectors> annotation ("line", 1:2, {1:2})
--- a/scripts/plot/appearance/lighting.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/appearance/lighting.m	Sun Oct 11 21:59:35 2020 -0700
@@ -225,7 +225,7 @@
 %!   close (hf);
 %! end_unwind_protect
 
-%!error lighting ()
+%!error <Invalid call> lighting ()
 %!error lighting (1, 2, "flat")
 %!error <MODE must be a string> lighting (-1)
 %!error <MODE must be a string> lighting ({})
--- a/scripts/plot/appearance/shading.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/appearance/shading.m	Sun Oct 11 21:59:35 2020 -0700
@@ -308,7 +308,7 @@
 %!   close (hf);
 %! end_unwind_protect
 
-%!error shading ()
+%!error <Invalid call> shading ()
 %!error shading (1, 2, "flat")
 %!error <MODE must be a valid string> shading (-1)
 %!error <MODE must be a valid string> shading ({})
--- a/scripts/plot/draw/area.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/area.m	Sun Oct 11 21:59:35 2020 -0700
@@ -288,7 +288,7 @@
 %! title ("area() plot of sorted data");
 
 ## Test input validation
-%!error area ()
+%!error <Invalid call> area ()
 %!error area (1,2,3,4)
 %!error <X and Y must be real vectors or matrices> area ({1})
 %!error <X and Y must be real vectors or matrices> area (1+i)
--- a/scripts/plot/draw/compass.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/compass.m	Sun Oct 11 21:59:35 2020 -0700
@@ -137,8 +137,8 @@
 %! title ("compass() example");
 
 ## Test input validation
-%!error compass ()
-%!error compass (1,2,3,4)
+%!error <Invalid call> compass ()
+%!error <Invalid call> compass (1,2,3,4)
 %!error compass (1, "-r", 2)
 %!error <invalid linestyle STYLE> compass (1, "abc")
 %!error <invalid linestyle STYLE> compass (1, {1})
--- a/scripts/plot/draw/contourc.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/contourc.m	Sun Oct 11 21:59:35 2020 -0700
@@ -181,8 +181,8 @@
 %! assert (lev_obs, lev_exp, eps);
 
 ## Test input validation
-%!error contourc ()
-%!error contourc (1,2,3,4,5)
+%!error <Invalid call> contourc ()
+%!error <Invalid call> contourc (1,2,3,4,5)
 %!error <X, Y, and Z must be numeric> contourc ({1})
 %!error <X, Y, and Z must be numeric> contourc ({1}, 2, 3)
 %!error <X, Y, and Z must be numeric> contourc (1, {2}, 3)
--- a/scripts/plot/draw/feather.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/feather.m	Sun Oct 11 21:59:35 2020 -0700
@@ -135,8 +135,8 @@
 %! title ("feather plot");
 
 ## Test input validation
-%!error feather ()
-%!error feather (1,2,3,4)
+%!error <Invalid call> feather ()
+%!error <Invalid call> feather (1,2,3,4)
 %!error feather (1, "-r", 2)
 %!error <invalid linestyle STYLE> feather (1, "abc")
 %!error <invalid linestyle STYLE> feather (1, {1})
--- a/scripts/plot/draw/fplot.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/fplot.m	Sun Oct 11 21:59:35 2020 -0700
@@ -282,8 +282,8 @@
 %! assert (y, repmat ([0], size (x)));
 
 ## Test input validation
-%!error fplot ()
-%!error fplot (1,2,3,4,5,6)
+%!error <Invalid call> fplot ()
+%!error <Invalid call> fplot (1,2,3,4,5,6)
 %!error <FN must be a function handle> fplot (1, [0 1])
 %!error <LIMITS must be a real vector> fplot (@cos, [i, 2*i])
 %!error <LIMITS must be a real vector with 2 or 4> fplot (@cos, [1])
--- a/scripts/plot/draw/hist.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/hist.m	Sun Oct 11 21:59:35 2020 -0700
@@ -388,7 +388,7 @@
 %! assert (isa (xx, "single"));
 
 ## Test input validation
-%!error hist ()
+%!error <Invalid call> hist ()
 %!error <Y must be real-valued> hist (2+i)
 %!error <bin specification must be a numeric> hist (1, {0,1,2})
 %!error <number of bins NBINS must be positive> hist (1, 0)
--- a/scripts/plot/draw/isocaps.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/isocaps.m	Sun Oct 11 21:59:35 2020 -0700
@@ -544,8 +544,8 @@
 %! assert (rows (vertices), rows (fvcdata));
 
 ## test for each error
-%!error isocaps ()
-%!error isocaps (1,2,3,4,5,6,7,8,9)
+%!error <Invalid call> isocaps ()
+%!error <Invalid call> isocaps (1,2,3,4,5,6,7,8,9)
 %!error <parameter 'foo' not supported> isocaps (val, iso, "foo")
 %!error <incorrect number of input arguments> isocaps (x, val, iso)
 %!error <incorrect number of input arguments> isocaps (xx, yy, zz, val, iso, 5)
--- a/scripts/plot/draw/isocolors.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/isocolors.m	Sun Oct 11 21:59:35 2020 -0700
@@ -185,11 +185,11 @@
 %! assert (rows (cdat) == rows (v));
 
 ## Test input validation
-%!error isocolors ()
-%!error isocolors (1)
-%!error isocolors (1,2,3)
-%!error isocolors (1,2,3,4,5,6)
-%!error isocolors (1,2,3,4,5,6,7,8)
+%!error <Invalid call> isocolors ()
+%!error <Invalid call> isocolors (1)
+%!error <Invalid call> isocolors (1,2,3)
+%!error <Invalid call> isocolors (1,2,3,4,5,6)
+%!error <Invalid call> isocolors (1,2,3,4,5,6,7,8)
 %!error <last argument must be a vertex list> isocolors (1, {1})
 %!error <last argument must be a vertex list> isocolors (1, [1 2 3 4])
 %!error <last argument must be a .*patch handle> isocolors (1, 0)
--- a/scripts/plot/draw/isonormals.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/isonormals.m	Sun Oct 11 21:59:35 2020 -0700
@@ -65,12 +65,14 @@
 
   narg = nargin;
   negate = false;
-  if (ischar (varargin{narg}))
-    if (strcmpi (varargin{narg}, "negate"))
-      negate = true;
-      narg -= 1;
-    else
-      error ("isonormals: Unknown option '%s'", varargin{narg});
+  if (nargin > 2)
+    if (ischar (varargin{end}))
+      if (strcmpi (varargin{end}, "negate"))
+        negate = true;
+        narg -= 1;
+      else
+        error ("isonormals: Unknown option '%s'", varargin{end});
+      endif
     endif
   endif
 
@@ -191,11 +193,11 @@
 %! assert (all (dirn(isfinite (dirn)) <= 0));
 
 ## Test input validation
-%!error isonormals ()
-%!error isonormals (1)
-%!error isonormals (1,2,3)
-%!error isonormals (1,2,3,4)
-%!error isonormals (1,2,3,4,5,6)
+%!error <Invalid call> isonormals ()
+%!error <Invalid call> isonormals (1)
+%!error <Invalid call> isonormals (1,2,3)
+%!error <Invalid call> isonormals (1,2,3,4)
+%!error <Invalid call> isonormals (1,2,3,4,5,6)
 %!error <Unknown option 'foo'> isonormals (x, y, z, val, vert, "foo")
 %!error <must be a list of vertices> isonormals (1, {1})
 %!error <must be a list of vertices> isonormals (1, [1 2 3 4])
--- a/scripts/plot/draw/isosurface.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/isosurface.m	Sun Oct 11 21:59:35 2020 -0700
@@ -559,8 +559,8 @@
 %! assert (size (fvc.facevertexcdata), [7 1]);
 
 ## test for each error and warning
-%!error isosurface ()
-%!error isosurface (1,2,3,4,5,6,7,8,9)
+%!error <Invalid call> isosurface ()
+%!error <Invalid call> isosurface (1,2,3,4,5,6,7,8,9)
 %!error <parameter 'foobar' not supported>
 %! fvc = isosurface (val, iso, "foobar");
 %!error <incorrect number of input arguments>
--- a/scripts/plot/draw/ostreamtube.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/ostreamtube.m	Sun Oct 11 21:59:35 2020 -0700
@@ -357,7 +357,7 @@
 %! title ("Integration Towards Sink");
 
 ## Test input validation
-%!error ostreamtube ()
+%!error <Invalid call> ostreamtube ()
 %!error <invalid number of inputs> ostreamtube (1)
 %!error <invalid number of inputs> ostreamtube (1,2)
 %!error <invalid number of inputs> ostreamtube (1,2,3)
--- a/scripts/plot/draw/pie.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/pie.m	Sun Oct 11 21:59:35 2020 -0700
@@ -113,6 +113,6 @@
 %! title ("pie() with missing slice");
 
 ## Test input validation
-%!error pie ()
+%!error <Invalid call> pie ()
 %!error <all data in X must be finite> pie ([1 2 Inf])
 %!error <all data in X must be finite> pie ([1 2 NaN])
--- a/scripts/plot/draw/pie3.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/pie3.m	Sun Oct 11 21:59:35 2020 -0700
@@ -112,6 +112,6 @@
 %! title ("pie3() with missing slice");
 
 ## Test input validation
-%!error pie3 ()
+%!error <Invalid call> pie3 ()
 %!error <all data in X must be finite> pie3 ([1 2 Inf])
 %!error <all data in X must be finite> pie3 ([1 2 NaN])
--- a/scripts/plot/draw/reducepatch.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/reducepatch.m	Sun Oct 11 21:59:35 2020 -0700
@@ -438,8 +438,8 @@
 %! assert (size (vertices_reduced, 2), 3);
 
 ## test for each error
-%!error reducepatch ()
-%!error reducepatch (fv, faces, vertices, .5, "f", "v")
+%!error <Invalid call> reducepatch ()
+%!error <Invalid call> reducepatch (fv, faces, vertices, .5, "f", "v")
 %!error <reducepatch: parameter 'foo' not supported>
 %! fv_reduced = reducepatch (faces, vertices, .7, "foo");
 %!error <struct FV must contain the fields 'vertices' and 'faces'>
--- a/scripts/plot/draw/reducevolume.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/reducevolume.m	Sun Oct 11 21:59:35 2020 -0700
@@ -263,9 +263,9 @@
 
 ## Test for each error
 %!test
-%!error reducevolume ()
-%!error reducevolume (1)
-%!error reducevolume (1,2,3,4,5,6)
+%!error <Invalid call> reducevolume ()
+%!error <Invalid call> reducevolume (1)
+%!error <Invalid call> reducevolume (1,2,3,4,5,6)
 %!error <incorrect number of arguments> reducevolume (1, 2, 3)
 %!error <R must be a scalar or a vector of length 3> reducevolume (v, [])
 %!error <R must be a scalar or a vector of length 3> reducevolume (v, [1 2])
--- a/scripts/plot/draw/rose.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/rose.m	Sun Oct 11 21:59:35 2020 -0700
@@ -166,7 +166,7 @@
 %! title ("rose() angular histogram plot with specified bins");
 
 ## Test input validation
-%!error rose ()
+%!error <Invalid call> rose ()
 %!warning <bin sizes .= pi will not plot correctly>
 %! [th, r] = rose ([1 2 2 4 4 4], 2);
 %!warning <bin 1 and bin 3 are not centered>
--- a/scripts/plot/draw/smooth3.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/smooth3.m	Sun Oct 11 21:59:35 2020 -0700
@@ -257,8 +257,7 @@
 %! assert (size_equal (a, b), true);
 
 ## Test input validation
-%!error smooth3 ()
-%!error smooth3 (1,2,3,4,5)
+%!error <Invalid call> smooth3 ()
 %!error <DATA must be a 3-D numeric matrix> smooth3 (cell (2,2,2))
 %!error <DATA must be a 3-D numeric matrix> smooth3 (1)
 %!error <METHOD must be a string> smooth3 (ones (2,2,2), {3})
--- a/scripts/plot/draw/stairs.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/stairs.m	Sun Oct 11 21:59:35 2020 -0700
@@ -331,7 +331,7 @@
 %! hf = figure ("visible", "off");
 %! hax = axes ();
 
-%!error stairs ()
+%!error <Invalid call> stairs ()
 %!error <Y must be a numeric 2-D vector> stairs (hax, {1})
 %!error <Y must be a numeric 2-D vector> stairs (ones (2,2,2))
 %!error <X and Y must be numeric 2-D vector> stairs ({1}, 1)
--- a/scripts/plot/draw/stem.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/stem.m	Sun Oct 11 21:59:35 2020 -0700
@@ -225,7 +225,7 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error stem ()
+%!error <Invalid call> stem ()
 %!error <can not define Z for 2-D stem plot> stem (1,2,3)
 %!error <Y must be a vector or 2-D array> stem (ones (2,2,2))
 %!error <X and Y must be numeric> stem ({1})
--- a/scripts/plot/draw/stem3.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/stem3.m	Sun Oct 11 21:59:35 2020 -0700
@@ -90,7 +90,7 @@
 %! stem3 (cos (theta), sin (theta), theta);
 %! title ("stem3() plot");
 
-%!error stem3 ()
+%!error <Invalid call> stem3 ()
 %!error <must define X, Y, and Z> stem3 (1,2)
 %!error <X, Y, and Z must be numeric> stem3 ({1}, 1, 1)
 %!error <X, Y, and Z must be numeric> stem3 (1, {1}, 1)
--- a/scripts/plot/draw/stream2.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/stream2.m	Sun Oct 11 21:59:35 2020 -0700
@@ -207,7 +207,7 @@
 %! assert (numel (xy{:}), 10);
 
 ## Test input validation
-%!error stream2 ()
+%!error <Invalid call> stream2 ()
 %!error <invalid number of inputs> stream2 (1)
 %!error <invalid number of inputs> stream2 (1,2)
 %!error <invalid number of inputs> stream2 (1,2,3)
--- a/scripts/plot/draw/stream3.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/stream3.m	Sun Oct 11 21:59:35 2020 -0700
@@ -231,7 +231,7 @@
 %! assert (numel (xyz{:}), 15);
 
 ## Test input validation
-%!error stream3 ()
+%!error <Invalid call> stream3 ()
 %!error <invalid number of inputs> stream3 (1)
 %!error <invalid number of inputs> stream3 (1,2)
 %!error <invalid number of inputs> stream3 (1,2,3)
--- a/scripts/plot/draw/streamline.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/streamline.m	Sun Oct 11 21:59:35 2020 -0700
@@ -167,7 +167,7 @@
 %! axis equal tight;
 
 ## Test input validation
-%!error streamline ()
+%!error <Invalid call> streamline ()
 %!error <Invalid call to streamline>
 %! hf = figure ("visible", "off");
 %! unwind_protect
--- a/scripts/plot/draw/streamribbon.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/streamribbon.m	Sun Oct 11 21:59:35 2020 -0700
@@ -433,7 +433,7 @@
 %! title ("Moebius Strip");
 
 ## Test input validation
-%!error streamribbon ()
+%!error <Invalid call> streamribbon ()
 %!error <invalid number of inputs> streamribbon (1)
 %!error <invalid number of inputs> streamribbon (1,2,3,4,5)
 %!error <invalid number of inputs> streamribbon (1,2,3,4,5,6,7,8)
--- a/scripts/plot/draw/streamtube.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/streamtube.m	Sun Oct 11 21:59:35 2020 -0700
@@ -367,7 +367,7 @@
 %! title ("Plot Arbitrary Tube");
 
 ## Test input validation
-%!error streamtube ()
+%!error <Invalid call> streamtube ()
 %!error <invalid number of inputs> streamtube (1)
 %!error <invalid number of inputs> streamtube (1,2,3,4)
 %!error <invalid number of inputs> streamtube (1,2,3,4,5,6,7,8)
--- a/scripts/plot/draw/surfnorm.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/surfnorm.m	Sun Oct 11 21:59:35 2020 -0700
@@ -203,8 +203,8 @@
 %!         "sombrero() function with 10 faces"});
 
 ## Test input validation
-%!error surfnorm ()
-%!error surfnorm (1,2)
+%!error <Invalid call> surfnorm ()
+%!error <Invalid call> surfnorm (1,2)
 %!error <X, Y, and Z must be 2-D real matrices> surfnorm (i)
 %!error <X, Y, and Z must be 2-D real matrices> surfnorm (i, 1, 1)
 %!error <X, Y, and Z must be 2-D real matrices> surfnorm (1, i, 1)
--- a/scripts/plot/draw/trimesh.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/trimesh.m	Sun Oct 11 21:59:35 2020 -0700
@@ -122,9 +122,9 @@
 %! title ("trimesh() plot of sparsely-sampled peaks() function");
 
 ## Test input validation
-%!error trimesh ()
-%!error trimesh (1)
-%!error trimesh (1,2)
+%!error <Invalid call> trimesh ()
+%!error <Invalid call> trimesh (1)
+%!error <Invalid call> trimesh (1,2)
 %!error <the numbers of colors> trimesh (1,2,3,4,[5 6])
 %!error <the numbers of colors> trimesh (1,2,3,4,[5 6]')
 %!error <the numbers of colors> trimesh ([1;1],[2;2],[3;3],[4;4], zeros (3,3))
--- a/scripts/plot/draw/trisurf.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/draw/trisurf.m	Sun Oct 11 21:59:35 2020 -0700
@@ -171,10 +171,10 @@
 %! title ({"trisurf() of random data", '"facecolor" = "interp", "edgecolor" = "white"'});
 
 ## Test input validation
-%!error trisurf ()
-%!error trisurf (1)
-%!error trisurf (1,2)
-%!error trisurf (1,2,3)
+%!error <Invalid call> trisurf ()
+%!error <Invalid call> trisurf (1)
+%!error <Invalid call> trisurf (1,2)
+%!error <Invalid call> trisurf (1,2,3)
 %!error <the numbers of colors> trisurf (1,2,3,4,[5 6])
 %!error <the numbers of colors> trisurf (1,2,3,4,[5 6]')
 %!error <the numbers of colors> trisurf ([1;1],[2;2],[3;3],[4;4], zeros (3,3))
--- a/scripts/plot/util/colstyle.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/util/colstyle.m	Sun Oct 11 21:59:35 2020 -0700
@@ -94,6 +94,6 @@
 %! assert (msg, "colstyle: unrecognized format character: '~'");
 
 ## Test input validation
-%!error colstyle ()
+%!error <Invalid call> colstyle ()
 %!error colstyle (1, 2)
 %!error <STYLE must be a string> colstyle (1.5)
--- a/scripts/plot/util/hgload.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/util/hgload.m	Sun Oct 11 21:59:35 2020 -0700
@@ -133,8 +133,7 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error hgload ()
-%!error hgload (1, 2, 3)
+%!error <Invalid call> hgload ()
 %!error <PROP_STRUCT must be a struct> hgload (1, {})
 %!error <unable to locate file> hgload ("%%_A_REALLY_UNLIKELY_FILENAME_%%")
 %!error <unable to locate file> hgload ("%%_A_REALLY_UNLIKELY_FILENAME_%%.fig")
--- a/scripts/plot/util/linkprop.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/util/linkprop.m	Sun Oct 11 21:59:35 2020 -0700
@@ -171,9 +171,8 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error linkprop ()
-%!error linkprop (1)
-%!error linkprop (1,2,3)
+%!error <Invalid call> linkprop ()
+%!error <Invalid call> linkprop (1)
 %!error <H must contain at least 2 handles> linkprop (1, "color")
 %!error <invalid graphic handle in input H> linkprop ([pi, e], "color")
 %!error <PROP must be a string or cell string array> linkprop ([0, 0], 1)
--- a/scripts/plot/util/meshgrid.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/util/meshgrid.m	Sun Oct 11 21:59:35 2020 -0700
@@ -144,8 +144,7 @@
 %! assert (XX(end) * YY(end), x(end) * y(end));
 
 ## Test input validation
-%!error meshgrid ()
-%!error meshgrid (1,2,3,4)
+%!error <Invalid call> meshgrid ()
 %!error <X and Y must be vectors> meshgrid (ones (2,2), 1:3)
 %!error <X and Y must be vectors> meshgrid (1:3, ones (2,2))
 %!error <X, Y, and Z must be vectors> [X,Y,Z] = meshgrid (1:3, 1:3, ones (2,2))
--- a/scripts/plot/util/ndgrid.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/plot/util/ndgrid.m	Sun Oct 11 21:59:35 2020 -0700
@@ -128,6 +128,6 @@
 %!assert (ndgrid ([], []), zeros(0,0))
 
 ## Test input validation
-%!error ndgrid ()
+%!error <Invalid call> ndgrid ()
 %!error <wrong number of input arguments> [a,b,c] = ndgrid (1:3,1:3)
 %!error <arguments must be vectors> ndgrid (ones (2,2))
--- a/scripts/polynomial/padecoef.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/polynomial/padecoef.m	Sun Oct 11 21:59:35 2020 -0700
@@ -173,8 +173,7 @@
 ## PadeApproximant[Exp[-x * T], {x, 0, {n, n}}]
 
 ## Test input validation
-%!error padecoef ()
-%!error padecoef (1,2,3)
+%!error <Invalid call> padecoef ()
 %!error <T must be a non-negative scalar> padecoef ([1,2])
 %!error <T must be a non-negative scalar> padecoef ({1})
 %!error <T must be a non-negative scalar> padecoef (-1)
--- a/scripts/polynomial/polyfit.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/polynomial/polyfit.m	Sun Oct 11 21:59:35 2020 -0700
@@ -337,10 +337,9 @@
 %! assert (s.C(:,1), [0; 0]);
 
 ## Test input validation
-%!error polyfit ()
-%!error polyfit (1)
-%!error polyfit (1,2)
-%!error polyfit (1,2,3,4,5)
+%!error <Invalid call> polyfit ()
+%!error <Invalid call> polyfit (1)
+%!error <Invalid call> polyfit (1,2)
 %!error <X and Y must have the same number of points> polyfit ([1, 2], 1, 1)
 %!error <X and Y must have the same number of points> polyfit (1, [1, 2], 1)
 %!error <N must be a non-negative integer> polyfit (1, 2, [1,2])
--- a/scripts/polynomial/polyval.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/polynomial/polyval.m	Sun Oct 11 21:59:35 2020 -0700
@@ -175,10 +175,9 @@
 %!assert (class (polyval ([], single ([]))), "single")
 
 ## Test input validation
-%!error polyval ()
-%!error polyval (1)
-%!error polyval (1,2,3,4,5)
-%!error [y, dy] = polyval (1, 2)
+%!error <Invalid call> polyval ()
+%!error <Invalid call> polyval (1)
+%!error <Invalid call> [y, dy] = polyval (1, 2)
 %!error <P must be a numeric floating point vector> polyval ({1, 0}, 0:10)
 %!error <P must be a numeric floating point vector> polyval (int8 ([1]), 0:10)
 %!error <P must be a numeric floating point vector> polyval ([1,0;0,1], 0:10)
--- a/scripts/polynomial/unmkpp.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/polynomial/unmkpp.m	Sun Oct 11 21:59:35 2020 -0700
@@ -101,8 +101,7 @@
 %! assert (d, 1);
 
 ## Test input validation
-%!error unmkpp ()
-%!error unmkpp (1,2)
+%!error <Invalid call> unmkpp ()
 %!error <piecewise polynomial structure> unmkpp (1)
 %!error <piecewise polynomial structure> unmkpp (struct ("field1", "pp"))
 %!error <piecewise polynomial structure> unmkpp (struct ("form", "not_a_pp"))
--- a/scripts/profiler/profexport.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/profiler/profexport.m	Sun Oct 11 21:59:35 2020 -0700
@@ -314,7 +314,7 @@
 %! open (fullfile (dir, "index.html"));
 
 ## Test input validation
-%!error profexport ()
+%!error <Invalid call> profexport ()
 %!error profexport (1)
 %!error profexport (1, 2, 3, 4)
 %!error <DIR must be a string> profexport (5)
--- a/scripts/set/ismember.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/set/ismember.m	Sun Oct 11 21:59:35 2020 -0700
@@ -303,8 +303,8 @@
 %! assert (s_idx, 1);
 
 ## Test input validation
-%!error ismember ()
-%!error ismember (1)
-%!error ismember (1,2,3,4)
+%!error <Invalid call> ismember ()
+%!error <Invalid call> ismember (1)
+%!error <Invalid call> ismember (1,2,3,4)
 %!error <"stable" or "sorted" are not valid options> ismember (1,2, "sorted")
 %!error <"stable" or "sorted" are not valid options> ismember (1,2, "stable")
--- a/scripts/set/unique.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/set/unique.m	Sun Oct 11 21:59:35 2020 -0700
@@ -354,7 +354,7 @@
 %! assert (j, [4; 1; 4; 3; 2]);
 
 ## Test input validation
-%!error unique ()
+%!error <Invalid call> unique ()
 %!error <X must be an array or cell array of strings> unique ({1})
 %!error <options must be strings> unique (1, 2)
 %!error <cannot specify both "first" and "last"> unique (1, "first", "last")
--- a/scripts/signal/movfun.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/signal/movfun.m	Sun Oct 11 21:59:35 2020 -0700
@@ -603,9 +603,9 @@
 %!error (movfun (@(x) [min(x), max(x)], (1:10).', 3, "Outdim", 3))
 
 ## Test input validation
-%!error movfun ()
-%!error movfun (@min)
-%!error movfun (@min, 1)
+%!error <Invalid call> movfun ()
+%!error <Invalid call> movfun (@min)
+%!error <Invalid call> movfun (@min, 1)
 %!error <WLEN must be .* array of integers> movfun (@min, 1, {1})
 %!error <WLEN must be .* array of integers .= 0> movfun (@min, 1, -1)
 %!error <WLEN must be .* array of integers> movfun (@min, 1, 1.5)
--- a/scripts/signal/movslice.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/signal/movslice.m	Sun Oct 11 21:59:35 2020 -0700
@@ -94,9 +94,8 @@
 ## FIXME: Need functional BIST tests
 
 ## Test input validation
-%!error movslice ()
-%!error movslice (1)
-%!error movslice (1,2,3)
+%!error <Invalid call> movslice ()
+%!error <Invalid call> movslice (1)
 %!error <N must be a positive integer> movslice ([1 2], 1)
 %!error <N must be a positive integer> movslice (0, 1)
 %!error <WLEN must be .* array of integers> movslice (1, {1})
--- a/scripts/signal/periodogram.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/signal/periodogram.m	Sun Oct 11 21:59:35 2020 -0700
@@ -210,8 +210,8 @@
 
 
 ## Test input validation
-%!error periodogram ()
-%!error periodogram (1,2,3,4,5,6)
+%!error <Invalid call> periodogram ()
+%!error <Invalid call> periodogram (1,2,3,4,5,6)
 %!error <X must be a real or complex vector> periodogram (ones (2,2))
 %!error <WIN must be a vector.*same length> periodogram (1:5, ones (2,2))
 %!error <WIN must be a vector.*same length> periodogram (1:5, 1:6)
--- a/scripts/signal/sinc.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/signal/sinc.m	Sun Oct 11 21:59:35 2020 -0700
@@ -58,4 +58,5 @@
 %!assert (sinc (1), 0,1e-6)
 %!assert (sinc (1/2), 2/pi, 1e-6)
 
-%!error sinc()
+## Test input validation
+%!error <Invalid call> sinc ()
--- a/scripts/sparse/spdiags.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/sparse/spdiags.m	Sun Oct 11 21:59:35 2020 -0700
@@ -178,5 +178,4 @@
 %!assert (spdiags ([0.5 -1 0.5], 0:2, 1, 1), sparse (0.5))
 
 ## Test input validation
-%!error spdiags ()
-%!error spdiags (1,2,3,4,5)
+%!error <Invalid call> spdiags ()
--- a/scripts/sparse/sprandsym.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/sparse/sprandsym.m	Sun Oct 11 21:59:35 2020 -0700
@@ -181,8 +181,7 @@
 %!assert (size (sprandsym (0, 0.5)), [0, 0])
 
 ## Test input validation
-%!error sprandsym ()
-%!error sprandsym (1, 2, 3)
+%!error <Invalid call> sprandsym ()
 %!error sprandsym (ones (3), 0.5)
 %!error sprandsym (3.5, 0.5)
 %!error sprandsym (-1, 0.5)
--- a/scripts/specfun/betaincinv.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/betaincinv.m	Sun Oct 11 21:59:35 2020 -0700
@@ -279,10 +279,9 @@
 %!assert (class (betaincinv (single (0.5), int8 (1), 1)), "single")
 
 ## Test input validation
-%!error betaincinv ()
-%!error betaincinv (1)
-%!error betaincinv (1,2)
-%!error betaincinv (1,2,3,4,5)
+%!error <Invalid call> betaincinv ()
+%!error <Invalid call> betaincinv (1)
+%!error <Invalid call> betaincinv (1,2)
 %!error <must be of common size or scalars>
 %! betaincinv (ones (2,2), ones (1,2), 1);
 %!error <all inputs must be real> betaincinv (0.5i, 1, 2)
--- a/scripts/specfun/ellipke.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/ellipke.m	Sun Oct 11 21:59:35 2020 -0700
@@ -219,8 +219,7 @@
 %! assert (e, e_exp, 8*eps (e_exp));
 
 ## Test input validation
-%!error ellipke ()
-%!error ellipke (1,2,3)
+%!error <Invalid call> ellipke ()
 %!error <M must be real> ellipke (1i)
 %!error <M must be .= 1> ellipke (2)
 %!error <TOL must be a real scalar . 0> ellipke (1, i)
--- a/scripts/specfun/factor.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/factor.m	Sun Oct 11 21:59:35 2020 -0700
@@ -120,8 +120,7 @@
 %! assert (n, double (3));
 
 ## Test input validation
-%!error factor ()
-%!error factor (1,2)
+%!error <Invalid call> factor ()
 %!error <Q must be a real non-negative integer> factor (6i)
 %!error <Q must be a real non-negative integer> factor ([1,2])
 %!error <Q must be a real non-negative integer> factor (1.5)
--- a/scripts/specfun/gammainc.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/gammainc.m	Sun Oct 11 21:59:35 2020 -0700
@@ -566,9 +566,8 @@
 %!assert (class (gammainc (1, int8 (0.5))) == "double")
 
 ## Test input validation
-%!error gammainc ()
-%!error gammainc (1)
-%!error gammainc (1,2,3,4)
+%!error <Invalid call> gammainc ()
+%!error <Invalid call> gammainc (1)
 %!error <must be of common size or scalars> gammainc ([0, 0],[0; 0])
 %!error <must be of common size or scalars> gammainc ([1 2 3], [1 2])
 %!error <all inputs must be real> gammainc (2+i, 1)
--- a/scripts/specfun/gammaincinv.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/gammaincinv.m	Sun Oct 11 21:59:35 2020 -0700
@@ -312,9 +312,8 @@
 %!assert (class (gammaincinv (single (0.5), int8 (1))), "single")
 
 ## Test input validation
-%!error gammaincinv ()
-%!error gammaincinv (1)
-%!error gammaincinv (1, 2, 3, 4)
+%!error <Invalid call> gammaincinv ()
+%!error <Invalid call> gammaincinv (1)
 %!error <must be of common size or scalars>
 %! gammaincinv (ones (2,2), ones (1,2), 1);
 %!error <all inputs must be real> gammaincinv (0.5i, 1)
--- a/scripts/specfun/isprime.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/isprime.m	Sun Oct 11 21:59:35 2020 -0700
@@ -173,7 +173,6 @@
 %!assert (isprime (magic (3)), logical ([0, 0, 0; 1, 1, 1; 0, 0, 1]))
 
 ## Test input validation
-%!error isprime ()
-%!error isprime (1, 2)
+%!error <Invalid call> isprime ()
 %!error <X contains non-integer entries> isprime (0.5i)
 %!error <X contains non-integer entries> isprime (0.5)
--- a/scripts/specfun/lcm.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/specfun/lcm.m	Sun Oct 11 21:59:35 2020 -0700
@@ -58,7 +58,8 @@
 
 %!assert (lcm (3, 5, 7, 15), 105)
 
-%!error lcm ()
-%!error lcm (1)
+## Test input validation
+%!error <Invalid call> lcm ()
+%!error <Invalid call> lcm (1)
 %!error <same size or scalar> lcm ([1 2], [1 2 3])
 %!error <arguments must be numeric> lcm ([1 2], {1 2})
--- a/scripts/special-matrix/gallery.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/special-matrix/gallery.m	Sun Oct 11 21:59:35 2020 -0700
@@ -2912,7 +2912,7 @@
 %!assert (gallery ("invhess", 2), [1 -1; 1 2])
 
 ## Test input validation of main dispatch function only
-%!error gallery ()
+%!error <Invalid call> gallery ()
 %!error <NAME must be a string> gallery (123)
 %!error <matrix binomial not implemented> gallery ("binomial")
 %!error <unknown matrix with NAME foobar> gallery ("foobar")
--- a/scripts/special-matrix/hadamard.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/special-matrix/hadamard.m	Sun Oct 11 21:59:35 2020 -0700
@@ -176,6 +176,6 @@
 %!   assert (norm (h*h' - n*eye (n)), 0);
 %! endfor
 
-%!error hadamard ()
+%!error <Invalid call> hadamard ()
 %!error hadamard (1,2)
 %!error <N must be 2\^k\*p> hadamard (5)
--- a/scripts/statistics/bounds.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/bounds.m	Sun Oct 11 21:59:35 2020 -0700
@@ -119,8 +119,7 @@
 %! assert (l, x(:,:,3));
 
 ## Test input validation
-%!error bounds ()
-%!error bounds (1, 2, 3, 4)
+%!error <Invalid call> bounds ()
 %!error <X must be a numeric> bounds (['A'; 'B'])
 %!error <DIM must be an integer> bounds (1, ones (2,2))
 %!error <DIM must be an integer> bounds (1, 1.5)
--- a/scripts/statistics/corrcoef.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/corrcoef.m	Sun Oct 11 21:59:35 2020 -0700
@@ -284,7 +284,7 @@
 %! r = corrcoef (x, y);
 %! assert (r, [1, NaN; NaN, 1]);
 
-%!error corrcoef ()
+%!error <Invalid call> corrcoef ()
 %!error <parameter 1 must be a string> corrcoef (1, 2, 3)
 %!error <parameter "alpha" missing value> corrcoef (1, 2, "alpha")
 %!error <"alpha" must be a scalar> corrcoef (1,2, "alpha", "1")
--- a/scripts/statistics/discrete_rnd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/discrete_rnd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -91,8 +91,8 @@
 #%!assert(class (discrete_rnd (1:2, single(1:2))), "single")
 
 ## Test input validation
-%!error discrete_rnd ()
-%!error discrete_rnd (1)
+%!error <Invalid call> discrete_rnd ()
+%!error <Invalid call> discrete_rnd (1)
 %!error discrete_rnd (1:2,1:2, -1)
 %!error discrete_rnd (1:2,1:2, ones (2))
 %!error discrete_rnd (1:2,1:2, [2 -1 2])
--- a/scripts/statistics/empirical_rnd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/empirical_rnd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -65,6 +65,6 @@
 %!assert (class (empirical_rnd (single (1:2), 1)), "single")
 
 ## Test input validation
-%!error empirical_rnd ()
+%!error <Invalid call> empirical_rnd ()
 %!error empirical_rnd (ones (2), 1)
 %!error empirical_rnd (ones (2), 1, 1)
--- a/scripts/statistics/histc.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/histc.m	Sun Oct 11 21:59:35 2020 -0700
@@ -188,9 +188,9 @@
 %! n = histc (x, 0:10, 2);
 %! assert (n, repmat ([repmat(100, 1, 10), 1], [2, 1, 3]));
 
-%!error histc ()
-%!error histc (1)
-%!error histc (1, 2, 3, 4)
+## Test input validation
+%!error <Invalid call> histc ()
+%!error <Invalid call> histc (1)
 %!error histc ([1:10 1+i], 2)
 %!warning <empty EDGES specified> histc (1:10, []);
 %!error histc (1, 1, 3)
--- a/scripts/statistics/mode.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/mode.m	Sun Oct 11 21:59:35 2020 -0700
@@ -182,8 +182,7 @@
 %! assert (c{3}, [1; 2; 3]);
 
 ## Test input validation
-%!error mode ()
-%!error mode (1, 2, 3)
+%!error <Invalid call> mode ()
 %!error <X must be a numeric> mode ({1 2 3})
 %!error <DIM must be an integer> mode (1, ones (2,2))
 %!error <DIM must be an integer> mode (1, 1.5)
--- a/scripts/statistics/movmad.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movmad.m	Sun Oct 11 21:59:35 2020 -0700
@@ -143,7 +143,6 @@
 # test for bug #55241
 %!assert ([0.5; repmat(2/3,8,1); 0.5], movmad ((1:10).', 3))
 
-
 ## Test input validation
-%!error movmad ()
-%!error movmad (1)
+%!error <Invalid call> movmad ()
+%!error <Invalid call> movmad (1)
--- a/scripts/statistics/movmax.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movmax.m	Sun Oct 11 21:59:35 2020 -0700
@@ -145,5 +145,5 @@
 %!assert ([(2:10).'; 10], movmax ((1:10).', 3))
 
 ## Test input validation
-%!error movmax ()
-%!error movmax (1)
+%!error <Invalid call> movmax ()
+%!error <Invalid call> movmax (1)
--- a/scripts/statistics/movmean.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movmean.m	Sun Oct 11 21:59:35 2020 -0700
@@ -144,5 +144,5 @@
 %!assert ([1.5; (2:9).'; 9.5], movmean ((1:10).', 3))
 
 ## Test input validation
-%!error movmean ()
-%!error movmean (1)
+%!error <Invalid call> movmean ()
+%!error <Invalid call> movmean (1)
--- a/scripts/statistics/movmedian.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movmedian.m	Sun Oct 11 21:59:35 2020 -0700
@@ -144,5 +144,5 @@
 %!assert ([1.5; (2:9).'; 9.5], movmedian ((1:10).', 3))
 
 ## Test input validation
-%!error movmedian ()
-%!error movmedian (1)
+%!error <Invalid call> movmedian ()
+%!error <Invalid call> movmedian (1)
--- a/scripts/statistics/movmin.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movmin.m	Sun Oct 11 21:59:35 2020 -0700
@@ -145,5 +145,5 @@
 %!assert ([1; (1:9).'], movmin ((1:10).', 3))
 
 ## Test input validation
-%!error movmin ()
-%!error movmin (1)
+%!error <Invalid call> movmin ()
+%!error <Invalid call> movmin (1)
--- a/scripts/statistics/movprod.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movprod.m	Sun Oct 11 21:59:35 2020 -0700
@@ -145,5 +145,5 @@
 %!assert ([2; 6; 24; 60; 120; 210; 336; 504; 720; 90], movprod ((1:10).', 3))
 
 ## Test input validation
-%!error movprod ()
-%!error movprod (1)
+%!error <Invalid call> movprod ()
+%!error <Invalid call> movprod (1)
--- a/scripts/statistics/movstd.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movstd.m	Sun Oct 11 21:59:35 2020 -0700
@@ -179,5 +179,5 @@
 %! assert (y1(1:3), sqrt ([1/4, 2/3, 5/4]));
 
 ## Test input validation
-%!error movstd ()
-%!error movstd (1)
+%!error <Invalid call> movstd ()
+%!error <Invalid call> movstd (1)
--- a/scripts/statistics/movsum.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movsum.m	Sun Oct 11 21:59:35 2020 -0700
@@ -145,5 +145,5 @@
 %!assert ([(3:3:27).'; 19], movsum ((1:10).', 3))
 
 ## Test input validation
-%!error movsum ()
-%!error movsum (1)
+%!error <Invalid call> movsum ()
+%!error <Invalid call> movsum (1)
--- a/scripts/statistics/movvar.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/movvar.m	Sun Oct 11 21:59:35 2020 -0700
@@ -178,5 +178,5 @@
 %! assert (y1(1:3), [1/4, 2/3, 5/4]);
 
 ## Test input validation
-%!error movvar ()
-%!error movvar (1)
+%!error <Invalid call> movvar ()
+%!error <Invalid call> movvar (1)
--- a/scripts/statistics/ranks.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/ranks.m	Sun Oct 11 21:59:35 2020 -0700
@@ -164,8 +164,7 @@
 %!assert (ranks ([1, 2, 2, 4], [], "dense"), [1, 2, 2, 3])
 
 ## Test input validation
-%!error ranks ()
-%!error ranks (1, 2, 3, 4)
+%!error <Invalid call> ranks ()
 %!error <X must be a numeric vector or matrix> ranks ({1, 2})
 %!error <X must be a numeric vector or matrix> ranks (['A'; 'B'])
 %!error <DIM must be an integer> ranks (1, 1.5)
--- a/scripts/statistics/runlength.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/runlength.m	Sun Oct 11 21:59:35 2020 -0700
@@ -73,7 +73,6 @@
 %! assert (v, [2 0 4 0 1]);
 
 ## Test input validation
-%!error runlength ()
-%!error runlength (1, 2)
+%!error <Invalid call> runlength ()
 %!error runlength (['A'; 'B'])
 %!error runlength (ones (2,2))
--- a/scripts/statistics/zscore.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/statistics/zscore.m	Sun Oct 11 21:59:35 2020 -0700
@@ -102,7 +102,7 @@
 %!assert <*54531> (zscore ([1,2,3], [], 2), [-1,0,1])
 
 ## Test input validation
-%!error zscore ()
+%!error <Invalid call> zscore ()
 %!error zscore (1, 2, 3)
 %!error <X must be a numeric> zscore (['A'; 'B'])
 %!error <OPT must be empty, 0, or 1> zscore (1, ones (2,2))
--- a/scripts/strings/str2num.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/strings/str2num.m	Sun Oct 11 21:59:35 2020 -0700
@@ -90,6 +90,5 @@
 %! assert (! state);
 
 ## Test input validation
-%!error str2num ()
-%!error str2num ("string", 1)
+%!error <Invalid call> str2num ()
 %!error <S must be a string> str2num ({"string"})
--- a/scripts/strings/strchr.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/strings/strchr.m	Sun Oct 11 21:59:35 2020 -0700
@@ -82,7 +82,7 @@
 %!assert (strchr ("Octave is the best software", "software"), [3, 4, 6, 9, 11, 13, 16, 17, 18, 20, 21, 22, 23, 24, 25, 26, 27])
 
 ## Test input validation
-%!error strchr ()
-%!error strchr (1)
+%!error <Invalid call> strchr ()
+%!error <Invalid call> strchr (1)
 %!error <STR argument must be a string> strchr (1, "aeiou")
 %!error <CHARS argument must be a string> strchr ("aeiou", 1)
--- a/scripts/strings/strsplit.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/strings/strsplit.m	Sun Oct 11 21:59:35 2020 -0700
@@ -314,7 +314,7 @@
 %!assert <*47403> (strsplit ('xxx+yyy', '+'), {"xxx", "yyy"})
 
 ## Test input validation
-%!error strsplit ()
+%!error <Invalid call> strsplit ()
 %!error strsplit ("abc", "b", true, 4)
 %!error <invalid parameter name, 'foo'> strsplit ("abc", "b", "foo", "true")
 %!error <S and DEL must be string values> strsplit (123, "b")
--- a/scripts/strings/strtok.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/strings/strtok.m	Sun Oct 11 21:59:35 2020 -0700
@@ -229,7 +229,6 @@
 %! endfor
 
 ## Test input validation
-%!error strtok ()
-%!error strtok ("a", "b", "c")
+%!error <Invalid call> strtok ()
 %!error <STR must be a string> strtok (1, "b")
 %!error <STR cannot be a 2-D> strtok (char ("hello", "world"), "l")
--- a/scripts/strings/untabify.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/strings/untabify.m	Sun Oct 11 21:59:35 2020 -0700
@@ -122,6 +122,6 @@
 %! s = char (randi ([97 97+25], 3, 3));
 %! assert (untabify (s), char (untabify (cellstr (s))));
 
-%!error untabify ()
-%!error untabify (1,2,3,4)
+## Test input validation
+%!error <Invalid call> untabify ()
 %!error <must be a string> untabify (1)
--- a/scripts/testfun/assert.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/testfun/assert.m	Sun Oct 11 21:59:35 2020 -0700
@@ -682,8 +682,8 @@
 %! end_try_catch
 
 ## test input validation
-%!error assert ()
-%!error assert (1,2,3,4)
+%!error <Invalid call> assert ()
+%!error <Invalid call> assert (1,2,3,4)
 
 
 ## Convert all error indices into tuple format
--- a/scripts/testfun/demo.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/testfun/demo.m	Sun Oct 11 21:59:35 2020 -0700
@@ -186,8 +186,7 @@
 %! #-------------------------------------------------
 %! # the figure window shows one cycle of a sine wave
 
-%!error demo ()
-%!error demo (1, 2, 3)
+%!error <Invalid call> demo ()
 %!error <N must be a scalar integer> demo ("demo", {1})
 %!error <N must be a scalar integer> demo ("demo", ones (2,2))
 %!error <N must be a scalar integer> demo ("demo", 1.5)
--- a/scripts/testfun/example.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/testfun/example.m	Sun Oct 11 21:59:35 2020 -0700
@@ -119,8 +119,7 @@
 %! assert (idx, [1, 23, 73]);
 
 ## Test input validation
-%!error example ()
-%!error example ("example", 3, 5)
+%!error <Invalid call> example ()
 %!error <N must be a scalar integer> example ("example", {1})
 %!error <N must be a scalar integer> example ("example", ones (2,2))
 %!error <N must be a scalar integer> example ("example", 1.5)
--- a/scripts/testfun/speed.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/testfun/speed.m	Sun Oct 11 21:59:35 2020 -0700
@@ -453,5 +453,4 @@
 %! assert (length (T_f2) > 10);
 
 ## Test input validation
-%!error speed ()
-%!error speed (1, 2, 3, 4, 5, 6, 7)
+%!error <Invalid call> speed ()
--- a/scripts/testfun/test.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/testfun/test.m	Sun Oct 11 21:59:35 2020 -0700
@@ -988,10 +988,9 @@
 %!fail ('garbage','garbage.*undefined')  # usage on nonexistent function should be
 
 ## Test 'error' keyword
-%!error test              # no args, generates usage()
-%!error test (1,2,3,4)    # too many args, generates usage()
+%!error <Invalid call> test              # no args, generates usage()
 %!error <unknown flag> test ("test", "invalid"); # incorrect args
-%!error test ("test", "invalid");  # test without pattern
+%!error test ("test", "invalid");        # test without pattern
 %!error <'garbage' undefined> garbage; # usage on nonexistent function is error
 
 ## Test 'warning' keyword
--- a/scripts/time/datenum.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/time/datenum.m	Sun Oct 11 21:59:35 2020 -0700
@@ -250,8 +250,7 @@
 %!assert (datenum ("5-19, 2001", "mm-dd, yyyy"), 730990)
 
 ## Test input validation
-%!error datenum ()
-%!error datenum (1,2,3,4,5,6,7)
+%!error <Invalid call> datenum ()
 %!error <expected date vector containing> datenum ([1, 2])
 %!error <expected date vector containing> datenum ([1,2,3,4,5,6,7])
 %!error <all inputs must be of class double> datenum (int32 (2000), int32 (1), int32 (1))
--- a/scripts/time/datevec.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/time/datevec.m	Sun Oct 11 21:59:35 2020 -0700
@@ -423,7 +423,6 @@
 %! end_unwind_protect
 
 ## Test input validation
-%!error datevec ()
-%!error datevec (1,2,3,4)
+%!error <Invalid call> datevec ()
 %!error <none of the standard formats match> datevec ("foobar")
 %!error <DATE not parsed correctly with given format> datevec ("foobar", "%d")
--- a/scripts/web/webread.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/web/webread.m	Sun Oct 11 21:59:35 2020 -0700
@@ -105,7 +105,7 @@
 
 
 ## Test input validation
-%!error webread ()
+%!error <Invalid call> webread ()
 %!error <URL must be a string> webread (1)
 %!error <URL must be a string> webread (["a";"b"])
 %!error <KEYS and VALUES must be strings> webread ("URL", "NAME1", 5)
--- a/scripts/web/webwrite.m	Sun Oct 11 18:15:34 2020 -0700
+++ b/scripts/web/webwrite.m	Sun Oct 11 21:59:35 2020 -0700
@@ -113,8 +113,8 @@
 
 
 ## Test input validation
-%!error webwrite ()
-%!error webwrite ("abc")
+%!error <Invalid call> webwrite ()
+%!error <Invalid call> webwrite ("abc")
 %!error <URL must be a string> webwrite (1, "NAME1", "VALUE1")
 %!error <URL must be a string> webwrite (["a";"b"], "NAME1", "VALUE1")
 %!error <DATA must be a string> webwrite ("URL", 1, weboptions ())