changeset 11553:01f703952eff

Improve docstrings for functions in DLD-FUNCTIONS directory. Use same variable names in error() strings and in documentation.
author Rik <octave@nomad.inbox5.com>
date Sun, 16 Jan 2011 22:13:23 -0800
parents 6b6e9051ecb8
children c139672c9a2f
files src/ChangeLog src/DLD-FUNCTIONS/__delaunayn__.cc src/DLD-FUNCTIONS/__dispatch__.cc src/DLD-FUNCTIONS/__dsearchn__.cc src/DLD-FUNCTIONS/__glpk__.cc src/DLD-FUNCTIONS/__magick_read__.cc src/DLD-FUNCTIONS/__pchip_deriv__.cc src/DLD-FUNCTIONS/__voronoi__.cc src/DLD-FUNCTIONS/amd.cc src/DLD-FUNCTIONS/balance.cc src/DLD-FUNCTIONS/besselj.cc src/DLD-FUNCTIONS/bsxfun.cc src/DLD-FUNCTIONS/ccolamd.cc src/DLD-FUNCTIONS/cellfun.cc src/DLD-FUNCTIONS/chol.cc src/DLD-FUNCTIONS/colamd.cc src/DLD-FUNCTIONS/colloc.cc src/DLD-FUNCTIONS/conv2.cc src/DLD-FUNCTIONS/convhulln.cc src/DLD-FUNCTIONS/cquad.cc src/DLD-FUNCTIONS/dasrt.cc src/DLD-FUNCTIONS/det.cc src/DLD-FUNCTIONS/dlmread.cc src/DLD-FUNCTIONS/dmperm.cc src/DLD-FUNCTIONS/dot.cc src/DLD-FUNCTIONS/eig.cc src/DLD-FUNCTIONS/eigs.cc src/DLD-FUNCTIONS/fft.cc src/DLD-FUNCTIONS/fft2.cc src/DLD-FUNCTIONS/fftn.cc src/DLD-FUNCTIONS/fftw.cc src/DLD-FUNCTIONS/filter.cc src/DLD-FUNCTIONS/find.cc src/DLD-FUNCTIONS/fltk_backend.cc src/DLD-FUNCTIONS/gammainc.cc src/DLD-FUNCTIONS/gcd.cc src/DLD-FUNCTIONS/getgrent.cc src/DLD-FUNCTIONS/getpwent.cc src/DLD-FUNCTIONS/hess.cc src/DLD-FUNCTIONS/hex2num.cc src/DLD-FUNCTIONS/inv.cc src/DLD-FUNCTIONS/kron.cc src/DLD-FUNCTIONS/lookup.cc src/DLD-FUNCTIONS/lsode.cc src/DLD-FUNCTIONS/lu.cc src/DLD-FUNCTIONS/luinc.cc src/DLD-FUNCTIONS/matrix_type.cc src/DLD-FUNCTIONS/max.cc src/DLD-FUNCTIONS/md5sum.cc src/DLD-FUNCTIONS/onCleanup.cc src/DLD-FUNCTIONS/pinv.cc src/DLD-FUNCTIONS/qr.cc src/DLD-FUNCTIONS/quad.cc src/DLD-FUNCTIONS/qz.cc src/DLD-FUNCTIONS/rand.cc src/DLD-FUNCTIONS/rcond.cc src/DLD-FUNCTIONS/regexp.cc src/DLD-FUNCTIONS/schur.cc src/DLD-FUNCTIONS/spparms.cc src/DLD-FUNCTIONS/sqrtm.cc src/DLD-FUNCTIONS/str2double.cc src/DLD-FUNCTIONS/strfind.cc src/DLD-FUNCTIONS/sub2ind.cc src/DLD-FUNCTIONS/svd.cc src/DLD-FUNCTIONS/syl.cc src/DLD-FUNCTIONS/symbfact.cc src/DLD-FUNCTIONS/symrcm.cc src/DLD-FUNCTIONS/time.cc src/DLD-FUNCTIONS/tril.cc src/DLD-FUNCTIONS/tsearch.cc src/DLD-FUNCTIONS/typecast.cc src/DLD-FUNCTIONS/urlwrite.cc
diffstat 72 files changed, 989 insertions(+), 904 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/ChangeLog	Sun Jan 16 22:13:23 2011 -0800
@@ -8,6 +8,31 @@
 	invalidate iterators when calling std::map::erase().
 	* DLD-FUNCTIONS/urwlwrite.cc (~curl_handles): Ditto.
 
+	DLD-FUNCTIONS/conv2.cc, DLD-FUNCTIONS/convhulln.cc,
+	DLD-FUNCTIONS/cquad.cc, DLD-FUNCTIONS/dasrt.cc, DLD-FUNCTIONS/det.cc,
+	DLD-FUNCTIONS/dlmread.cc, DLD-FUNCTIONS/dmperm.cc,
+	DLD-FUNCTIONS/dot.cc, DLD-FUNCTIONS/eig.cc, DLD-FUNCTIONS/eigs.cc,
+	DLD-FUNCTIONS/fft.cc, DLD-FUNCTIONS/fft2.cc, DLD-FUNCTIONS/fftn.cc,
+	DLD-FUNCTIONS/fftw.cc, DLD-FUNCTIONS/filter.cc, DLD-FUNCTIONS/find.cc,
+	DLD-FUNCTIONS/fltk_backend.cc, DLD-FUNCTIONS/gammainc.cc,
+	DLD-FUNCTIONS/gcd.cc, DLD-FUNCTIONS/getgrent.cc,
+	DLD-FUNCTIONS/getpwent.cc, DLD-FUNCTIONS/hess.cc,
+	DLD-FUNCTIONS/hex2num.cc, DLD-FUNCTIONS/inv.cc, DLD-FUNCTIONS/kron.cc,
+	DLD-FUNCTIONS/lookup.cc, DLD-FUNCTIONS/lsode.cc, DLD-FUNCTIONS/lu.cc,
+	DLD-FUNCTIONS/luinc.cc, DLD-FUNCTIONS/matrix_type.cc,
+	DLD-FUNCTIONS/max.cc, DLD-FUNCTIONS/md5sum.cc,
+	DLD-FUNCTIONS/onCleanup.cc, DLD-FUNCTIONS/pinv.cc, DLD-FUNCTIONS/qr.cc,
+	DLD-FUNCTIONS/quad.cc, DLD-FUNCTIONS/qz.cc, DLD-FUNCTIONS/rand.cc,
+	DLD-FUNCTIONS/rcond.cc, DLD-FUNCTIONS/regexp.cc,
+	DLD-FUNCTIONS/schur.cc, DLD-FUNCTIONS/spparms.cc,
+	DLD-FUNCTIONS/sqrtm.cc, DLD-FUNCTIONS/str2double.cc,
+	DLD-FUNCTIONS/strfind.cc, DLD-FUNCTIONS/sub2ind.cc,
+	DLD-FUNCTIONS/svd.cc, DLD-FUNCTIONS/syl.cc, DLD-FUNCTIONS/symbfact.cc,
+	DLD-FUNCTIONS/symrcm.cc, DLD-FUNCTIONS/time.cc, DLD-FUNCTIONS/tril.cc,
+	DLD-FUNCTIONS/tsearch.cc, DLD-FUNCTIONS/typecast.cc,
+	DLD-FUNCTIONS/urlwrite.cc: Improve docstrings.  Use same variable names
+	in error() strings and docstrings.
+
 2011-01-15  Rik  <octave@nomad.inbox5.com>
 
 	* src/dirfns.cc, src/help.cc, src/input.cc, src/load-save.cc,
--- a/src/DLD-FUNCTIONS/__delaunayn__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__delaunayn__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -62,7 +62,8 @@
 
 DEFUN_DLD (__delaunayn__, args, ,
            "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{T} =} __delaunayn__ (@var{P}[, @var{opt}])\n\
+@deftypefn  {Loadable Function} {@var{T} =} __delaunayn__ (@var{P})\n\
+@deftypefnx {Loadable Function} {@var{T} =} __delaunayn__ (@var{P}, @var{opt})\n\
 Undocumented internal function.\n\
 @end deftypefn")
 
@@ -122,7 +123,7 @@
       }
     else 
       {
-        error ("__delaunayn__: second argument must be a string, cell of stringsor empty");
+        error ("__delaunayn__: OPT argument must be a string, cell array of strings, or empty");
         return retval;
       }
     } 
--- a/src/DLD-FUNCTIONS/__dispatch__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__dispatch__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -56,7 +56,7 @@
 
           if (error_state)
             {
-              error ("__dispatch__: expecting first argument to be function name");
+              error ("__dispatch__: first argument must be a function name");
               return retval;
             }
         }
@@ -67,7 +67,7 @@
 
           if (error_state)
             {
-              error ("__dispatch__: expecting second argument to be function name");
+              error ("__dispatch__: second argument must be a function name");
               return retval;
             }
         }
@@ -78,7 +78,7 @@
 
           if (error_state)
             {
-              error ("__dispatch__: expecting third argument to be type name");
+              error ("__dispatch__: third argument must be a type name");
               return retval;
             }
         }
--- a/src/DLD-FUNCTIONS/__dsearchn__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__dsearchn__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -55,7 +55,7 @@
   if (! error_state)
     {
       if (x.rows() != xi.rows() || x.columns() < 1)
-        error ("__dsearch__: dimensional mismatch");
+        error ("__dsearch__: number of rows of X and XI must match");
       else
         {
           octave_idx_type n = x.rows();
--- a/src/DLD-FUNCTIONS/__glpk__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__glpk__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -428,13 +428,13 @@
  \
               if (error_state) \
                 { \
-                  error ("glpk: invalid value in param." NAME); \
+                  error ("glpk: invalid value in PARAM." NAME); \
                   return retval; \
                 } \
             } \
           else \
             { \
-              error ("glpk: invalid value in param." NAME); \
+              error ("glpk: invalid value in PARAM." NAME); \
               return retval; \
             } \
         } \
@@ -454,13 +454,13 @@
  \
               if (error_state) \
                 { \
-                  error ("glpk: invalid value in param." NAME); \
+                  error ("glpk: invalid value in PARAM." NAME); \
                   return retval; \
                 } \
             } \
           else \
             { \
-              error ("glpk: invalid value in param." NAME); \
+              error ("glpk: invalid value in PARAM." NAME); \
               return retval; \
             } \
         } \
@@ -576,7 +576,7 @@
 
   if (error_state)
     {
-      error ("__glpk__: invalid value of b");
+      error ("__glpk__: invalid value of B");
       return retval;
     }
 
@@ -588,7 +588,7 @@
 
   if (error_state || LB.length () < mrowsc)
     {
-      error ("__glpk__: invalid value of lb");
+      error ("__glpk__: invalid value of LB");
       return retval;
     }
 
@@ -613,7 +613,7 @@
 
   if (error_state || UB.length () < mrowsc)
     {
-      error ("__glpk__: invalid value of ub");
+      error ("__glpk__: invalid value of UB");
       return retval;
     }
 
@@ -637,7 +637,7 @@
 
   if (error_state)
     {
-      error ("__glpk__: invalid value of ctype");
+      error ("__glpk__: invalid value of CTYPE");
       return retval;
     }
 
@@ -648,7 +648,7 @@
 
   if (error_state)
     {
-      error ("__glpk__: invalid value of vtype");
+      error ("__glpk__: invalid value of VARTYPE");
       return retval;
     }
 
@@ -671,7 +671,7 @@
 
   if (error_state)
     {
-      error ("__glpk__: invalid value of sense");
+      error ("__glpk__: invalid value of SENSE");
       return retval;
     }
 
@@ -685,7 +685,7 @@
 
   if (error_state)
     {
-      error ("__glpk__: invalid value of param");
+      error ("__glpk__: invalid value of PARAM");
       return retval;
     }
 
@@ -697,7 +697,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("msglev", lpxIntParam[0]);
   if (lpxIntParam[0] < 0 || lpxIntParam[0] > 3)
     {
-      error ("__glpk__: param.msglev must be 0 (no output [default]) or 1 (error messages only) or 2 (normal output) or 3 (full output)");
+      error ("__glpk__: PARAM.msglev must be 0 (no output [default]) or 1 (error messages only) or 2 (normal output) or 3 (full output)");
       return retval;
     }
 
@@ -705,7 +705,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("scale", lpxIntParam[1]);
   if (lpxIntParam[1] < 0 || lpxIntParam[1] > 2)
     {
-      error ("__glpk__: param.scale must be 0 (no scaling) or 1 (equilibration scaling [default]) or 2 (geometric mean scaling)");
+      error ("__glpk__: PARAM.scale must be 0 (no scaling) or 1 (equilibration scaling [default]) or 2 (geometric mean scaling)");
       return retval;
     }
 
@@ -713,7 +713,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("dual", lpxIntParam[2]);
   if (lpxIntParam[2] < 0 || lpxIntParam[2] > 1)
     {
-      error ("__glpk__: param.dual must be 0 (do NOT use dual simplex [default]) or 1 (use dual simplex)");
+      error ("__glpk__: PARAM.dual must be 0 (do NOT use dual simplex [default]) or 1 (use dual simplex)");
       return retval;
     }
 
@@ -721,7 +721,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("price", lpxIntParam[3]);
   if (lpxIntParam[3] < 0 || lpxIntParam[3] > 1)
     {
-      error ("__glpk__: param.price must be 0 (textbook pricing) or 1 (steepest edge pricing [default])");
+      error ("__glpk__: PARAM.price must be 0 (textbook pricing) or 1 (steepest edge pricing [default])");
       return retval;
     }
 
@@ -729,7 +729,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("round", lpxIntParam[4]);
   if (lpxIntParam[4] < 0 || lpxIntParam[4] > 1)
     {
-      error ("__glpk__: param.round must be 0 (report all primal and dual values [default]) or 1 (replace tiny primal and dual values by exact zero)");
+      error ("__glpk__: PARAM.round must be 0 (report all primal and dual values [default]) or 1 (replace tiny primal and dual values by exact zero)");
       return retval;
     }
 
@@ -746,7 +746,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("branch", lpxIntParam[14]);
   if (lpxIntParam[14] < 0 || lpxIntParam[14] > 2)
     {
-      error ("__glpk__: param.branch must be (MIP only) 0 (branch on first variable) or 1 (branch on last variable) or 2 (branch using a heuristic by Driebeck and Tomlin [default]");
+      error ("__glpk__: PARAM.branch must be (MIP only) 0 (branch on first variable) or 1 (branch on last variable) or 2 (branch using a heuristic by Driebeck and Tomlin [default]");
       return retval;
     }
 
@@ -754,7 +754,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("btrack", lpxIntParam[15]);
   if (lpxIntParam[15] < 0 || lpxIntParam[15] > 2)
     {
-      error ("__glpk__: param.btrack must be (MIP only) 0 (depth first search) or 1 (breadth first search) or 2 (backtrack using the best projection heuristic [default]");
+      error ("__glpk__: PARAM.btrack must be (MIP only) 0 (depth first search) or 1 (breadth first search) or 2 (backtrack using the best projection heuristic [default]");
       return retval;
     }
 
@@ -762,7 +762,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("presol", lpxIntParam[16]);
   if (lpxIntParam[16] < 0 || lpxIntParam[16] > 1)
     {
-      error ("__glpk__: param.presol must be 0 (do NOT use LP presolver) or 1 (use LP presolver [default])");
+      error ("__glpk__: PARAM.presol must be 0 (do NOT use LP presolver) or 1 (use LP presolver [default])");
       return retval;
     }
 
@@ -771,7 +771,7 @@
   OCTAVE_GLPK_GET_INT_PARAM ("lpsolver", lpsolver);
   if (lpsolver < 1 || lpsolver > 2)
     {
-      error ("__glpk__: param.lpsolver must be 1 (simplex method) or 2 (interior point method)");
+      error ("__glpk__: PARAM.lpsolver must be 1 (simplex method) or 2 (interior point method)");
       return retval;
     }
 
--- a/src/DLD-FUNCTIONS/__magick_read__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__magick_read__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -139,7 +139,7 @@
       break;
 
     default:
-      error ("__magic_read__: index depths bigger than 16-bit not supported");
+      error ("__magic_read__: index depths greater than 16-bit are not supported");
       return octave_value_list ();
     }
 
@@ -406,7 +406,7 @@
 @deftypefnx {Function File} {[@var{m}, @var{colormap}] =} __magick_read__(@var{fname}, @var{index})\n\
 @deftypefnx {Function File} {[@var{m}, @var{colormap}, @var{alpha}] =} __magick_read__(@var{fname}, @var{index})\n\
 Read images with ImageMagick++.  In general you should not be using this\n\
-function.  Instead you should use @code{imread}.\n\
+function.  Instead use @code{imread}.\n\
 @seealso{imread}\n\
 @end deftypefn")
 {
@@ -478,7 +478,7 @@
 
           if (frameidx(i) >= nframes || frameidx(i) < 0)
             {
-              error ("__magick_read__: invalid index vector");
+              error ("__magick_read__: invalid INDEX vector");
               return output;
             }
         }
@@ -519,7 +519,7 @@
         case 32:
         case 64:
         default:
-          error ("__magick_read__: image depths bigger than 16-bit not supported");
+          error ("__magick_read__: image depths greater than 16-bit are not supported");
         }
     }
 #else
@@ -870,7 +870,7 @@
 @deftypefn  {Function File} {} __magick_write__(@var{fname}, @var{fmt}, @var{img})\n\
 @deftypefnx {Function File} {} __magick_write__(@var{fname}, @var{fmt}, @var{img}, @var{map})\n\
 Write images with ImageMagick++.  In general you should not be using this\n\
-function.  Instead you should use @code{imwrite}.\n\
+function.  Instead use @code{imwrite}.\n\
 @seealso{imread}\n\
 @end deftypefn")
 {
@@ -902,10 +902,10 @@
                 write_image (filename, fmt, args(2));
             }
           else
-            error ("__magick_write__: expecting format as second argument");
+            error ("__magick_write__: FMT must be string");
         }
       else
-        error ("__magick_write__: expecting filename as first argument");
+        error ("__magick_write__: FNAME must be a string");
     }
   else
     print_usage ();
@@ -998,9 +998,9 @@
 
 DEFUN_DLD (__magick_finfo__, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable File} {} __magick_finfo__(@var{fname})\n\
+@deftypefn {Loadable Function} {} __magick_finfo__(@var{fname})\n\
 Read image information with GraphicsMagick++.  In general you should\n\
-not be using this function.  Instead you should use @code{imfinfo}.\n\
+not be using this function.  Instead use @code{imfinfo}.\n\
 @seealso{imfinfo, imread}\n\
 @end deftypefn")
 {
@@ -1145,7 +1145,7 @@
 
 DEFUN_DLD (__magick_format_list__, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Function File} {} __magick_format_list__ (@var{formats})\n\
+@deftypefn {Function File} {} __magick_format_list__ (@var{formats})\n\
 Undocumented internal function.\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/__pchip_deriv__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__pchip_deriv__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -74,7 +74,7 @@
 
           if (nx != (rows ? nyc : nyr))
             {
-              error ("__pchip_deriv__: dimension mismatch");
+              error ("__pchip_deriv__: X and Y dimension mismatch");
               return retval;
             }
 
@@ -96,7 +96,7 @@
 
               if (ierr < 0)
                 {
-                  error ("PCHIM error: %i\n", ierr);
+                  error ("PCHIM: error: %i\n", ierr);
                   return retval;
                 }
             }
@@ -114,7 +114,7 @@
 
           if (nx != (rows ? nyc : nyr))
             {
-              error ("__pchip_deriv__: dimension mismatch");
+              error ("__pchip_deriv__: X and Y dimension mismatch");
               return retval;
             }
 
@@ -136,7 +136,7 @@
 
               if (ierr < 0)
                 {
-                  error ("DPCHIM error: %i\n", ierr);
+                  error ("DPCHIM: error: %i\n", ierr);
                   return retval;
                 }
             }
--- a/src/DLD-FUNCTIONS/__voronoi__.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/__voronoi__.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -79,7 +79,7 @@
     {
       if (! args (1).is_string ()) 
         {
-          error ("__voronoi__: second argument must be a string");
+          error ("__voronoi__: OPTIONS argument must be a string");
           return retval;
         }
 
--- a/src/DLD-FUNCTIONS/amd.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/amd.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -52,27 +52,27 @@
 
 DEFUN_DLD (amd, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} amd (@var{s})\n\
-@deftypefnx {Loadable Function} {@var{p} =} amd (@var{s}, @var{opts})\n\
+@deftypefn  {Loadable Function} {@var{p} =} amd (@var{S})\n\
+@deftypefnx {Loadable Function} {@var{p} =} amd (@var{S}, @var{opts})\n\
 \n\
 Returns the approximate minimum degree permutation of a matrix.  This\n\
-permutation such that the Cholesky factorization of @code{@var{s} (@var{p},\n\
-@var{p})} tends to be sparser than the Cholesky factorization of @var{s}\n\
-itself.  @code{amd} is typically faster than @code{symamd} but serves a\n\
-similar purpose.\n\
+permutation such that the Cholesky@tie{}factorization of @code{@var{S}\n\
+(@var{p}, @var{p})} tends to be sparser than the Cholesky@tie{}factorization\n\
+of @var{S} itself.  @code{amd} is typically faster than @code{symamd} but\n\
+serves a similar purpose.\n\
 \n\
 The optional parameter @var{opts} is a structure that controls the\n\
-behavior of @code{amd}.  The fields of these structure are\n\
+behavior of @code{amd}.  The fields of the structure are\n\
 \n\
 @table @asis\n\
-@item opts.dense\n\
+@item @var{opts}.dense\n\
 Determines what @code{amd} considers to be a dense row or column of the\n\
 input matrix.  Rows or columns with more than @code{max(16, (dense *\n\
-sqrt (@var{n})} entries, where @var{n} is the order of the matrix @var{s},\n\
+sqrt (@var{n})} entries, where @var{n} is the order of the matrix @var{S},\n\
 are ignored by @code{amd} during the calculation of the permutation\n\
 The value of dense must be a positive scalar and its default value is 10.0\n\
 \n\
-@item opts.aggressive\n\
+@item @var{opts}.aggressive\n\
 If this value is a non zero scalar, then @code{amd} performs aggressive\n\
 absorption.  The default is not to perform aggressive absorption.\n\
 @end table\n\
@@ -130,7 +130,7 @@
         }
 
       if (!error_state && n_row != n_col)
-        error ("amd: input matrix must be square");
+        error ("amd: matrix S must be square");
 
       if (!error_state)
         {
@@ -153,7 +153,7 @@
                     Control[AMD_AGGRESSIVE] = tmp.double_value ();
                 }
               else
-                error ("amd: options argument must be a scalar structure");
+                error ("amd: OPTS argument must be a scalar structure");
             }
 
           if (!error_state)
@@ -179,7 +179,7 @@
                   error ("amd: out of memory");
                   break;
                 case AMD_INVALID:
-                  error ("amd: input matrix is corrupted");
+                  error ("amd: matrix S is corrupted");
                   break;
                 default:
                   {
--- a/src/DLD-FUNCTIONS/balance.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/balance.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -48,36 +48,37 @@
 
 DEFUN_DLD (balance, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{aa} =} balance (@var{a}, @var{opt})\n\
-@deftypefnx {Loadable Function} {[@var{dd}, @var{aa}] =} balance (@var{a}, @var{opt})\n\
-@deftypefnx {Loadable Function} {[@var{d}, @var{p}, @var{aa}] =} balance (@var{a}, @var{opt})\n\
-@deftypefnx {Loadable Function} {[@var{cc}, @var{dd}, @var{aa}, @var{bb}] =} balance (@var{a}, @var{b}, @var{opt})\n\
+@deftypefn  {Loadable Function} {@var{AA} =} balance (@var{A})\n\
+@deftypefnx {Loadable Function} {@var{AA} =} balance (@var{A}, @var{opt})\n\
+@deftypefnx {Loadable Function} {[@var{DD}, @var{AA}] =} balance (@var{A}, @var{opt})\n\
+@deftypefnx {Loadable Function} {[@var{D}, @var{P}, @var{AA}] =} balance (@var{A}, @var{opt})\n\
+@deftypefnx {Loadable Function} {[@var{CC}, @var{DD}, @var{AA}, @var{BB}] =} balance (@var{A}, @var{B}, @var{opt})\n\
 \n\
-Compute @code{aa = dd \\ a * dd} in which @code{aa} is a matrix whose\n\
-row and column norms are roughly equal in magnitude, and\n\
-@code{dd} = @code{p * d}, in which @code{p} is a permutation\n\
-matrix and @code{d} is a diagonal matrix of powers of two.  This allows\n\
-the equilibration to be computed without round-off.  Results of\n\
-eigenvalue calculation are typically improved by balancing first.\n\
+Compute @code{@var{AA} = @var{DD} \\ @var{A} * @var{DD}} in which @var{AA}\n\
+is a matrix whose row and column norms are roughly equal in magnitude, and\n\
+@code{@var{DD} = @var{P} * @var{D}}, in which @var{P} is a permutation\n\
+matrix and @var{D} is a diagonal matrix of powers of two.  This allows the\n\
+equilibration to be computed without round-off.  Results of eigenvalue\n\
+calculation are typically improved by balancing first.\n\
 \n\
 If two output values are requested, @code{balance} returns \n\
-the diagonal @code{d} and the permutation @code{p} separately as vectors.  \n\
-In this case, @code{dd = eye(n)(:,p) * diag (d)}, where @code{n} is the\n\
-matrix size.  \n\
+the diagonal @var{D} and the permutation @var{P} separately as vectors.  \n\
+In this case, @code{@var{DD} = eye(n)(:,@var{P}) * diag (@var{D})}, where n\n\
+@t{n} is the matrix size.  \n\
 \n\
-If four output values are requested, compute @code{aa = cc*a*dd} and\n\
-@code{bb = cc*b*dd)}, in which @code{aa} and @code{bb} have non-zero\n\
-elements of approximately the same magnitude and @code{cc} and @code{dd}\n\
-are permuted diagonal matrices as in @code{dd} for the algebraic\n\
-eigenvalue problem.\n\
+If four output values are requested, compute @code{@var{AA} =\n\
+@var{CC}*@var{A}*@var{DD}} and @code{@var{BB} = @var{CC}*@var{B}*@var{DD}},\n\
+in which @var{AA} and @var{BB} have non-zero elements of approximately the\n\
+same magnitude and @var{CC} and @var{DD} are permuted diagonal matrices as\n\
+in @var{DD} for the algebraic eigenvalue problem.\n\
 \n\
-The eigenvalue balancing option @code{opt} may be one of:\n\
+The eigenvalue balancing option @var{opt} may be one of:\n\
 \n\
 @table @asis\n\
-@item @code{\"noperm\"}, @code{\"S\"}\n\
+@item \"noperm\", \"S\"\n\
 Scale only; do not permute.\n\
 \n\
-@item @code{\"noscal\"}, @code{\"P\"}\n\
+@item \"noscal\", \"P\"\n\
 Permute only; do not scale.\n\
 @end table\n\
 \n\
@@ -245,7 +246,7 @@
         bal_job = args(2).string_value ();
       else
         {
-          error ("balance: GEP argument 3 must be a string");
+          error ("balance: OPT argument must be a string");
           return retval;
         }
 
--- a/src/DLD-FUNCTIONS/besselj.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/besselj.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -388,21 +388,21 @@
 @table @code\n\
 @item besselj\n\
 Bessel functions of the first kind.  If the argument @var{opt} is supplied, \n\
-the result is multiplied by @code{exp(-abs(imag(x)))}.\n\
+the result is multiplied by @code{exp(-abs(imag(@var{x})))}.\n\
 \n\
 @item bessely\n\
 Bessel functions of the second kind.  If the argument @var{opt} is supplied,\n\
-the result is multiplied by @code{exp(-abs(imag(x)))}.\n\
+the result is multiplied by @code{exp(-abs(imag(@var{x})))}.\n\
 \n\
 @item besseli\n\
 \n\
 Modified Bessel functions of the first kind.  If the argument @var{opt} is\n\
-supplied, the result is multiplied by @code{exp(-abs(real(x)))}.\n\
+supplied, the result is multiplied by @code{exp(-abs(real(@var{x})))}.\n\
 \n\
 @item besselk\n\
 \n\
 Modified Bessel functions of the second kind.  If the argument @var{opt} is\n\
-supplied, the result is multiplied by @code{exp(x)}.\n\
+supplied, the result is multiplied by @code{exp(@var{x})}.\n\
 \n\
 @item besselh\n\
 Compute Hankel functions of the first (@var{k} = 1) or second (@var{k}\n\
--- a/src/DLD-FUNCTIONS/bsxfun.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/bsxfun.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -311,16 +311,15 @@
 
 DEFUN_DLD (bsxfun, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} bsxfun (@var{f}, @var{a}, @var{b})\n\
-Applies a binary function @var{f} element-by-element to two matrix arguments\n\
-@var{a} and @var{b}.  The function @var{f} must be capable of accepting\n\
-two column vector arguments of equal length, or one column vector\n\
+@deftypefn {Loadable Function} {} bsxfun (@var{f}, @var{A}, @var{B})\n\
+Apply a binary function @var{f} element-by-element to two matrix arguments\n\
+@var{A} and @var{B}.  The function @var{f} must be capable of accepting\n\
+two column-vector arguments of equal length, or one column vector\n\
 argument and a scalar.\n\
 \n\
-The dimensions of @var{a} and @var{b} must be equal or singleton.  The\n\
+The dimensions of @var{A} and @var{B} must be equal or singleton.  The\n\
 singleton dimensions of the matrices will be expanded to the same\n\
 dimensionality as the other matrix.\n\
-\n\
 @seealso{arrayfun, cellfun}\n\
 @end deftypefn")
 {
@@ -341,7 +340,7 @@
             error ("bsxfun: invalid function name: %s", name.c_str ());
         }
       else if (! (args(0).is_function_handle () || args(0).is_inline_function ()))
-        error ("bsxfun: first argument must be a string or function handle");
+        error ("bsxfun: F must be a string or function handle");
 
       const octave_value A = args (1);
       const octave_value B = args (2);
@@ -381,7 +380,7 @@
           for (octave_idx_type i = 0; i < nd; i++)
             if (dva (i) != dvb (i) && dva (i) != 1 && dvb (i) != 1)
               {
-                error ("bsxfun: dimensions don't match");
+                error ("bsxfun: dimensions of A and B must match");
                 break;
               }
 
--- a/src/DLD-FUNCTIONS/ccolamd.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/ccolamd.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -53,83 +53,84 @@
 
 DEFUN_DLD (ccolamd, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} ccolamd (@var{s})\n\
-@deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{s}, @var{knobs})\n\
-@deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{s}, @var{knobs}, @var{cmember})\n\
+@deftypefn  {Loadable Function} {@var{p} =} ccolamd (@var{S})\n\
+@deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{S}, @var{knobs})\n\
+@deftypefnx {Loadable Function} {@var{p} =} ccolamd (@var{S}, @var{knobs}, @var{cmember})\n\
 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} ccolamd (@dots{})\n\
 \n\
 Constrained column approximate minimum degree permutation.\n\
-@code{@var{p} = ccolamd (@var{s})} returns the column approximate minimum\n\
-degree permutation vector for the sparse matrix @var{s}.  For a non-symmetric\n\
+@code{@var{p} = ccolamd (@var{S})} returns the column approximate minimum\n\
+degree permutation vector for the sparse matrix @var{S}.  For a non-symmetric\n\
 matrix\n\
-@var{s},\n\
-@code{@var{s} (:, @var{p})} tends to have sparser LU factors than @var{s}.\n\
-@code{chol (@var{s} (:, @var{p})' * @var{s} (:, @var{p}))} also tends to be\n\
-sparser than @code{chol (@var{s}' * @var{s})}.\n\
-@code{@var{p} = ccolamd\n\
-(@var{s}, 1)} optimizes the ordering for @code{lu (@var{s} (:, @var{p}))}.\n\
-The ordering is followed by a column elimination tree post-ordering.\n\
+@var{S},\n\
+@code{@var{S}(:, @var{p})} tends to have sparser LU@tie{}factors than\n\
+@var{S}.  @code{chol (@var{S}(:, @var{p})' * @var{S}(:, @var{p}))} also\n\
+tends to be sparser than @code{chol (@var{S}' * @var{S})}.  @code{@var{p} =\n\
+ccolamd (@var{S}, 1)} optimizes the ordering for @code{lu (@var{S}(:,\n\
+@var{p}))}.  The ordering is followed by a column elimination tree\n\
+post-ordering.\n\
 \n\
-@var{knobs} is an optional one- to five-element input vector, with a default\n\
-value of @code{[0 10 10 1 0]} if not present or empty.  Entries not present\n\
-are set to their defaults.\n\
+@var{knobs} is an optional 1-element to 5-element input vector, with a\n\
+default value of @code{[0 10 10 1 0]} if not present or empty.  Entries not\n\
+present are set to their defaults.\n\
 \n\
 @table @code\n\
 @item @var{knobs}(1)\n\
-if nonzero, the ordering is optimized for @code{lu (S (:, p))}.  It will be a\n\
-poor ordering for @code{chol (@var{s} (:, @var{p})' * @var{s} (:,\n\
+if nonzero, the ordering is optimized for @code{lu (S(:, p))}.  It will be a\n\
+poor ordering for @code{chol (@var{S}(:, @var{p})' * @var{S}(:,\n\
 @var{p}))}.  This is the most important knob for ccolamd.\n\
 \n\
-@item @var{knob}(2)\n\
-if @var{s} is m-by-n, rows with more than @code{max (16, @var{knobs} (2) *\n\
+@item @var{knobs}(2)\n\
+if @var{S} is m-by-n, rows with more than @code{max (16, @var{knobs}(2) *\n\
 sqrt (n))} entries are ignored.\n\
 \n\
-@item @var{knob}(3)\n\
-columns with more than @code{max (16, @var{knobs} (3) * sqrt (min (@var{m},\n\
+@item @var{knobs}(3)\n\
+columns with more than @code{max (16, @var{knobs}(3) * sqrt (min (@var{m},\n\
 @var{n})))} entries are ignored and ordered last in the output permutation\n\
 (subject to the cmember constraints).\n\
 \n\
-@item @var{knob}(4)\n\
+@item @var{knobs}(4)\n\
 if nonzero, aggressive absorption is performed.\n\
 \n\
-@item @var{knob}(5)\n\
+@item @var{knobs}(5)\n\
 if nonzero, statistics and knobs are printed.\n\
 \n\
 @end table\n\
 \n\
-@var{cmember} is an optional vector of length n.  It defines the constraints\n\
-on the column ordering.  If @code{@var{cmember} (j) = @var{c}}, then column\n\
-@var{j} is in constraint set @var{c} (@var{c} must be in the range 1 to\n\
-@var{n}).  In the output permutation @var{p}, all columns in set 1 appear\n\
+@var{cmember} is an optional vector of length @math{n}.  It defines the\n\
+constraints on the column ordering.  If @code{@var{cmember}(j) = @var{c}},\n\
+then column @var{j} is in constraint set @var{c} (@var{c} must be in the\n\
+range 1 to\n\
+n).  In the output permutation @var{p}, all columns in set 1 appear\n\
 first, followed by all columns in set 2, and so on.  @code{@var{cmember} =\n\
 ones(1,n)} if not present or empty.\n\
-@code{ccolamd (@var{s}, [], 1 : @var{n})} returns @code{1 : @var{n}}\n\
+@code{ccolamd (@var{S}, [], 1 : n)} returns @code{1 : n}\n\
 \n\
-@code{@var{p} = ccolamd (@var{s})} is about the same as\n\
-@code{@var{p} = colamd (@var{s})}.  @var{knobs} and its default values\n\
+@code{@var{p} = ccolamd (@var{S})} is about the same as\n\
+@code{@var{p} = colamd (@var{S})}.  @var{knobs} and its default values\n\
 differ.  @code{colamd} always does aggressive absorption, and it finds an\n\
-ordering suitable for both @code{lu (@var{s} (:, @var{p}))} and @code{chol\n\
-(@var{S} (:, @var{p})' * @var{s} (:, @var{p}))}; it cannot optimize its\n\
-ordering for @code{lu (@var{s} (:, @var{p}))} to the extent that\n\
-@code{ccolamd (@var{s}, 1)} can.\n\
+ordering suitable for both @code{lu (@var{S}(:, @var{p}))} and @code{chol\n\
+(@var{S}(:, @var{p})' * @var{S}(:, @var{p}))}; it cannot optimize its\n\
+ordering for @code{lu (@var{S}(:, @var{p}))} to the extent that\n\
+@code{ccolamd (@var{S}, 1)} can.\n\
 \n\
 @var{stats} is an optional 20-element output vector that provides data\n\
-about the ordering and the validity of the input matrix @var{s}.  Ordering\n\
-statistics are in @code{@var{stats} (1 : 3)}.  @code{@var{stats} (1)} and\n\
-@code{@var{stats} (2)} are the number of dense or empty rows and columns\n\
-ignored by @sc{ccolamd} and @code{@var{stats} (3)} is the number of garbage\n\
+about the ordering and the validity of the input matrix @var{S}.  Ordering\n\
+statistics are in @code{@var{stats}(1 : 3)}.  @code{@var{stats}(1)} and\n\
+@code{@var{stats}(2)} are the number of dense or empty rows and columns\n\
+ignored by @sc{ccolamd} and @code{@var{stats}(3)} is the number of garbage\n\
 collections performed on the internal data structure used by @sc{ccolamd}\n\
-(roughly of size @code{2.2 * nnz (@var{s}) + 4 * @var{m} + 7 * @var{n}}\n\
+(roughly of size @code{2.2 * nnz (@var{S}) + 4 * @var{m} + 7 * @var{n}}\n\
 integers).\n\
 \n\
-@code{@var{stats} (4 : 7)} provide information if CCOLAMD was able to\n\
-continue.  The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\
-invalid.  @code{@var{stats} (5)} is the rightmost column index that is\n\
+@code{@var{stats}(4 : 7)} provide information if CCOLAMD was able to\n\
+continue.  The matrix is OK if @code{@var{stats}(4)} is zero, or 1 if\n\
+invalid.  @code{@var{stats}(5)} is the rightmost column index that is\n\
 unsorted or contains duplicate entries, or zero if no such column exists.\n\
-@code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\
-index in the column index given by @code{@var{stats} (5)}, or zero if no\n\
-such row index exists.  @code{@var{stats} (7)} is the number of duplicate\n\
-or out-of-order row indices.  @code{@var{stats} (8 : 20)} is always zero in\n\
+@code{@var{stats}(6)} is the last seen duplicate or out-of-order row\n\
+index in the column index given by @code{@var{stats}(5)}, or zero if no\n\
+such row index exists.  @code{@var{stats}(7)} is the number of duplicate\n\
+or out-of-order row indices.  @code{@var{stats}(8 : 20)} is always zero in\n\
 the current version of @sc{ccolamd} (reserved for future use).\n\
 \n\
 The authors of the code itself are S. Larimore, T. Davis (Univ. of Florida)\n\
@@ -277,7 +278,7 @@
             cmember[i] = static_cast<octave_idx_type>(in_cmember(i) - 1);
           
           if (cslen != n_col)
-            error ("ccolamd: cmember must be of length equal to #cols of A");
+            error ("ccolamd: CMEMBER must be of length equal to #cols of A");
           else
             // Order the columns (destroys A)
             if (! CCOLAMD_NAME () (n_row, n_col, Alen, A, p, knobs, stats, cmember))
@@ -336,26 +337,26 @@
 
 DEFUN_DLD (csymamd, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} csymamd (@var{s})\n\
-@deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{s}, @var{knobs})\n\
-@deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{s}, @var{knobs}, @var{cmember})\n\
+@deftypefn  {Loadable Function} {@var{p} =} csymamd (@var{S})\n\
+@deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{S}, @var{knobs})\n\
+@deftypefnx {Loadable Function} {@var{p} =} csymamd (@var{S}, @var{knobs}, @var{cmember})\n\
 @deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} csymamd (@dots{})\n\
 \n\
-For a symmetric positive definite matrix @var{s}, returns the permutation\n\
-vector @var{p} such that @code{@var{s}(@var{p},@var{p})} tends to have a\n\
-sparser Cholesky factor than @var{s}.  Sometimes @code{csymamd} works well\n\
-for symmetric indefinite matrices too.  The matrix @var{s} is assumed to\n\
-be symmetric; only the strictly lower triangular part is referenced.\n\
-@var{s} must be square.  The ordering is followed by an elimination tree\n\
+For a symmetric positive definite matrix @var{S}, returns the permutation\n\
+vector @var{p} such that @code{@var{S}(@var{p},@var{p})} tends to have a\n\
+sparser Cholesky@tie{}factor than @var{S}.  Sometimes @code{csymamd} works\n\
+well for symmetric indefinite matrices too.  The matrix @var{S} is assumed\n\
+to be symmetric; only the strictly lower triangular part is referenced.\n\
+@var{S} must be square.  The ordering is followed by an elimination tree\n\
 post-ordering.\n\
 \n\
-@var{knobs} is an optional one- to three-element input vector, with a\n\
+@var{knobs} is an optional 1-element to 3-element input vector, with a\n\
 default value of @code{[10 1 0]} if present or empty.  Entries not\n\
 present are set to their defaults.\n\
 \n\
 @table @code\n\
 @item @var{knobs}(1)\n\
-If @var{s} is n-by-n, then rows and columns with more than\n\
+If @var{S} is n-by-n, then rows and columns with more than\n\
 @code{max(16,@var{knobs}(1)*sqrt(n))} entries are ignored, and ordered\n\
 last in the output permutation (subject to the cmember constraints).\n\
 \n\
@@ -368,23 +369,23 @@
 @end table\n\
 \n\
 @var{cmember} is an optional vector of length n. It defines the constraints\n\
-on the ordering.  If @code{@var{cmember}(j) = @var{s}}, then row/column j is\n\
+on the ordering.  If @code{@var{cmember}(j) = @var{S}}, then row/column j is\n\
 in constraint set @var{c} (@var{c} must be in the range 1 to n).  In the\n\
 output permutation @var{p}, rows/columns in set 1 appear first, followed\n\
 by all rows/columns in set 2, and so on.  @code{@var{cmember} = ones(1,n)}\n\
-if not present or empty.  @code{csymamd(@var{s},[],1:n)} returns @code{1:n}.\n\
+if not present or empty.  @code{csymamd(@var{S},[],1:n)} returns @code{1:n}.\n\
 \n\
-@code{@var{p} = csymamd(@var{s})} is about the same as @code{@var{p} =\n\
-symamd(@var{s})}.  @var{knobs} and its default values differ.\n\
+@code{@var{p} = csymamd(@var{S})} is about the same as @code{@var{p} =\n\
+symamd(@var{S})}.  @var{knobs} and its default values differ.\n\
 \n\
-@code{@var{stats} (4:7)} provide information if CCOLAMD was able to\n\
-continue.  The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\
-invalid.  @code{@var{stats} (5)} is the rightmost column index that is\n\
+@code{@var{stats}(4:7)} provide information if CCOLAMD was able to\n\
+continue.  The matrix is OK if @code{@var{stats}(4)} is zero, or 1 if\n\
+invalid.  @code{@var{stats}(5)} is the rightmost column index that is\n\
 unsorted or contains duplicate entries, or zero if no such column exists.\n\
-@code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\
-index in the column index given by @code{@var{stats} (5)}, or zero if no\n\
-such row index exists.  @code{@var{stats} (7)} is the number of duplicate\n\
-or out-of-order row indices.  @code{@var{stats} (8:20)} is always zero in\n\
+@code{@var{stats}(6)} is the last seen duplicate or out-of-order row\n\
+index in the column index given by @code{@var{stats}(5)}, or zero if no\n\
+such row index exists.  @code{@var{stats}(7)} is the number of duplicate\n\
+or out-of-order row indices.  @code{@var{stats}(8:20)} is always zero in\n\
 the current version of @sc{ccolamd} (reserved for future use).\n\
 \n\
 The authors of the code itself are S. Larimore, T. Davis (Uni of Florida)\n\
@@ -494,7 +495,7 @@
 
       if (n_row != n_col)
         {
-          error ("symamd: matrix must be square");
+          error ("csymamd: matrix S must be square");
           return retval;
         }
 
@@ -512,13 +513,13 @@
             cmember[i] = static_cast<octave_idx_type>(in_cmember(i) - 1);
           
           if (cslen != n_col)
-            error ("ccolamd: cmember must be of length equal to #cols of A");
+            error ("csymamd: CMEMBER must be of length equal to #cols of A");
           else
             if (!CSYMAMD_NAME () (n_col, ridx, cidx, perm, knobs, stats, 
                                   &calloc, &free, cmember, -1))
               {
                 CSYMAMD_NAME (_report) (stats) ;
-                error ("symamd: internal error!") ;
+                error ("csymamd: internal error!") ;
                 return retval;
               }
         }
@@ -528,7 +529,7 @@
                                 &calloc, &free, 0, -1))
             {
               CSYMAMD_NAME (_report) (stats) ;
-              error ("symamd: internal error!") ;
+              error ("csymamd: internal error!") ;
               return retval;
             }
         }
--- a/src/DLD-FUNCTIONS/cellfun.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/cellfun.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -93,17 +93,17 @@
 
 DEFUN_DLD (cellfun, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {} cellfun (@var{name}, @var{c})\n\
-@deftypefnx {Loadable Function} {} cellfun (\"size\", @var{c}, @var{k})\n\
-@deftypefnx {Loadable Function} {} cellfun (\"isclass\", @var{c}, @var{class})\n\
-@deftypefnx {Loadable Function} {} cellfun (@var{func}, @var{c})\n\
-@deftypefnx {Loadable Function} {} cellfun (@var{func}, @var{c}, @var{d})\n\
+@deftypefn  {Loadable Function} {} cellfun (@var{name}, @var{C})\n\
+@deftypefnx {Loadable Function} {} cellfun (\"size\", @var{C}, @var{k})\n\
+@deftypefnx {Loadable Function} {} cellfun (\"isclass\", @var{C}, @var{class})\n\
+@deftypefnx {Loadable Function} {} cellfun (@var{func}, @var{C})\n\
+@deftypefnx {Loadable Function} {} cellfun (@var{func}, @var{C}, @var{D})\n\
 @deftypefnx {Loadable Function} {[@var{a}, @dots{}] =} cellfun (@dots{})\n\
 @deftypefnx {Loadable Function} {} cellfun (@dots{}, 'ErrorHandler', @var{errfunc})\n\
 @deftypefnx {Loadable Function} {} cellfun (@dots{}, 'UniformOutput', @var{val})\n\
 \n\
 Evaluate the function named @var{name} on the elements of the cell array\n\
-@var{c}.  Elements in @var{c} are passed on to the named function\n\
+@var{C}.  Elements in @var{C} are passed on to the named function\n\
 individually.  The function @var{name} can be one of the functions\n\
 \n\
 @table @code\n\
@@ -137,7 +137,7 @@
 function (in a character string).  In the case of a character string\n\
 argument, the function must accept a single argument named @var{x}, and\n\
 it must return a string value.  The function can take one or more arguments,\n\
-with the inputs arguments given by @var{c}, @var{d}, etc.  Equally the\n\
+with the inputs arguments given by @var{C}, @var{D}, etc.  Equally the\n\
 function can return one or more output arguments.  For example:\n\
 \n\
 @example\n\
@@ -223,7 +223,7 @@
 
   if (! args(1).is_cell ())
     {
-      error ("cellfun: second argument must be a cell array");
+      error ("cellfun: C must be a cell array");
 
       return retval;
     }
@@ -285,7 +285,7 @@
               int d = args(2).nint_value () - 1;
 
               if (d < 0)
-                error ("cellfun: third argument must be a positive integer");
+                error ("cellfun: K must be a positive integer");
 
               if (! error_state)
                 {
@@ -302,7 +302,7 @@
                 }
             }
           else
-            error ("not enough arguments for `size'");
+            error ("cellfun: not enough arguments for \"size\"");
         }
       else if (name == "isclass")
         {
@@ -316,7 +316,7 @@
               retval(0) = result;
             }
           else
-            error ("not enough arguments for `isclass'");
+            error ("cellfun: not enough arguments for \"isclass\"");
         }
       else
         {
@@ -336,7 +336,7 @@
             {
               func = symbol_table::find_function (name);
               if (func.is_undefined ())
-                error ("cellfun: invalid function name: %s", name.c_str ());
+                error ("cellfun: invalid function NAME: %s", name.c_str ());
             }
         }
     }
@@ -375,13 +375,13 @@
                   error_handler = symbol_table::find_function (err_name);
                   if (error_handler.is_undefined ())
                     {
-                      error ("cellfun: invalid function name: %s", err_name.c_str ());
+                      error ("cellfun: invalid function NAME: %s", err_name.c_str ());
                       break;
                     }
                 }
               else
                 {
-                  error ("invalid errorhandler value");
+                  error ("cellfun: invalid value for 'ErrorHandler' function");
                   break;
                 }
             }
@@ -490,7 +490,7 @@
                         retv[j] = val.resize (fdims);
                       else
                         {
-                          error ("cellfun: expecting all values to be scalars for UniformOutput = true");
+                          error ("cellfun: all values must be scalars when UniformOutput = true");
                           break;
                         }
                     }
@@ -514,7 +514,7 @@
                             }
                           else
                             {
-                              error ("cellfun: expecting all values to be scalars for UniformOutput = true");
+                              error ("cellfun: all values must be scalars when UniformOutput = true");
                               break;
                             }
                         }
@@ -576,7 +576,7 @@
         }
     }
   else
-    error ("cellfun: first argument must be a string or function handle");
+    error ("cellfun: argument NAME must be a string or function handle");
 
   return retval;
 }
@@ -948,11 +948,11 @@
 
 DEFUN_DLD (num2cell, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{c} =} num2cell (@var{m})\n\
-@deftypefnx {Loadable Function} {@var{c} =} num2cell (@var{m}, @var{dim})\n\
-Convert the matrix @var{m} to a cell array.  If @var{dim} is defined, the\n\
-value @var{c} is of dimension 1 in this dimension and the elements of\n\
-@var{m} are placed into @var{c} in slices.  For example:\n\
+@deftypefn  {Loadable Function} {@var{C} =} num2cell (@var{A})\n\
+@deftypefnx {Loadable Function} {@var{C} =} num2cell (@var{A}, @var{dim})\n\
+Convert the numeric matrix @var{A} to a cell array.  If @var{dim} is\n\
+defined, the value @var{C} is of dimension 1 in this dimension and the\n\
+elements of @var{A} are placed into @var{C} in slices.  For example:\n\
 \n\
 @example\n\
 @group\n\
@@ -1275,18 +1275,18 @@
 
 DEFUN_DLD (mat2cell, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{b} =} mat2cell (@var{a}, @var{m}, @var{n})\n\
-@deftypefnx {Loadable Function} {@var{b} =} mat2cell (@var{a}, @var{d1}, @var{d2}, @dots{})\n\
-@deftypefnx {Loadable Function} {@var{b} =} mat2cell (@var{a}, @var{r})\n\
-Convert the matrix @var{a} to a cell array.  If @var{a} is 2-D, then\n\
-it is required that @code{sum (@var{m}) == size (@var{a}, 1)} and\n\
-@code{sum (@var{n}) == size (@var{a}, 2)}.  Similarly, if @var{a} is\n\
-a multi-dimensional and the number of dimensional arguments is equal\n\
-to the dimensions of @var{a}, then it is required that @code{sum (@var{di})\n\
-== size (@var{a}, i)}.\n\
+@deftypefn  {Loadable Function} {@var{C} =} mat2cell (@var{A}, @var{m}, @var{n})\n\
+@deftypefnx {Loadable Function} {@var{C} =} mat2cell (@var{A}, @var{d1}, @var{d2}, @dots{})\n\
+@deftypefnx {Loadable Function} {@var{C} =} mat2cell (@var{A}, @var{r})\n\
+Convert the matrix @var{A} to a cell array.  If @var{A} is 2-D, then\n\
+it is required that @code{sum (@var{m}) == size (@var{A}, 1)} and\n\
+@code{sum (@var{n}) == size (@var{A}, 2)}.  Similarly, if @var{A} is\n\
+multi-dimensional and the number of dimensional arguments is equal\n\
+to the dimensions of @var{A}, then it is required that @code{sum (@var{di})\n\
+== size (@var{A}, i)}.\n\
 \n\
 Given a single dimensional argument @var{r}, the other dimensional\n\
-arguments are assumed to equal @code{size (@var{a},@var{i})}.\n\
+arguments are assumed to equal @code{size (@var{A},@var{i})}.\n\
 \n\
 An example of the use of mat2cell is\n\
 \n\
@@ -1478,13 +1478,13 @@
         {
           dim = args(3).int_value () - 1;
           if (dim < 0)
-            error ("cellslices: dim must be a valid dimension");
+            error ("cellslices: DIM must be a valid dimension");
         }
 
       if (! error_state)
         {
           if (lb.length () != ub.length ())
-            error ("cellslices: the lengths of lb and ub must match");
+            error ("cellslices: the lengths of LB and UB must match");
           else
             {
               Cell retcell;
@@ -1568,11 +1568,14 @@
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{y} =} cellindexmat (@var{x}, @var{varargin})\n\
 Given a cell array of matrices @var{x}, this function computes\n\
+\n\
 @example\n\
+@group\n\
   Y = cell (size (X));\n\
   for i = 1:numel (X)\n\
     Y@{i@} = X@{i@}(varargin@{:@});\n\
   endfor\n\
+@end group\n\
 @end example\n\
 @seealso{cellfun, cellslices}\n\
 @end deftypefn")
@@ -1599,7 +1602,7 @@
           retval = y;
         }
       else
-        error ("cellindexmat: first argument must be a cell");
+        error ("cellindexmat: X must be a cell");
     }
   else
     print_usage ();
--- a/src/DLD-FUNCTIONS/chol.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/chol.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -62,47 +62,47 @@
 
 DEFUN_DLD (chol, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{r} =} chol (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{r}, @var{p}] =} chol (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{r}, @var{p}, @var{q}] =} chol (@var{s})\n\
-@deftypefnx {Loadable Function} {[@var{r}, @var{p}, @var{q}] =} chol (@var{s}, 'vector')\n\
-@deftypefnx {Loadable Function} {[@var{l}, @dots{}] =} chol (@dots{}, 'lower')\n\
+@deftypefn  {Loadable Function} {@var{R} =} chol (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{R}, @var{p}] =} chol (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{R}, @var{p}, @var{Q}] =} chol (@var{S})\n\
+@deftypefnx {Loadable Function} {[@var{R}, @var{p}, @var{Q}] =} chol (@var{S}, 'vector')\n\
+@deftypefnx {Loadable Function} {[@var{L}, @dots{}] =} chol (@dots{}, 'lower')\n\
 @cindex Cholesky factorization\n\
-Compute the Cholesky factor, @var{r}, of the symmetric positive definite\n\
-matrix @var{a}, where\n\
+Compute the Cholesky factor, @var{R}, of the symmetric positive definite\n\
+matrix @var{A}, where\n\
 @tex\n\
 $ R^T R = A $.\n\
 @end tex\n\
 @ifnottex\n\
 \n\
 @example\n\
-@var{r}' * @var{r} = @var{a}.\n\
+@var{R}' * @var{R} = @var{A}.\n\
 @end example\n\
 \n\
 @end ifnottex\n\
 \n\
-Called with one output argument @code{chol} fails if @var{a} or @var{s} is\n\
+Called with one output argument @code{chol} fails if @var{A} or @var{S} is\n\
 not positive definite.  With two or more output arguments @var{p} flags\n\
 whether the matrix was positive definite and @code{chol} does not fail.  A\n\
-zero value indicated that the matrix was positive definite and the @var{r}\n\
+zero value indicated that the matrix was positive definite and the @var{R}\n\
 gives the factorization, and @var{p} will have a positive value otherwise.\n\
 \n\
 If called with 3 outputs then a sparsity preserving row/column permutation\n\
-is applied to @var{a} prior to the factorization.  That is @var{r}\n\
-is the factorization of @code{@var{a}(@var{q},@var{q})} such that\n\
+is applied to @var{A} prior to the factorization.  That is @var{R}\n\
+is the factorization of @code{@var{A}(@var{Q},@var{Q})} such that\n\
 @tex\n\
 $ R^T R = Q^T A Q$.\n\
 @end tex\n\
 @ifnottex\n\
 \n\
 @example\n\
-@var{r}' * @var{r} = @var{q}' * @var{a} * @var{q}.\n\
+@var{R}' * @var{R} = @var{Q}' * @var{A} * @var{Q}.\n\
 @end example\n\
 \n\
 @end ifnottex\n\
 \n\
 The sparsity preserving permutation is generally returned as a matrix.\n\
-However, given the flag 'vector', @var{q} will be returned as a vector\n\
+However, given the flag 'vector', @var{Q} will be returned as a vector\n\
 such that\n\
 @tex\n\
 $ R^T R = A (Q, Q)$.\n\
@@ -110,7 +110,7 @@
 @ifnottex\n\
 \n\
 @example\n\
-@var{r}' * @var{r} = a (@var{q}, @var{q}).\n\
+@var{R}' * @var{R} = @var{A}(@var{Q}, @var{Q}).\n\
 @end example\n\
 \n\
 @end ifnottex\n\
@@ -123,7 +123,7 @@
 @ifnottex\n\
 \n\
 @example\n\
-@var{l} * @var{l}' = @var{a}.\n\
+@var{L} * @var{L}' = @var{A}.\n\
 @end example\n\
 \n\
 @end ifnottex\n\
@@ -207,7 +207,7 @@
                         retval(0) = fact.R();
                     }
                   else
-                    error ("chol: matrix not positive definite");
+                    error ("chol: input matrix must be positive definite");
                 }
             }
           else if (arg.is_complex_type ())
@@ -236,7 +236,7 @@
                         retval(0) = fact.R();
                     }
                   else
-                    error ("chol: matrix not positive definite");
+                    error ("chol: input matrix must be positive definite");
                 }
             }
           else
@@ -261,7 +261,7 @@
                         retval(0) = get_chol_r (fact);
                     }
                   else
-                    error ("chol: matrix not positive definite");
+                    error ("chol: input matrix must be positive definite");
                 }
             }
           else if (arg.is_complex_type ())
@@ -281,7 +281,7 @@
                         retval(0) = get_chol_r (fact);
                     }
                   else
-                    error ("chol: matrix not positive definite");
+                    error ("chol: input matrix must be positive definite");
                 }
             }
           else
@@ -306,7 +306,7 @@
                         retval(0) = get_chol_r (fact);
                     }
                   else
-                    error ("chol: matrix not positive definite");
+                    error ("chol: input matrix must be positive definite");
                 }
             }
           else if (arg.is_complex_type ())
@@ -326,7 +326,7 @@
                         retval(0) = get_chol_r (fact);
                     }
                   else
-                    error ("chol: matrix not positive definite");
+                    error ("chol: input matrix must be positive definite");
                 }
             }
           else
@@ -351,10 +351,10 @@
 
 DEFUN_DLD (cholinv, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} cholinv (@var{a})\n\
-Use the Cholesky factorization to compute the inverse of the\n\
-symmetric positive definite matrix @var{a}.\n\
-@seealso{chol, chol2inv}\n\
+@deftypefn {Loadable Function} {} cholinv (@var{A})\n\
+Use the Cholesky@tie{}factorization to compute the inverse of the\n\
+symmetric positive definite matrix @var{A}.\n\
+@seealso{chol, chol2inv, inv}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -385,7 +385,7 @@
                       if (info == 0)
                         retval = chol.inverse ();
                       else
-                        error ("cholinv: matrix not positive definite");
+                        error ("cholinv: A must be positive definite");
                     }
                 }
               else if (arg.is_complex_type ())
@@ -399,7 +399,7 @@
                       if (info == 0)
                         retval = chol.inverse ();
                       else
-                        error ("cholinv: matrix not positive definite");
+                        error ("cholinv: A must be positive definite");
                     }
                 }
               else
@@ -418,7 +418,7 @@
                       if (info == 0)
                         retval = chol.inverse ();
                       else
-                        error ("cholinv: matrix not positive definite");
+                        error ("cholinv: A must be positive definite");
                     }
                 }
               else if (arg.is_complex_type ())
@@ -432,7 +432,7 @@
                       if (info == 0)
                         retval = chol.inverse ();
                       else
-                        error ("cholinv: matrix not positive definite");
+                        error ("cholinv: A must be positive definite");
                     }
                 }
               else
@@ -451,7 +451,7 @@
                       if (info == 0)
                         retval = chol.inverse ();
                       else
-                        error ("cholinv: matrix not positive definite");
+                        error ("cholinv: A must be positive definite");
                     }
                 }
               else if (arg.is_complex_type ())
@@ -465,7 +465,7 @@
                       if (info == 0)
                         retval = chol.inverse ();
                       else
-                        error ("cholinv: matrix not positive definite");
+                        error ("cholinv: A must be positive definite");
                     }
                 }
               else
@@ -501,13 +501,13 @@
 
 DEFUN_DLD (chol2inv, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} chol2inv (@var{u})\n\
+@deftypefn {Loadable Function} {} chol2inv (@var{U})\n\
 Invert a symmetric, positive definite square matrix from its Cholesky\n\
-decomposition, @var{u}.  Note that @var{u} should be an upper-triangular\n\
-matrix with positive diagonal elements.  @code{chol2inv (@var{u})}\n\
-provides @code{inv (@var{u}'*@var{u})} but it is much faster than\n\
+decomposition, @var{U}.  Note that @var{U} should be an upper-triangular\n\
+matrix with positive diagonal elements.  @code{chol2inv (@var{U})}\n\
+provides @code{inv (@var{U}'*@var{U})} but it is much faster than\n\
 using @code{inv}.\n\
-@seealso{chol, cholinv}\n\
+@seealso{chol, cholinv, inv}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -594,7 +594,7 @@
 DEFUN_DLD (cholupdate, args, nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {[@var{R1}, @var{info}] =} cholupdate (@var{R}, @var{u}, @var{op})\n\
-Update or downdate a Cholesky factorization.  Given an upper triangular\n\
+Update or downdate a Cholesky@tie{}factorization.  Given an upper triangular\n\
 matrix @var{R} and a column vector @var{u}, attempt to determine another\n\
 upper triangular matrix @var{R1} such that\n\
 @itemize @bullet\n\
@@ -725,9 +725,9 @@
               error ("cholupdate: singular matrix");
           }
         else
-          error ("cholupdate: dimension mismatch");
+          error ("cholupdate: dimension mismatch between R and U");
       else
-        error ("cholupdate: op must be \"+\" or \"-\"");
+        error ("cholupdate: OP must be \"+\" or \"-\"");
     }
   else
     print_usage ();
@@ -813,7 +813,8 @@
 
 DEFUN_DLD (cholinsert, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{R1}, @var{info}] =} cholinsert (@var{R}, @var{j}, @var{u})\n\
+@deftypefn  {Loadable Function} {@var{R1} =} cholinsert (@var{R}, @var{j}, @var{u})\n\
+@deftypefnx {Loadable Function} {[@var{R1}, @var{info}] =} cholinsert (@var{R}, @var{j}, @var{u})\n\
 Given a Cholesky@tie{}factorization of a real symmetric or complex Hermitian\n\
 positive definite matrix @w{@var{A} = @var{R}'*@var{R}}, @var{R}@tie{}upper\n\
 triangular, return the Cholesky@tie{}factorization of\n\
@@ -922,10 +923,10 @@
                 error ("cholinsert: diagonal element must be real");
             }
           else
-            error ("cholinsert: index out of range");
+            error ("cholinsert: index J out of range");
         }
       else
-        error ("cholinsert: dimension mismatch");
+        error ("cholinsert: dimension mismatch between R and U");
     }
   else
     print_usage ();
@@ -1081,10 +1082,10 @@
                 }
             }
           else
-            error ("choldelete: index out of range");
+            error ("choldelete: index J out of range");
         }
       else
-        error ("choldelete: dimension mismatch");
+        error ("choldelete: matrix R must be square");
     }
   else
     print_usage ();
@@ -1222,10 +1223,10 @@
                 }
             }
           else
-            error ("cholshift: index out of range");
+            error ("cholshift: index I or J is out of range");
         }
       else
-        error ("cholshift: dimension mismatch");
+        error ("cholshift: R must be a square matrix");
     }
   else
     print_usage ();
--- a/src/DLD-FUNCTIONS/colamd.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/colamd.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -210,37 +210,37 @@
 
 DEFUN_DLD (colamd, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} colamd (@var{s})\n\
-@deftypefnx {Loadable Function} {@var{p} =} colamd (@var{s}, @var{knobs})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{s}, @var{knobs})\n\
+@deftypefn  {Loadable Function} {@var{p} =} colamd (@var{S})\n\
+@deftypefnx {Loadable Function} {@var{p} =} colamd (@var{S}, @var{knobs})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{S})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} colamd (@var{S}, @var{knobs})\n\
 \n\
 Column approximate minimum degree permutation.\n\
-@code{@var{p} = colamd (@var{s})} returns the column approximate minimum\n\
-degree permutation vector for the sparse matrix @var{s}.  For a\n\
-non-symmetric matrix @var{s}, @code{@var{s} (:,@var{p})} tends to have\n\
-sparser LU factors than @var{s}.  The Cholesky factorization of\n\
-@code{@var{s}(:,@var{p})' * @var{s} (:,@var{p})} also tends to be sparser\n\
-than that of @code{@var{s}' * @var{s}}.\n\
+@code{@var{p} = colamd (@var{S})} returns the column approximate minimum\n\
+degree permutation vector for the sparse matrix @var{S}.  For a\n\
+non-symmetric matrix @var{S}, @code{@var{S}(:,@var{p})} tends to have\n\
+sparser LU@tie{}factors than @var{S}.  The Cholesky@tie{}factorization of\n\
+@code{@var{S}(:,@var{p})' * @var{S}(:,@var{p})} also tends to be sparser\n\
+than that of @code{@var{S}' * @var{S}}.\n\
 \n\
-@var{knobs} is an optional one- to three-element input vector.  If @var{s} is\n\
+@var{knobs} is an optional one- to three-element input vector.  If @var{S} is\n\
 m-by-n, then rows with more than @code{max(16,@var{knobs}(1)*sqrt(n))}\n\
 entries are ignored.  Columns with more than\n\
-@code{max(16,knobs(2)*sqrt(min(m,n)))} entries are removed prior to\n\
+@code{max(16,@var{knobs}(2)*sqrt(min(m,n)))} entries are removed prior to\n\
 ordering, and ordered last in the output permutation @var{p}.  Only\n\
-completely dense rows or columns are removed if @code{@var{knobs} (1)} and\n\
-@code{@var{knobs} (2)} are < 0, respectively.  If @code{@var{knobs} (3)} is\n\
+completely dense rows or columns are removed if @code{@var{knobs}(1)} and\n\
+@code{@var{knobs}(2)} are < 0, respectively.  If @code{@var{knobs}(3)} is\n\
 nonzero, @var{stats} and @var{knobs} are printed.  The default is\n\
 @code{@var{knobs} = [10 10 0]}.  Note that @var{knobs} differs from earlier\n\
 versions of colamd\n\
 \n\
 @var{stats} is an optional 20-element output vector that provides data\n\
-about the ordering and the validity of the input matrix @var{s}.  Ordering\n\
-statistics are in @code{@var{stats} (1:3)}.  @code{@var{stats} (1)} and\n\
-@code{@var{stats} (2)} are the number of dense or empty rows and columns\n\
-ignored by @sc{colamd} and @code{@var{stats} (3)} is the number of garbage\n\
+about the ordering and the validity of the input matrix @var{S}.  Ordering\n\
+statistics are in @code{@var{stats}(1:3)}.  @code{@var{stats}(1)} and\n\
+@code{@var{stats}(2)} are the number of dense or empty rows and columns\n\
+ignored by @sc{colamd} and @code{@var{stats}(3)} is the number of garbage\n\
 collections performed on the internal data structure used by @sc{colamd}\n\
-(roughly of size @code{2.2 * nnz(@var{s}) + 4 * @var{m} + 7 * @var{n}}\n\
+(roughly of size @code{2.2 * nnz(@var{S}) + 4 * @var{m} + 7 * @var{n}}\n\
 integers).\n\
 \n\
 Octave built-in functions are intended to generate valid sparse matrices,\n\
@@ -251,20 +251,20 @@
 more times in the same column) or if the row indices in a column are out\n\
 of order, then @sc{colamd} can correct these errors by ignoring the duplicate\n\
 entries and sorting each column of its internal copy of the matrix\n\
-@var{s} (the input matrix @var{s} is not repaired, however).  If a matrix\n\
+@var{S} (the input matrix @var{S} is not repaired, however).  If a matrix\n\
 is invalid in other ways then @sc{colamd} cannot continue, an error message\n\
 is printed, and no output arguments (@var{p} or @var{stats}) are returned.\n\
 @sc{colamd} is thus a simple way to check a sparse matrix to see if it's\n\
 valid.\n\
 \n\
-@code{@var{stats} (4:7)} provide information if COLAMD was able to\n\
-continue.  The matrix is OK if @code{@var{stats} (4)} is zero, or 1 if\n\
-invalid.  @code{@var{stats} (5)} is the rightmost column index that is\n\
+@code{@var{stats}(4:7)} provide information if COLAMD was able to\n\
+continue.  The matrix is OK if @code{@var{stats}(4)} is zero, or 1 if\n\
+invalid.  @code{@var{stats}(5)} is the rightmost column index that is\n\
 unsorted or contains duplicate entries, or zero if no such column exists.\n\
-@code{@var{stats} (6)} is the last seen duplicate or out-of-order row\n\
-index in the column index given by @code{@var{stats} (5)}, or zero if no\n\
-such row index exists.  @code{@var{stats} (7)} is the number of duplicate\n\
-or out-of-order row indices.  @code{@var{stats} (8:20)} is always zero in\n\
+@code{@var{stats}(6)} is the last seen duplicate or out-of-order row\n\
+index in the column index given by @code{@var{stats}(5)}, or zero if no\n\
+such row index exists.  @code{@var{stats}(7)} is the number of duplicate\n\
+or out-of-order row indices.  @code{@var{stats}(8:20)} is always zero in\n\
 the current version of @sc{colamd} (reserved for future use).\n\
 \n\
 The ordering is followed by a column elimination tree post-ordering.\n\
@@ -274,7 +274,7 @@
 developed in collaboration with John Gilbert, Xerox PARC, and Esmond\n\
 Ng, Oak Ridge National Laboratory.  (see\n\
 @url{http://www.cise.ufl.edu/research/sparse/colamd})\n\
-@seealso{colperm, symamd}\n\
+@seealso{colperm, symamd, ccolamd}\n\
 @end deftypefn")
 {
   octave_value_list retval;
@@ -450,19 +450,19 @@
 
 DEFUN_DLD (symamd, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} symamd (@var{s})\n\
-@deftypefnx {Loadable Function} {@var{p} =} symamd (@var{s}, @var{knobs})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{s})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{s}, @var{knobs})\n\
+@deftypefn  {Loadable Function} {@var{p} =} symamd (@var{S})\n\
+@deftypefnx {Loadable Function} {@var{p} =} symamd (@var{S}, @var{knobs})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{S})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{stats}] =} symamd (@var{S}, @var{knobs})\n\
 \n\
-For a symmetric positive definite matrix @var{s}, returns the permutation\n\
-vector p such that @code{@var{s} (@var{p}, @var{p})} tends to have a\n\
-sparser Cholesky factor than @var{s}.  Sometimes SYMAMD works well for\n\
-symmetric indefinite matrices too.  The matrix @var{s} is assumed to be\n\
-symmetric; only the strictly lower triangular part is referenced.  @var{s}\n\
-must be square.\n\
+For a symmetric positive definite matrix @var{S}, returns the permutation\n\
+vector p such that @code{@var{S}(@var{p}, @var{p})} tends to have a\n\
+sparser Cholesky@tie{}factor than @var{S}.  Sometimes @code{symamd} works\n\
+well for symmetric indefinite matrices too.  The matrix @var{S} is assumed\n\
+to be symmetric; only the strictly lower triangular part is referenced.  \n\
+@var{S} must be square.\n\
 \n\
-@var{knobs} is an optional one- to two-element input vector.  If @var{s} is\n\
+@var{knobs} is an optional one- to two-element input vector.  If @var{S} is\n\
 n-by-n, then rows and columns with more than\n\
 @code{max(16,@var{knobs}(1)*sqrt(n))} entries are removed prior to ordering,\n\
 and ordered last in the output permutation @var{p}.  No rows/columns are\n\
@@ -471,12 +471,12 @@
 = [10 0]}.  Note that @var{knobs} differs from earlier versions of symamd.\n\
 \n\
 @var{stats} is an optional 20-element output vector that provides data\n\
-about the ordering and the validity of the input matrix @var{s}.  Ordering\n\
-statistics are in @code{@var{stats} (1:3)}.  @code{@var{stats} (1) =\n\
-@var{stats} (2)} is the number of dense or empty rows and columns\n\
-ignored by SYMAMD and @code{@var{stats} (3)} is the number of garbage\n\
+about the ordering and the validity of the input matrix @var{S}.  Ordering\n\
+statistics are in @code{@var{stats}(1:3)}.  @code{@var{stats}(1) =\n\
+@var{stats}(2)} is the number of dense or empty rows and columns\n\
+ignored by SYMAMD and @code{@var{stats}(3)} is the number of garbage\n\
 collections performed on the internal data structure used by SYMAMD\n\
-(roughly of size @code{8.4 * nnz (tril (@var{s}, -1)) + 9 * @var{n}}\n\
+(roughly of size @code{8.4 * nnz (tril (@var{S}, -1)) + 9 * @var{n}}\n\
 integers).\n\
 \n\
 Octave built-in functions are intended to generate valid sparse matrices,\n\
@@ -492,19 +492,18 @@
 no output arguments (@var{p} or @var{stats}) are returned.  SYMAMD is\n\
 thus a simple way to check a sparse matrix to see if it's valid.\n\
 \n\
-@code{@var{stats} (4:7)} provide information if SYMAMD was able to\n\
+@code{@var{stats}(4:7)} provide information if SYMAMD was able to\n\
 continue.  The matrix is OK if @code{@var{stats} (4)} is zero, or 1\n\
-if invalid.  @code{@var{stats} (5)} is the rightmost column index that\n\
+if invalid.  @code{@var{stats}(5)} is the rightmost column index that\n\
 is unsorted or contains duplicate entries, or zero if no such column\n\
-exists.  @code{@var{stats} (6)} is the last seen duplicate or out-of-order\n\
-row index in the column index given by @code{@var{stats} (5)}, or zero\n\
-if no such row index exists.  @code{@var{stats} (7)} is the number of\n\
-duplicate or out-of-order row indices.  @code{@var{stats} (8:20)} is\n\
+exists.  @code{@var{stats}(6)} is the last seen duplicate or out-of-order\n\
+row index in the column index given by @code{@var{stats}(5)}, or zero\n\
+if no such row index exists.  @code{@var{stats}(7)} is the number of\n\
+duplicate or out-of-order row indices.  @code{@var{stats}(8:20)} is\n\
 always zero in the current version of SYMAMD (reserved for future use).\n\
 \n\
 The ordering is followed by a column elimination tree post-ordering.\n\
 \n\
-\n\
 The authors of the code itself are Stefan I. Larimore and Timothy A.\n\
 Davis @email{davis@@cise.ufl.edu}, University of Florida.  The algorithm was\n\
 developed in collaboration with John Gilbert, Xerox PARC, and Esmond\n\
@@ -587,7 +586,7 @@
 
       if (n_row != n_col)
         {
-          error ("symamd: matrix must be square");
+          error ("symamd: matrix S must be square");
           return retval;
         }
 
@@ -647,17 +646,17 @@
 
 DEFUN_DLD (etree, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} etree (@var{s})\n\
-@deftypefnx {Loadable Function} {@var{p} =} etree (@var{s}, @var{typ})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{q}] =} etree (@var{s}, @var{typ})\n\
+@deftypefn  {Loadable Function} {@var{p} =} etree (@var{S})\n\
+@deftypefnx {Loadable Function} {@var{p} =} etree (@var{S}, @var{typ})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{q}] =} etree (@var{S}, @var{typ})\n\
 \n\
-Returns the elimination tree for the matrix @var{s}.  By default @var{s}\n\
+Returns the elimination tree for the matrix @var{S}.  By default @var{S}\n\
 is assumed to be symmetric and the symmetric elimination tree is\n\
 returned.  The argument @var{typ} controls whether a symmetric or\n\
 column elimination tree is returned.  Valid values of @var{typ} are\n\
 'sym' or 'col', for symmetric or column elimination tree respectively\n\
 \n\
-Called with a second argument, @dfn{etree} also returns the postorder\n\
+Called with a second argument, @code{etree} also returns the postorder\n\
 permutations on the tree.\n\
 @end deftypefn")
 {
@@ -699,7 +698,7 @@
         }
       else
         {
-          error ("etree: must be called with a sparse matrix");
+          error ("etree: S must be a sparse matrix");
           return retval;
         }
 
@@ -713,7 +712,7 @@
             }
           else
             {
-              error ("etree: second argument must be a string");
+              error ("etree: TYP must be a string");
               return retval;
             }
         }
@@ -725,7 +724,7 @@
         {
           if (n_row != n_col)
             {
-              error ("etree: matrix is marked as symmetric, but not square");
+              error ("etree: S is marked as symmetric, but is not square");
               return retval;
             }
 
--- a/src/DLD-FUNCTIONS/colloc.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/colloc.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -55,7 +55,7 @@
 
   if (! args(0).is_scalar_type ())
     {
-      error ("colloc: first argument must be a scalar");
+      error ("colloc: N must be a scalar");
       return retval;
     }
 
@@ -66,14 +66,14 @@
 
   if (xisnan (tmp))
     {
-      error ("colloc: NaN is invalid as NCOL");
+      error ("colloc: N cannot be NaN");
       return retval;
     }
 
   octave_idx_type ncol = NINTbig (tmp);
   if (ncol < 0)
     {
-      error ("colloc: first argument must be non-negative");
+      error ("colloc: N must be positive");
       return retval;
     }
 
@@ -87,7 +87,7 @@
         {
           if (! args(i).is_string ())
             {
-              error ("colloc: expecting string argument");
+              error ("colloc: expecting string argument \"left\" or \"right\"");
               return retval;
             }
 
--- a/src/DLD-FUNCTIONS/conv2.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/conv2.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -54,10 +54,10 @@
 
 DEFUN_DLD (conv2, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {} conv2 (@var{a}, @var{b})\n\
+@deftypefn  {Loadable Function} {} conv2 (@var{A}, @var{B})\n\
 @deftypefnx {Loadable Function} {} conv2 (@var{v1}, @var{v2}, @var{m})\n\
 @deftypefnx {Loadable Function} {} conv2 (@dots{}, @var{shape})\n\
-Return the 2-D convolution of @var{a} and @var{b}.  The size of the result\n\
+Return the 2-D convolution of @var{A} and @var{B}.  The size of the result\n\
 is determined by the optional @var{shape} argument which takes the following\n\
 values\n\
 \n\
@@ -66,16 +66,16 @@
 Return the full convolution.  (default)\n\
 \n\
 @item @var{shape} = \"same\"\n\
-Return the central part of the convolution with the same size as @var{a}.\n\
+Return the central part of the convolution with the same size as @var{A}.\n\
 \n\
 @item @var{shape} = \"valid\"\n\
 Return only the parts which do not include zero-padded edges.\n\
 @end table\n\
 \n\
-When the third argument\n\
-is a matrix, return the convolution of the matrix @var{m} by the vector\n\
-@var{v1} in the column direction and by vector @var{v2} in the row direction\n\
-@seealso{conv, fftconv}\n\
+When the third argument is a matrix, return the convolution of the matrix\n\
+@var{m} by the vector @var{v1} in the column direction and by the vector\n\
+@var{v2} in the row direction\n\
+@seealso{conv, convn}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -111,7 +111,7 @@
     ct = convn_valid;
   else
     {
-      error ("conv2: shape type not valid");
+      error ("conv2: SHAPE type not valid");
       print_usage ();
       return retval;
     }
@@ -239,22 +239,23 @@
 
 DEFUN_DLD (convn, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {y =} conv2 (@var{a}, @var{b}, @var{shape})\n\
-Return the n-D convolution of @var{a} and @var{b} where the size\n\
-of @var{c} is given by\n\
+@deftypefn {Loadable Function} {@var{C} =} convn (@var{A}, @var{B}, @var{shape})\n\
+Return the n-D convolution of @var{A} and @var{B} where the size\n\
+of @var{C} is given by\n\
 \n\
 @table @asis\n\
 @item @var{shape} = \"full\"\n\
 Return the full convolution.\n\
 \n\
 @item @var{shape} = \"same\"\n\
-Return central part of the convolution with the same size as @var{a}.\n\
+Return central part of the convolution with the same size as @var{A}.\n\
 \n\
 @item @var{shape} = \"valid\"\n\
 Return only the parts which do not include zero-padded edges.\n\
 @end table\n\
 \n\
 By default @var{shape} is @samp{\"full\"}.\n\
+@seealso{conv2, conv}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -285,7 +286,7 @@
     ct = convn_valid;
   else
     {
-      error ("convn: shape type not valid");
+      error ("convn: SHAPE type not valid");
       print_usage ();
       return retval;
     }
--- a/src/DLD-FUNCTIONS/convhulln.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/convhulln.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -62,7 +62,7 @@
 of strings containing options for the underlying qhull command.  (See\n\
 the Qhull documentation for the available options.)  The default options\n\
 are \"s Qci Tcv\".\n\
-If the second output @var{V} is requested the volume of the convex hull is\n\
+If the second output @var{v} is requested the volume of the convex hull is\n\
 calculated.\n\n\
 @seealso{convhull, delaunayn}\n\
 @end deftypefn")
@@ -91,7 +91,7 @@
             {
               if (! c.elem(i).is_string ())
                 {
-                  error ("convhulln: second argument must be a string or cell array of strings");
+                  error ("convhulln: OPT must be a string or cell array of strings");
                   return retval;
                 }
 
@@ -100,7 +100,7 @@
         }
       else
         {
-          error ("convhulln: second argument must be a string or cell array of strings");
+          error ("convhulln: OPT must be a string or cell array of strings");
           return retval;
         }
     }
--- a/src/DLD-FUNCTIONS/cquad.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/cquad.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -1479,12 +1479,12 @@
 
 DEFUN_DLD (cquad, args, nargout, 
 "-*- texinfo -*-\n\
-@deftypefn {Function File} {[@var{int}, @var{err}, @var{nr_points}] =} cquad (@var{f}, @var{a}, @var{b}, @var{tol})\n\
+@deftypefn  {Function File} {[@var{int}, @var{err}, @var{nr_points}] =} cquad (@var{f}, @var{a}, @var{b}, @var{tol})\n\
 @deftypefnx {Function File} {[@var{int}, @var{err}, @var{nr_points}] =} cquad (@var{f}, @var{a}, @var{b}, @var{tol}, @var{sing})\n\
 Numerically evaluates an integral using the doubly-adaptive\n\
-quadrature described by P. Gonnet in @cite{\"Increasing the\n\
-Reliability of Adaptive Quadrature Using Explicit Interpolants\",\n\
-ACM Transactions on Mathematical Software, in Press, 2010}.\n\
+quadrature described by P. Gonnet in @cite{Increasing the\n\
+Reliability of Adaptive Quadrature Using Explicit Interpolants,\n\
+ACM Transactions on Mathematical Software, in Press, 2010.\n\
 The algorithm uses Clenshaw-Curtis quadrature rules of increasing\n\
 degree in each interval and bisects the interval if either the\n\
 function does not appear to be smooth or a rule of maximum\n\
@@ -1495,27 +1495,28 @@
 For example,\n\
 \n\
 @example\n\
-   int = cquad ( f , a , b , 1.0e-6 );\n\
+   int = cquad (f, a, b, 1.0e-6);\n\
 @end example\n\
 \n\
-@noindent computes the integral of a function @var{f} in the interval\n\
-[@var{a},@var{b}] to the relative precision of six\n\
+@noindent\n\
+computes the integral of a function @var{f} in the interval\n\
+[@var{a}, @var{b}] to the relative precision of six\n\
 decimal digits.\n\
 The integrand @var{f} should accept a vector argument and return a vector\n\
 result containing the integrand evaluated at each element of the\n\
-argument, for example\n\
+argument, for example:\n\
 \n\
 @example\n\
-   f = @@(x) x .* sin ( 1 ./ x ) .* sqrt ( abs ( 1 - x ) );\n\
+   f = @@(x) x .* sin (1 ./ x) .* sqrt (abs (1 - x));\n\
 @end example\n\
 \n\
-If the integrand has known singularieites or discontinuities\n\
+If the integrand has known singularities or discontinuities\n\
 in any of its derivatives inside the interval,\n\
 as does the above example at x=1, these can be specified in\n\
 the additional argument @var{sing} as follows\n\
 \n\
 @example\n\
-   int = cquad ( f , a , b , 1.0e-6 , [ 1 ] );\n\
+   int = cquad (f, a, b, 1.0e-6, [ 1 ]);\n\
 @end example\n\
 \n\
 The two additional output variables @var{err} and @var{nr_points}\n\
@@ -1523,7 +1524,7 @@
 the number of points at which the integrand was evaluated\n\
 respectively.\n\
 If the adaptive integration did not converge, the value of\n\
-@var{err} will be larger than the requested tolerance. It is\n\
+@var{err} will be larger than the requested tolerance.  It is\n\
 therefore recommended to verify this value for difficult\n\
 integrands.\n\
 \n\
@@ -1531,9 +1532,9 @@
 integrates @var{f} by substituting the variable of integration\n\
 with @code{x=tan(pi/2*u)}.\n\
 \n\
-@code{cquad} is capable of dealing with non-numerical\n\
+@code{cquad} is capable of dealing with non-numeric\n\
 values of the integrand such as @code{NaN}, @code{Inf}\n\
-or @code{-Inf}, as the above example at x=0.\n\
+or @code{-Inf}, as in the above example at x=0.\n\
 If the integral diverges and @code{cquad} detects this, \n\
 a warning is issued and @code{Inf} or @code{-Inf} is returned.\n\
 \n\
@@ -1542,7 +1543,7 @@
 well-behaved integrand than other methods such as\n\
 @code{quadgk} or @code{trapz}.\n\
 \n\
-@seealso{triplequad, dblquad, quadgk, quadl, quadv, trapz}\n\
+@seealso{quad,quadv,quadl,quadgk,trapz}\n\
 @end deftypefn")
 {
 
--- a/src/DLD-FUNCTIONS/dasrt.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/dasrt.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -208,7 +208,10 @@
 
 DEFUN_DLD (dasrt, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{x}, @var{xdot}, @var{t_out}, @var{istat}, @var{msg}] =} dasrt (@var{fcn} [, @var{g}], @var{x_0}, @var{xdot_0}, @var{t} [, @var{t_crit}])\n\
+@deftypefn  {Loadable Function} {[@var{x}, @var{xdot}, @var{t_out}, @var{istat}, @var{msg}] =} dasrt (@var{fcn}, [], @var{x_0}, @var{xdot_0}, @var{t})\n\
+@deftypefnx {Loadable Function} {@dots{} =} dasrt (@var{fcn}, @var{g}, @var{x_0}, @var{xdot_0}, @var{t})\n\
+@deftypefnx {Loadable Function} {@dots{} =} dasrt (@var{fcn}, [], @var{x_0}, @var{xdot_0}, @var{t}, @var{t_crit})\n\
+@deftypefnx {Loadable Function} {@dots{} =} dasrt (@var{fcn}, @var{g}, @var{x_0}, @var{xdot_0}, @var{t}, @var{t_crit})\n\
 Solve the set of differential-algebraic equations\n\
 @tex\n\
 $$ 0 = f (x, \\dot{x}, t) $$\n\
@@ -341,7 +344,7 @@
 \n\
 You can use the function @code{dasrt_options} to set optional\n\
 parameters for @code{dasrt}.\n\
-@seealso{daspk, dasrt, lsode}\n\
+@seealso{dasrt_options, daspk, dasrt, lsode}\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/det.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/det.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -49,14 +49,19 @@
 
 DEFUN_DLD (det, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {} det (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{d}, @var{rcond}] =} det (@var{a})\n\
-Compute the determinant of @var{a}.\n\
+@deftypefn  {Loadable Function} {} det (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{d}, @var{rcond}] =} det (@var{A})\n\
+Compute the determinant of @var{A}.\n\
+\n\
+Return an estimate of the reciprocal condition number if requested.\n\
 \n\
 Routines from @sc{lapack} are used for full matrices and code from\n\
 @sc{umfpack} is used for sparse matrices.\n\
 \n\
-Return an estimate of the reciprocal condition number if requested.\n\
+The determinant should not be used to check a matrix for singularity.\n\
+For that, use any of the condition number functions: @code{cond},\n\
+@code{condest}, @code{rcond}.\n\
+@seealso{cond, condest, rcond}\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/dlmread.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/dlmread.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -170,18 +170,18 @@
 row and column of the data to be read.  These values are indexed from zero,\n\
 such that the first row corresponds to an index of zero.\n\
 \n\
-The @var{range} parameter may be a 4 element vector containing the upper\n\
+The @var{range} parameter may be a 4-element vector containing the upper\n\
 left and lower right corner @code{[@var{R0},@var{C0},@var{R1},@var{C1}]}\n\
 where the lowest index value is zero.  Alternatively, a spreadsheet style\n\
 range such as 'A2..Q15' or 'T1:AA5' can be used.  The lowest alphabetical\n\
 index 'A' refers to the first column.  The lowest row index is 1.\n\
 \n\
-@var{file} should be a file name or file id given by @code{fopen}. In the\n\
+@var{file} should be a file name or file id given by @code{fopen}.  In the\n\
 latter case, the file is read until end of file is reached.\n\
 \n\
 The \"emptyvalue\" option may be used to specify the value used to fill empty\n\
-fields. Default is zero.\n\
-@seealso{csvread,dlmwrite,fopen}\n\
+fields.  The default is zero.\n\
+@seealso{csvread,textscan,textread,dlmwrite}\n\
 @end deftypefn")
 {
   octave_value_list retval;
@@ -238,13 +238,13 @@
 
       if (! input)
         {
-          error ("dlmread: stream not open for input");
+          error ("dlmread: stream FILE not open for input");
           return retval;
         }
     }
   else
     {
-      error ("dlmread: 1st argument must be a string or file id");
+      error ("dlmread: FILE argument must be a string or file id");
       return retval;
     }
 
@@ -268,7 +268,7 @@
       if (nargin == 3)
         {
           if (!parse_range_spec (args (2), r0, c0, r1, c1))
-            error ("dlmread: error parsing range");
+            error ("dlmread: error parsing RANGE");
         } 
       else if (nargin == 4) 
         {
@@ -280,7 +280,7 @@
         }
 
       if (r0 < 0 || c0 < 0)
-        error ("dlmread: left & top must not be negative");
+        error ("dlmread: left & top must be positive");
     }
 
   if (!error_state)
--- a/src/DLD-FUNCTIONS/dmperm.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/dmperm.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -133,19 +133,19 @@
 
 DEFUN_DLD (dmperm, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{p} =} dmperm (@var{s})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{q}, @var{r}, @var{s}] =} dmperm (@var{s})\n\
+@deftypefn  {Loadable Function} {@var{p} =} dmperm (@var{S})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{q}, @var{r}, @var{S}] =} dmperm (@var{S})\n\
 \n\
 @cindex Dulmage-Mendelsohn decomposition\n\
-Perform a Dulmage-Mendelsohn permutation on the sparse matrix @var{s}.\n\
-With a single output argument @dfn{dmperm} performs the row permutations\n\
-@var{p} such that @code{@var{s} (@var{p},:)} has no zero elements on the\n\
+Perform a Dulmage-Mendelsohn permutation of the sparse matrix @var{S}.\n\
+With a single output argument @code{dmperm} performs the row permutations\n\
+@var{p} such that @code{@var{S}(@var{p},:)} has no zero elements on the\n\
 diagonal.\n\
 \n\
 Called with two or more output arguments, returns the row and column\n\
-permutations, such that @code{@var{s} (@var{p}, @var{q})} is in block\n\
-triangular form.  The values of @var{r} and @var{s} define the boundaries\n\
-of the blocks.  If @var{s} is square then @code{@var{r} == @var{s}}.\n\
+permutations, such that @code{@var{S}(@var{p}, @var{q})} is in block\n\
+triangular form.  The values of @var{r} and @var{S} define the boundaries\n\
+of the blocks.  If @var{S} is square then @code{@var{r} == @var{S}}.\n\
 \n\
 The method used is described in: A. Pothen & C.-J. Fan. @cite{Computing the\n\
 Block Triangular Form of a Sparse Matrix}. ACM Trans. Math. Software,\n\
@@ -190,15 +190,15 @@
 
 DEFUN_DLD (sprank, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{p} =} sprank (@var{s})\n\
+@deftypefn {Loadable Function} {@var{p} =} sprank (@var{S})\n\
+@cindex Structural Rank\n\
 \n\
-@cindex Structural Rank\n\
-Calculates the structural rank of a sparse matrix @var{s}.  Note that\n\
+Calculate the structural rank of the sparse matrix @var{S}.  Note that\n\
 only the structure of the matrix is used in this calculation based on\n\
 a Dulmage-Mendelsohn permutation to block triangular form.  As such the\n\
-numerical rank of the matrix @var{s} is bounded by\n\
-@code{sprank (@var{s}) >= rank (@var{s})}.  Ignoring floating point errors\n\
-@code{sprank (@var{s}) == rank (@var{s})}.\n\
+numerical rank of the matrix @var{S} is bounded by\n\
+@code{sprank (@var{S}) >= rank (@var{S})}.  Ignoring floating point errors\n\
+@code{sprank (@var{S}) == rank (@var{S})}.\n\
 @seealso{dmperm}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/dot.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/dot.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -106,16 +106,17 @@
 DEFUN_DLD (dot, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} dot (@var{x}, @var{y}, @var{dim})\n\
-Computes the dot product of two vectors.  If @var{x} and @var{y}\n\
+Compute the dot product of two vectors.  If @var{x} and @var{y}\n\
 are matrices, calculate the dot products along the first \n\
 non-singleton dimension.  If the optional argument @var{dim} is\n\
 given, calculate the dot products along this dimension.\n\
 \n\
-This is equivalent to doing\n\
+This is equivalent to\n\
 @code{sum (conj (@var{X}) .* @var{Y}, @var{dim})},\n\
 but avoids forming a temporary array and is faster.  When @var{X} and\n\
 @var{Y} are column vectors, the result is equivalent to\n\
-@code{ @var{X}'*@var{Y} }.\n\
+@code{@var{X}' * @var{Y}}.\n\
+@seealso{cross}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -155,7 +156,7 @@
           if (error_state)
             ;
           else if (dim < 0)
-            error ("dot: dim must be a valid dimension");
+            error ("dot: DIM must be a valid dimension");
           else
             {
               octave_idx_type m, n, k;
@@ -226,11 +227,11 @@
             }
         }
       else
-        error ("dot: sizes of x,y must match");
+        error ("dot: sizes of X and Y must match");
 
     }
   else
-    error ("dot: needs numeric arguments");
+    error ("dot: X and Y must be numeric");
 
   return retval;
 }
@@ -242,7 +243,7 @@
 DEFUN_DLD (blkmm, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} blkmm (@var{x}, @var{y})\n\
-Computes products of matrix blocks.  The blocks are given as\n\
+Compute products of matrix blocks.  The blocks are given as\n\
 2-dimensional subarrays of the arrays @var{x}, @var{y}.\n\
 The size of @var{x} must have the form @code{[m,k,@dots{}]} and\n\
 size of @var{y} must be @code{[k,n,@dots{}]}.  The result is\n\
@@ -334,12 +335,12 @@
             }
         }
       else
-        error ("blkmm: dimensions don't match: (%s) and (%s)",
+        error ("blkmm: X and Y dimensions don't match: (%s) and (%s)",
                dimx.str ().c_str (), dimy.str ().c_str ());
 
     }
   else
-    error ("blkmm: needs numeric arguments");
+    error ("blkmm: X and Y must be numeric");
 
   return retval;
 }
--- a/src/DLD-FUNCTIONS/eig.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/eig.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -35,18 +35,18 @@
 
 DEFUN_DLD (eig, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{lambda} =} eig (@var{a})\n\
-@deftypefnx {Loadable Function} {@var{lambda} =} eig (@var{a}, @var{b})\n\
-@deftypefnx {Loadable Function} {[@var{v}, @var{lambda}] =} eig (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{v}, @var{lambda}] =} eig (@var{a}, @var{b})\n\
+@deftypefn  {Loadable Function} {@var{lambda} =} eig (@var{A})\n\
+@deftypefnx {Loadable Function} {@var{lambda} =} eig (@var{A}, @var{B})\n\
+@deftypefnx {Loadable Function} {[@var{V}, @var{lambda}] =} eig (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{V}, @var{lambda}] =} eig (@var{A}, @var{B})\n\
 The eigenvalues (and eigenvectors) of a matrix are computed in a several\n\
 step process which begins with a Hessenberg decomposition, followed by a\n\
-Schur decomposition, from which the eigenvalues are apparent.  The\n\
+Schur@tie{}decomposition, from which the eigenvalues are apparent.  The\n\
 eigenvectors, when desired, are computed by further manipulations of the\n\
-Schur decomposition.\n\
+Schur@tie{}decomposition.\n\
 \n\
 The eigenvalues returned by @code{eig} are not ordered.\n\
-@seealso{eigs}\n\
+@seealso{eigs, svd}\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/eigs.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/eigs.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -131,27 +131,27 @@
 
 DEFUN_DLD (eigs, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{d} =} eigs (@var{a})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{k})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{k}, @var{sigma})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{k}, @var{sigma},@var{opts})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{b})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{b}, @var{k})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{b}, @var{k}, @var{sigma})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{a}, @var{b}, @var{k}, @var{sigma}, @var{opts})\n\
+@deftypefn  {Loadable Function} {@var{d} =} eigs (@var{A})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{k})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{k}, @var{sigma})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{k}, @var{sigma}, @var{opts})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{B})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{B}, @var{k})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{B}, @var{k}, @var{sigma})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{A}, @var{B}, @var{k}, @var{sigma}, @var{opts})\n\
 @deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{b})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{B})\n\
 @deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{k})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{b}, @var{k})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{B}, @var{k})\n\
 @deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{k}, @var{sigma})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{b}, @var{k}, @var{sigma})\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{B}, @var{k}, @var{sigma})\n\
 @deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{k}, @var{sigma}, @var{opts})\n\
-@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{b}, @var{k}, @var{sigma}, @var{opts})\n\
-@deftypefnx {Loadable Function} {[@var{v}, @var{d}] =} eigs (@var{a}, @dots{})\n\
-@deftypefnx {Loadable Function} {[@var{v}, @var{d}] =} eigs (@var{af}, @var{n}, @dots{})\n\
-@deftypefnx {Loadable Function} {[@var{v}, @var{d}, @var{flag}] =} eigs (@var{a}, @dots{})\n\
-@deftypefnx {Loadable Function} {[@var{v}, @var{d}, @var{flag}] =} eigs (@var{af}, @var{n}, @dots{})\n\
-Calculate a limited number of eigenvalues and eigenvectors of @var{a},\n\
+@deftypefnx {Loadable Function} {@var{d} =} eigs (@var{af}, @var{n}, @var{B}, @var{k}, @var{sigma}, @var{opts})\n\
+@deftypefnx {Loadable Function} {[@var{V}, @var{d}] =} eigs (@var{A}, @dots{})\n\
+@deftypefnx {Loadable Function} {[@var{V}, @var{d}] =} eigs (@var{af}, @var{n}, @dots{})\n\
+@deftypefnx {Loadable Function} {[@var{V}, @var{d}, @var{flag}] =} eigs (@var{A}, @dots{})\n\
+@deftypefnx {Loadable Function} {[@var{V}, @var{d}, @var{flag}] =} eigs (@var{af}, @var{n}, @dots{})\n\
+Calculate a limited number of eigenvalues and eigenvectors of @var{A},\n\
 based on a selection criteria.  The number of eigenvalues and eigenvectors to\n\
 calculate is given by @var{k} and defaults to 6.\n\
 \n\
@@ -219,11 +219,11 @@
 @table @code\n\
 @item issym\n\
 If @var{af} is given, then flags whether the function @var{af} defines a\n\
-symmetric problem.  It is ignored if @var{a} is given.  The default is false.\n\
+symmetric problem.  It is ignored if @var{A} is given.  The default is false.\n\
 \n\
 @item isreal\n\
 If @var{af} is given, then flags whether the function @var{af} defines a\n\
-real problem.  It is ignored if @var{a} is given.  The default is true.\n\
+real problem.  It is ignored if @var{A} is given.  The default is true.\n\
 \n\
 @item tol\n\
 Defines the required convergence tolerance, calculated as\n\
@@ -242,23 +242,23 @@
 The starting vector for the algorithm.  An initial vector close to the\n\
 final vector will speed up convergence.  The default is for @sc{arpack}\n\
 to randomly generate a starting vector.  If specified, @code{v0} must be\n\
-an @var{n}-by-1 vector where @code{@var{n} = rows (@var{a})}\n\
+an @var{n}-by-1 vector where @code{@var{n} = rows (@var{A})}\n\
 \n\
 @item disp\n\
 The level of diagnostic printout (0|1|2).  If @code{disp} is 0 then\n\
 diagnostics are disabled.  The default value is 0.\n\
 \n\
 @item cholB\n\
-Flag if @code{chol (@var{b})} is passed rather than @var{b}.  The default is\n\
+Flag if @code{chol (@var{B})} is passed rather than @var{B}.  The default is\n\
 false.\n\
 \n\
 @item permB\n\
-The permutation vector of the Cholesky factorization of @var{b} if\n\
-@code{cholB} is true.  That is @code{chol (@var{b}(permB, permB))}.  The\n\
+The permutation vector of the Cholesky@tie{}factorization of @var{B} if\n\
+@code{cholB} is true.  That is @code{chol (@var{B}(permB, permB))}.  The\n\
 default is @code{1:@var{n}}.\n\
 \n\
 @end table\n\
-It is also possible to represent @var{a} by a function denoted @var{af}.\n\
+It is also possible to represent @var{A} by a function denoted @var{af}.\n\
 @var{af} must be followed by a scalar argument @var{n} defining the length\n\
 of the vector argument accepted by @var{af}.  @var{af} can be \n\
 a function handle, an inline function, or a string.  When @var{af} is a\n\
@@ -286,7 +286,7 @@
 The return arguments of @code{eigs} depend on the number of return arguments\n\
 requested.  With a single return argument, a vector @var{d} of length @var{k}\n\
 is returned containing the @var{k} eigenvalues that have been found.  With\n\
-two return arguments, @var{v} is a @var{n}-by-@var{k} matrix whose columns\n\
+two return arguments, @var{V} is a @var{n}-by-@var{k} matrix whose columns\n\
 are the @var{k} eigenvectors corresponding to the returned eigenvalues.  The\n\
 eigenvalues themselves are returned in @var{d} in the form of a\n\
 @var{n}-by-@var{k} matrix, where the elements on the diagonal are the\n\
@@ -462,7 +462,7 @@
             have_sigma = true;
           else
             {
-              error ("eigs: sigma must be a scalar or a string");
+              error ("eigs: SIGMA must be a scalar or a string");
               return retval;
             }
         }
@@ -526,13 +526,13 @@
             }
           else
             {
-              error ("eigs: options argument must be a scalar structure");
+              error ("eigs: OPTS argument must be a scalar structure");
               return retval;
             }
         }
       else
         {
-          error ("eigs: options argument must be a structure");
+          error ("eigs: OPTS argument must be a structure");
           return retval;
         }
     }
--- a/src/DLD-FUNCTIONS/fft.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/fft.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -63,12 +63,12 @@
         {
           double dval = args(1).double_value ();
           if (xisnan (dval))
-            error ("%s: NaN is invalid as the N_POINTS", fcn);
+            error ("%s: number of points (N) cannot be NaN", fcn);
           else
             {
               n_points = NINTbig (dval);
               if (n_points < 0)
-                error ("%s: number of points must be greater than zero", fcn);
+                error ("%s: number of points (N) must be greater than zero", fcn);
             }
         }
     }
@@ -80,9 +80,9 @@
     {
       double dval = args(2).double_value ();
       if (xisnan (dval))
-        error ("%s: NaN is invalid as the N_POINTS", fcn);
+        error ("%s: DIM cannot be NaN", fcn);
       else if (dval < 1 || dval > dims.length ())
-        error ("%s: invalid dimension along which to perform fft", fcn);
+        error ("%s: DIM must be a valid dimension along which to perform FFT", fcn);
       else
         // to be safe, cast it back to int since dim is an int
         dim = NINT (dval) - 1;
@@ -200,20 +200,22 @@
 
 DEFUN_DLD (fft, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} fft (@var{a}, @var{n}, @var{dim})\n\
-Compute the FFT of @var{a} using subroutines from\n"
+@deftypefn  {Loadable Function} {} fft (@var{x})\n\
+@deftypefnx {Loadable Function} {} fft (@var{x}, @var{n})\n\
+@deftypefnx {Loadable Function} {} fft (@var{x}, @var{n}, @var{dim})\n\
+Compute the FFT of @var{x} using subroutines from\n"
 FFTSRC
 ".  The FFT is calculated along the first non-singleton dimension of the\n\
-array.  Thus if @var{a} is a matrix, @code{fft (@var{a})} computes the\n\
-FFT for each column of @var{a}.\n\
+array.  Thus if @var{x} is a matrix, @code{fft (@var{x})} computes the\n\
+FFT for each column of @var{x}.\n\
 \n\
 If called with two arguments, @var{n} is expected to be an integer\n\
-specifying the number of elements of @var{a} to use, or an empty\n\
+specifying the number of elements of @var{x} to use, or an empty\n\
 matrix to specify that its value should be ignored.  If @var{n} is\n\
 larger than the dimension along which the FFT is calculated, then\n\
-@var{a} is resized and padded with zeros.  Otherwise, if @var{n} is\n\
+@var{x} is resized and padded with zeros.  Otherwise, if @var{n} is\n\
 smaller than the dimension along which the FFT is calculated, then\n\
-@var{a} is truncated.\n\
+@var{x} is truncated.\n\
 \n\
 If called with three arguments, @var{dim} is an integer specifying the\n\
 dimension of the matrix along which the FFT is performed\n\
@@ -226,20 +228,22 @@
 
 DEFUN_DLD (ifft, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} ifft (@var{a}, @var{n}, @var{dim})\n\
-Compute the inverse FFT of @var{a} using subroutines from\n"
+@deftypefn  {Loadable Function} {} ifft (@var{x})\n\
+@deftypefnx {Loadable Function} {} ifft (@var{x}, @var{n})\n\
+@deftypefnx {Loadable Function} {} ifft (@var{x}, @var{n}, @var{dim})\n\
+Compute the inverse FFT of @var{x} using subroutines from\n"
 FFTSRC
 ".  The inverse FFT is calculated along the first non-singleton dimension\n\
-of the array.  Thus if @var{a} is a matrix, @code{fft (@var{a})} computes\n\
-the inverse FFT for each column of @var{a}.\n\
+of the array.  Thus if @var{x} is a matrix, @code{fft (@var{x})} computes\n\
+the inverse FFT for each column of @var{x}.\n\
 \n\
 If called with two arguments, @var{n} is expected to be an integer\n\
-specifying the number of elements of @var{a} to use, or an empty\n\
+specifying the number of elements of @var{x} to use, or an empty\n\
 matrix to specify that its value should be ignored.  If @var{n} is\n\
 larger than the dimension along which the inverse FFT is calculated, then\n\
-@var{a} is resized and padded with zeros.  Otherwise, if@var{n} is\n\
+@var{x} is resized and padded with zeros.  Otherwise, if @var{n} is\n\
 smaller than the dimension along which the inverse FFT is calculated,\n\
-then @var{a} is truncated.\n\
+then @var{x} is truncated.\n\
 \n\
 If called with three arguments, @var{dim} is an integer specifying the\n\
 dimension of the matrix along which the inverse FFT is performed\n\
--- a/src/DLD-FUNCTIONS/fft2.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/fft2.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -62,12 +62,12 @@
     {
       double dval = args(1).double_value ();
       if (xisnan (dval))
-        error ("%s: NaN is invalid as the N_ROWS", fcn);
+        error ("%s: number of rows (N) cannot be NaN", fcn);
       else
         {
           n_rows = NINTbig (dval);
           if (n_rows < 0)
-            error ("%s: number of rows must be greater than zero", fcn);
+            error ("%s: number of rows (N) must be greater than zero", fcn);
         }
     }
 
@@ -79,12 +79,12 @@
     {
       double dval = args(2).double_value ();
       if (xisnan (dval))
-        error ("%s: NaN is invalid as the N_COLS", fcn);
+        error ("%s: number of columns (M) cannot be NaN", fcn);
       else
         {
           n_cols = NINTbig (dval);
           if (n_cols < 0)
-            error ("%s: number of columns must be greater than zero", fcn);
+            error ("%s: number of columns (M) must be greater than zero", fcn);
         }
     }
 
@@ -169,16 +169,17 @@
 
 DEFUN_DLD (fft2, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} fft2 (@var{a}, @var{n}, @var{m})\n\
-Compute the two-dimensional FFT of @var{a} using subroutines from\n"
+@deftypefn  {Loadable Function} {} fft2 (@var{A})\n\
+@deftypefnx {Loadable Function} {} fft2 (@var{A}, @var{m}, @var{n})\n\
+Compute the two-dimensional FFT of @var{A} using subroutines from\n"
 FFTSRC
-".  The optional arguments @var{n} and @var{m} may be used specify the\n\
-number of rows and columns of @var{a} to use.  If either of these is\n\
-larger than the size of @var{a}, @var{a} is resized and padded with\n\
+".  The optional arguments @var{m} and @var{n} may be used specify the\n\
+number of rows and columns of @var{A} to use.  If either of these is\n\
+larger than the size of @var{A}, @var{A} is resized and padded with\n\
 zeros.\n\
 \n\
-If @var{a} is a multi-dimensional matrix, each two-dimensional sub-matrix\n\
-of @var{a} is treated separately\n\
+If @var{A} is a multi-dimensional matrix, each two-dimensional sub-matrix\n\
+of @var{A} is treated separately\n\
 @seealso {ifft2, fft, fftn, fftw}\n\
 @end deftypefn")
 {
@@ -188,16 +189,17 @@
 
 DEFUN_DLD (ifft2, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} ifft2 (@var{a}, @var{n}, @var{m})\n\
-Compute the inverse two-dimensional FFT of @var{a} using subroutines from\n"
+@deftypefn  {Loadable Function} {} ifft2 (@var{A})\n\
+@deftypefnx {Loadable Function} {} ifft2 (@var{A}, @var{m}, @var{n})\n\
+Compute the inverse two-dimensional FFT of @var{A} using subroutines from\n"
 FFTSRC
-".  The optional arguments @var{n} and @var{m} may be used specify the\n\
-number of rows and columns of @var{a} to use.  If either of these is\n\
-larger than the size of @var{a}, @var{a} is resized and padded with\n\
+".  The optional arguments @var{m} and @var{n} may be used specify the\n\
+number of rows and columns of @var{A} to use.  If either of these is\n\
+larger than the size of @var{A}, @var{A} is resized and padded with\n\
 zeros.\n\
 \n\
-If @var{a} is a multi-dimensional matrix, each two-dimensional sub-matrix\n\
-of @var{a} is treated separately\n\
+If @var{A} is a multi-dimensional matrix, each two-dimensional sub-matrix\n\
+of @var{A} is treated separately\n\
 @seealso {fft2, ifft, ifftn, fftw}\n\
 @end deftypefn")
 {
--- a/src/DLD-FUNCTIONS/fftn.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/fftn.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -67,15 +67,15 @@
         val = val.transpose ();
 
       if (error_state || val.columns () != dims.length () || val.rows () != 1)
-        error ("%s: second argument must be a vector of length dim", fcn);
+        error ("%s: SIZE must be a vector of length dim", fcn);
       else
         {
           for (int i = 0; i < dims.length (); i++)
             {
               if (xisnan (val(i,0)))
-                error ("%s: NaN is invalid as a dimension", fcn);
+                error ("%s: SIZE has invalid NaN entries", fcn);
               else if (NINTbig (val(i,0)) < 0)
-                error ("%s: all dimension must be greater than zero", fcn);
+                error ("%s: all dimensions in SIZE must be greater than zero", fcn);
               else
                 {
                   dims(i) = NINTbig(val(i,0));
@@ -151,16 +151,17 @@
 
 DEFUN_DLD (fftn, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} fftn (@var{a}, @var{size})\n\
-Compute the N-dimensional FFT of @var{a} using subroutines from\n"
+@deftypefn  {Loadable Function} {} fftn (@var{A})\n\
+@deftypefnx {Loadable Function} {} fftn (@var{A}, @var{size})\n\
+Compute the N-dimensional FFT of @var{A} using subroutines from\n"
 FFTSRC
 ".  The optional vector argument @var{size} may be used specify the\n\
 dimensions of the array to be used.  If an element of @var{size} is\n\
 smaller than the corresponding dimension, then the dimension is\n\
 truncated prior to performing the FFT@.  Otherwise if an element\n\
-of @var{size} is larger than the corresponding dimension @var{a}\n\
+of @var{size} is larger than the corresponding dimension @var{A}\n\
 is resized and padded with zeros.\n\
-@seealso {ifftn, fft, fft2, fftw}\n\
+@seealso{ifftn, fft, fft2, fftw}\n\
 @end deftypefn")
 {
   return do_fftn (args, "fftn", 0);
@@ -168,16 +169,17 @@
 
 DEFUN_DLD (ifftn, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} ifftn (@var{a}, @var{size})\n\
-Compute the inverse N-dimensional FFT of @var{a} using subroutines from\n"
+@deftypefn  {Loadable Function} {} ifftn (@var{A})\n\
+@deftypefnx {Loadable Function} {} ifftn (@var{A}, @var{size})\n\
+Compute the inverse N-dimensional FFT of @var{A} using subroutines from\n"
 FFTSRC
 ".  The optional vector argument @var{size} may be used specify the\n\
 dimensions of the array to be used.  If an element of @var{size} is\n\
 smaller than the corresponding dimension, then the dimension is\n\
 truncated prior to performing the inverse FFT@.  Otherwise if an element\n\
-of @var{size} is larger than the corresponding dimension @var{a}\n\
+of @var{size} is larger than the corresponding dimension @var{A}\n\
 is resized and padded with zeros.\n\
-@seealso {fftn, ifft, ifft2, fftw}\n\
+@seealso{fftn, ifft, ifft2, fftw}\n\
 @end deftypefn")
 {
   return do_fftn (args, "ifftn", 1);
--- a/src/DLD-FUNCTIONS/fftw.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/fftw.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -37,10 +37,10 @@
 @deftypefn  {Loadable Function} {@var{method} =} fftw ('planner')\n\
 @deftypefnx {Loadable Function} {} fftw ('planner', @var{method})\n\
 @deftypefnx {Loadable Function} {@var{wisdom} =} fftw ('dwisdom')\n\
-@deftypefnx {Loadable Function} {@var{wisdom} =} fftw ('dwisdom', @var{wisdom})\n\
+@deftypefnx {Loadable Function} {} fftw ('dwisdom', @var{wisdom})\n\
 \n\
 Manage @sc{fftw} wisdom data.  Wisdom data can be used to significantly\n\
-accelerate the calculation of the FFTs but implies an initial cost\n\
+accelerate the calculation of the FFTs, but implies an initial cost\n\
 in its calculation.  When the @sc{fftw} libraries are initialized, they read\n\
 a system wide wisdom file (typically in @file{/etc/fftw/wisdom}), allowing\n\
 wisdom to be shared between applications other than Octave.  Alternatively,\n\
@@ -63,13 +63,13 @@
 If @var{wisdom} is an empty matrix, then the wisdom used is cleared.\n\
 \n\
 During the calculation of Fourier transforms further wisdom is generated.\n\
-The fashion in which this wisdom is generated is equally controlled by\n\
+The fashion in which this wisdom is generated is also controlled by\n\
 the @code{fftw} function.  There are five different manners in which the\n\
-wisdom can be treated, these being\n\
+wisdom can be treated:\n\
 \n\
 @table @asis\n\
 @item 'estimate'\n\
-This specifies that no run-time measurement of the optimal means of\n\
+Specifies that no run-time measurement of the optimal means of\n\
 calculating a particular is performed, and a simple heuristic is used\n\
 to pick a (probably sub-optimal) plan.  The advantage of this method is\n\
 that there is little or no overhead in the generation of the plan, which\n\
@@ -80,10 +80,10 @@
 and the best is selected based on their execution time.\n\
 \n\
 @item 'patient'\n\
-This is like 'measure', but a wider range of algorithms is considered.\n\
+Similar to 'measure', but a wider range of algorithms is considered.\n\
 \n\
 @item 'exhaustive'\n\
-This is like 'measure', but all possible algorithms that may be used to\n\
+Like 'measure', but all possible algorithms that may be used to\n\
 treat the transform are considered.\n\
 \n\
 @item 'hybrid'\n\
@@ -92,15 +92,15 @@
 and beyond that the 'estimate' method is used.\n\
 @end table\n\
 \n\
-The default method is 'estimate', and the method currently being used can\n\
-be probed with\n\
+The default method is 'estimate'.  The current method can\n\
+be queried with\n\
 \n\
 @example\n\
 @var{method} = fftw ('planner')\n\
 @end example\n\
 \n\
 @noindent\n\
-and the method used can be set using\n\
+or set by using\n\
 \n\
 @example\n\
 fftw ('planner', @var{method})\n\
@@ -173,7 +173,7 @@
                           methf = octave_float_fftw_planner::HYBRID;
                         }
                       else
-                        error ("unrecognized planner method");
+                        error ("unrecognized planner METHOD");
 
                       if (!error_state)
                         {
@@ -199,7 +199,7 @@
                       if (arg1.length() < 1)
                         fftw_forget_wisdom ();
                       else if (! fftw_import_wisdom_from_string (arg1.c_str()))
-                        error ("could not import supplied wisdom");
+                        error ("could not import supplied WISDOM");
 
                       if (!error_state)
                         retval = octave_value (std::string (str));
@@ -213,7 +213,7 @@
                       if (arg1.length() < 1)
                         fftwf_forget_wisdom ();
                       else if (! fftwf_import_wisdom_from_string (arg1.c_str()))
-                        error ("could not import supplied wisdom");
+                        error ("could not import supplied WISDOM");
 
                       if (!error_state)
                         retval = octave_value (std::string (str));
--- a/src/DLD-FUNCTIONS/filter.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/filter.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -72,7 +72,7 @@
 
   if (norm == static_cast<T>(0.0))
     {
-      error ("filter: the first element of a must be non-zero");
+      error ("filter: the first element of A must be non-zero");
       return y;
     }
 
@@ -90,13 +90,13 @@
 
   if (si_len != ab_len - 1)
     {
-      error ("filter: first dimension of si must be of length max (length (a), length (b)) - 1");
+      error ("filter: first dimension of SI must be of length max (length (a), length (b)) - 1");
       return y;
     }
 
   if (si_dims.length () != x_dims.length ())
     {
-      error ("filter: dimensionality of si and x must agree");
+      error ("filter: dimensionality of SI and X must agree");
       return y;
     }
 
@@ -111,7 +111,7 @@
  
       if (si_dims(++si_dim) != x_dims(i))
         {
-          error ("filter: dimensionality of si and x must agree");
+          error ("filter: dimensionality of SI and X must agree");
           return y;
         }
     }
@@ -352,7 +352,7 @@
 If @var{si} is not supplied, the initial state vector is set to all\n\
 zeros.\n\
 \n\
-In terms of the z-transform, y is the result of passing the discrete-\n\
+In terms of the Z Transform, y is the result of passing the discrete-\n\
 time signal x through a system characterized by the following rational\n\
 system function:\n\
 @tex\n\
@@ -376,6 +376,7 @@
 @end example\n\
 \n\
 @end ifnottex\n\
+@seealso{filter2,fftfilt,freqz}\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/find.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/find.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -337,9 +337,11 @@
 
 DEFUN_DLD (find, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {} find (@var{x})\n\
-@deftypefnx {Loadable Function} {} find (@var{x}, @var{n})\n\
-@deftypefnx {Loadable Function} {} find (@var{x}, @var{n}, @var{direction})\n\
+@deftypefn  {Loadable Function} {@var{idx} =} find (@var{x})\n\
+@deftypefnx {Loadable Function} {@var{idx} =} find (@var{x}, @var{n})\n\
+@deftypefnx {Loadable Function} {@var{idx} =} find (@var{x}, @var{n}, @var{direction})\n\
+@deftypefnx {Loadable Function} {[i, j] =} find (@dots{})\n\
+@deftypefnx {Loadable Function} {[i, j, v]] =} find (@dots{})\n\
 Return a vector of indices of nonzero elements of a matrix, as a row if\n\
 @var{x} is a row or as a column otherwise.  To obtain a single index for\n\
 each matrix element, Octave pretends that the columns of a matrix form one\n\
@@ -393,7 +395,7 @@
 b = sparse(i, j, v, sz(1), sz(2));\n\
 @end group\n\
 @end example\n\
-@seealso{sparse}\n\
+@seealso{nonzeros}\n\
 @end deftypefn")
 {
   octave_value_list retval;
@@ -414,7 +416,7 @@
 
       if (error_state || (val < 0 || (! xisinf (val) && val != xround (val))))
         {
-          error ("find: expecting second argument to be a nonnegative integer");
+          error ("find: N must be a nonnegative integer");
           return retval;
         }
       else if (! xisinf (val))
@@ -439,7 +441,7 @@
 
       if (direction == 0)
         {
-          error ("find: expecting third argument to be \"first\" or \"last\"");
+          error ("find: DIRECTION must be \"first\" or \"last\"");
           return retval;
         }
     }
--- a/src/DLD-FUNCTIONS/fltk_backend.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/fltk_backend.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -1695,7 +1695,7 @@
           dynamic_cast<figure::properties&> (fobj.get_properties ());
         return figprops2idx (fp);
       }
-    error ("fltk_backend:: not a figure");
+    error ("fltk_backend:: H is not a figure");
     return -1;
   }
 
@@ -1947,10 +1947,9 @@
 
 DEFUN_DLD (fltk_mouse_wheel_zoom, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Built-in Function} {} fltk_mouse_wheel_zoom ([@var{speed}])\n\
-Returns the current mouse wheel zoom factor in the fltk backend.  If\n\
-the @var{speed} argument is given, set the mouse zoom factor to this\n\
-value.\n\
+@deftypefn  {Built-in Function} {@var{speed} =} fltk_mouse_wheel_zoom ()\n\
+@deftypefnx {Built-in Function} {} fltk_mouse_wheel_zoom (@var{speed})\n\
+Query or set the mouse wheel zoom factor in the fltk backend.\n\
 @end deftypefn")
 {
   octave_value retval = wheel_zoom_speed;
@@ -1960,7 +1959,7 @@
       if (args(0).is_real_scalar ())
         wheel_zoom_speed = args(0).double_value ();
       else
-        error ("argument must be a real scalar");
+        error ("fltk_mouse_wheel_zoom: SPEED must be a real scalar");
     }
 
   return retval;
@@ -1968,17 +1967,18 @@
 
 DEFUN_DLD (fltk_gui_mode, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Built-in Function} {@var{mode} =} fltk_gui_mode\n\
+@deftypefn  {Built-in Function} {@var{mode} =} fltk_gui_mode ()\n\
 @deftypefnx {Built-in Function} {} fltk_gui_mode (@var{mode})\n\
-Returns the current GUI mode string for the fltk backend. If\n\
-the @var{mode} argument is given the GUI mode is set to this\n\
-value. It can be one of the following strings:\n\
-@table @code\n\
-@item 2d\n\
+Query or set the GUI mode for the fltk backend.\n\
+The @var{mode} argument can be one of the following strings:\n\
+@table @asis\n\
+@item '2d'\n\
 Allows panning and zooming of current axes.\n\
-@item 3d\n\
+\n\
+@item '3d'\n\
 Allows rotating and zooming of current axes.\n\
-@item none\n\
+\n\
+@item 'none'\n\
 Mouse inputs have no effect.\n\
 @end table\n\
 @end deftypefn")
@@ -2015,7 +2015,7 @@
     }
     
   if (failed)
-    error ("argument must be one of the strings: ""2D"", ""3D"", or ""None"".");
+    error ("MODE must be one of the strings: ""2D"", ""3D"", or ""None"".");
   
   
   return octave_value(mode_str);
@@ -2024,10 +2024,8 @@
 #include "file-ops.h"
 DEFUN_DLD (__fltk_uigetfile__, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Built-in Function} {} __fltk_uigetfile__ ([@var{...}])\n\
-Internal Function.\n\
-\n\
-\n\
+@deftypefn {Built-in Function} {} __fltk_uigetfile__ (@dots{})\n\
+Undocumented internal function.\n\
 @end deftypefn")
 {
   // This function should be called by uigetfile.m
--- a/src/DLD-FUNCTIONS/gammainc.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/gammainc.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -89,10 +89,10 @@
           if (s == "upper")
             lower = false;
           else if (s != "lower")
-            error ("expecting third argument to be \"lower\" or \"upper\"");
+            error ("gammainc: third argument must be \"lower\" or \"upper\"");
         }
       else
-        error ("expecting third argument to be \"lower\" or \"upper\"");
+        error ("gammainc: third argument must be \"lower\" or \"upper\"");
 
     }
 
--- a/src/DLD-FUNCTIONS/gcd.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/gcd.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -434,16 +434,16 @@
 
 DEFUN_DLD (gcd, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{g} =} gcd (@var{a1}, @var{a2}, @dots{})\n\
+@deftypefn  {Loadable Function} {@var{g} =} gcd (@var{a1}, @var{a2}, @dots{})\n\
 @deftypefnx {Loadable Function} {[@var{g}, @var{v1}, @dots{}] =} gcd (@var{a1}, @var{a2}, @dots{})\n\
 \n\
-Compute the greatest common divisor of @var{a1}, @var{a2}, @dots{}. If more\n\
+Compute the greatest common divisor of @var{a1}, @var{a2}, @dots{}.  If more\n\
 than one argument is given all arguments must be the same size or scalar.\n\
-  In this case the greatest common divisor is calculated for each element\n\
+In this case the greatest common divisor is calculated for each element\n\
 individually.  All elements must be ordinary or Gaussian (complex)\n\
-integers. Note that for Gaussian integers, the gcd is not unique up to\n\
+integers.  Note that for Gaussian integers, the gcd is not unique up to\n\
 units (multiplication by 1, -1, @var{i} or -@var{i}), so an arbitrary\n\
-greatest common divisor amongst four possible is returned. For example,\n\
+greatest common divisor amongst four possible is returned.  For example,\n\
 \n\
 @noindent\n\
 and\n\
--- a/src/DLD-FUNCTIONS/getgrent.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/getgrent.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -66,7 +66,7 @@
  "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{grp_struct} =} getgrent ()\n\
 Return an entry from the group database, opening it if necessary.\n\
-Once the end of the data has been reached, @code{getgrent} returns 0.\n\
+Once the end of data has been reached, @code{getgrent} returns 0.\n\
 @end deftypefn")
 {
   octave_value_list retval;
@@ -120,7 +120,7 @@
               retval(1) = msg;
             }
           else
-            error ("getgrgid: argument must be an integer");
+            error ("getgrgid: GID must be an integer");
         }
     }
   else
--- a/src/DLD-FUNCTIONS/getpwent.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/getpwent.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -124,7 +124,7 @@
               retval(1) = msg;
             }
           else
-            error ("getpwuid: argument must be an integer");
+            error ("getpwuid: UID must be an integer");
         }
     }
   else
--- a/src/DLD-FUNCTIONS/hess.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/hess.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -37,27 +37,29 @@
 
 DEFUN_DLD (hess, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{h} =} hess (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{p}, @var{h}] =} hess (@var{a})\n\
+@deftypefn  {Loadable Function} {@var{h} =} hess (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{p}, @var{h}] =} hess (@var{A})\n\
 @cindex Hessenberg decomposition\n\
-Compute the Hessenberg decomposition of the matrix @var{a}.\n\
+Compute the Hessenberg decomposition of the matrix @var{A}.\n\
 \n\
-The Hessenberg decomposition is usually used as the first step in an\n\
-eigenvalue computation, but has other applications as well (see Golub,\n\
-Nash, and Van Loan, IEEE Transactions on Automatic Control, 1979).  The\n\
-Hessenberg decomposition is\n\
+The Hessenberg decomposition is\n\
 @tex\n\
 $$\n\
 A = PHP^T\n\
 $$\n\
-where $P$ is a square unitary matrix ($P^HP = I$), and $H$\n\
+where $P$ is a square unitary matrix ($P^TP = I$), and $H$\n\
 is upper Hessenberg ($H_{i,j} = 0, \\forall i \\ge j+1$).\n\
 @end tex\n\
 @ifnottex\n\
-@code{p * h * p' = a} where @code{p} is a square unitary matrix\n\
-(@code{p' * p = I}, using complex-conjugate transposition) and @code{h}\n\
-is upper Hessenberg (@code{i >= j+1 => h (i, j) = 0}).\n\
+@code{@var{P} * @var{H} * @var{P}' = @var{A}} where @var{p} is a square\n\
+unitary matrix (@code{@var{p}' * @var{p} = I}, using complex-conjugate\n\
+transposition) and @var{H} is upper Hessenberg\n\
+(@code{@var{H}(i, j) = 0 forall i >= j+1)}.\n\
 @end ifnottex\n\
+\n\
+The Hessenberg decomposition is usually used as the first step in an\n\
+eigenvalue computation, but has other applications as well (see Golub,\n\
+Nash, and Van Loan, IEEE Transactions on Automatic Control, 1979).\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/hex2num.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/hex2num.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -35,7 +35,7 @@
 DEFUN_DLD (hex2num, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{n} =} hex2num (@var{s})\n\
-Typecast the 16 character hexadecimal character matrix to an IEEE 754\n\
+Typecast the 16 character hexadecimal character string to an IEEE 754\n\
 double precision number.  If fewer than 16 characters are given the\n\
 strings are right padded with '0' characters.\n\
 \n\
@@ -61,7 +61,7 @@
       const charMatrix cmat = args(0).char_matrix_value ();
 
       if (cmat.columns () > 16)
-        error ("hex2num: expecting no more than a 16 character string");
+        error ("hex2num: S must be no more than 16 characters");
       else if (! error_state)
         {
           octave_idx_type nr = cmat.rows ();
@@ -92,7 +92,7 @@
                     }
                   else
                     {
-                      error ("hex2num: illegal character found in string");
+                      error ("hex2num: illegal character found in string S");
                       break;
                     }
                 }
--- a/src/DLD-FUNCTIONS/inv.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/inv.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -38,17 +38,22 @@
 
 DEFUN_DLD (inv, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {[@var{x}, @var{rcond}] =} inv (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{x}, @var{rcond}] =} inverse (@var{a})\n\
-Compute the inverse of the square matrix @var{a}.  Return an estimate\n\
+@deftypefn  {Loadable Function} {[@var{x} =} inv (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{x}, @var{rcond}] =} inv (@var{A})\n\
+Compute the inverse of the square matrix @var{A}.  Return an estimate\n\
 of the reciprocal condition number if requested, otherwise warn of an\n\
 ill-conditioned matrix if the reciprocal condition number is small.\n\
 \n\
+In general it is best to avoid calculating the inverse of a matrix\n\
+directly.  For example, it is both faster and more accurate to solve\n\
+systems of equations (@var{A}*@math{x} = @math{b}) with\n\
+@code{@var{y} = @var{A} \\ @math{b}}, rather than\n\
+@code{@var{y} = inv (@var{A}) * @math{b}}.\n\
+\n\
 If called with a sparse matrix, then in general @var{x} will be a full\n\
-matrix, and so if possible forming the inverse of a sparse matrix should\n\
-be avoided.  It is significantly more accurate and faster to do\n\
-@code{@var{y} = @var{a} \\ @var{b}}, rather than\n\
-@code{@var{y} = inv (@var{a}) * @var{b}}.\n\
+matrix requiring significantly more storage.  Avoid forming the inverse\n\
+of a sparse matrix if possible.\n\
+@seealso{ldivide,rdivide}\n\
 @end deftypefn")
 {
   octave_value_list retval;
@@ -235,8 +240,10 @@
 
 DEFUN_DLD (inverse, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} inverse (@var{a})\n\
-See inv.\n\
+@deftypefn  {Loadable Function} {[@var{x} =} inverse (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{x}, @var{rcond}] =} inverse (@var{A})\n\
+This in an alias for @code{inv}.\n\
+@seealso{inv}\n\
 @end deftypefn")
 {
   return Finv (args, nargout);
--- a/src/DLD-FUNCTIONS/kron.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/kron.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -176,7 +176,7 @@
   } while (0) \
 
 DEFUN_DLD (kron, args, , "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} kron (@var{a}, @var{b})\n\
+@deftypefn {Loadable Function} {} kron (@var{A}, @var{B})\n\
 Form the Kronecker product of two matrices, defined block by block as\n\
 \n\
 @example\n\
--- a/src/DLD-FUNCTIONS/lookup.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/lookup.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -269,9 +269,9 @@
   if ((match_idx || match_bool) && (left_inf || right_inf))
     error ("lookup: m, b cannot be specified with l or r");
   else if (match_idx && match_bool)
-    error ("lookup: only one of m, b can be specified");
+    error ("lookup: only one of m or b can be specified");
   else if (str_case && (left_inf || right_inf))
-    error ("lookup: l,r not recognized for string lookups");
+    error ("lookup: l, r are not recognized for string lookups");
 
   if (error_state)
     return retval;
--- a/src/DLD-FUNCTIONS/lsode.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/lsode.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -158,7 +158,8 @@
 
 DEFUN_DLD (lsode, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{x}, @var{istate}, @var{msg}] =} lsode (@var{fcn}, @var{x_0}, @var{t}, @var{t_crit})\n\
+@deftypefn  {Loadable Function} {[@var{x}, @var{istate}, @var{msg}] =} lsode (@var{fcn}, @var{x_0}, @var{t})\n\
+@deftypefnx {Loadable Function} {[@var{x}, @var{istate}, @var{msg}] =} lsode (@var{fcn}, @var{x_0}, @var{t}, @var{t_crit})\n\
 Solve the set of differential equations\n\
 @tex\n\
 $$ {dx \\over dt} = f (x, t) $$\n\
--- a/src/DLD-FUNCTIONS/lu.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/lu.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -63,21 +63,22 @@
 
 DEFUN_DLD (lu, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {[@var{l}, @var{u}] =} lu (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}] =} lu (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} lu (@var{s})\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}, @var{r}] =} lu (@var{s})\n\
-@deftypefnx {Loadable Function} {[@dots{}] =} lu (@var{s}, @var{thres})\n\
+@deftypefn  {Loadable Function} {[@var{L}, @var{U}] =} lu (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{L}, @var{U}, @var{P}] =} lu (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{L}, @var{U}, @var{P}, @var{Q}] =} lu (@var{S})\n\
+@deftypefnx {Loadable Function} {[@var{L}, @var{U}, @var{P}, @var{Q}, @var{R}] =} lu (@var{S})\n\
+@deftypefnx {Loadable Function} {[@dots{}] =} lu (@var{S}, @var{thres})\n\
 @deftypefnx {Loadable Function} {@var{y} =} lu (@dots{})\n\
 @deftypefnx {Loadable Function} {[@dots{}] =} lu (@dots{}, 'vector')\n\
 @cindex LU decomposition\n\
-Compute the LU decomposition of @var{a}.  If @var{a} is full subroutines from\n\
-@sc{lapack} are used and if @var{a} is sparse then @sc{umfpack} is used.  The\n\
+Compute the LU@tie{}decomposition of @var{A}.  If @var{A} is full\n\
+subroutines from\n\
+@sc{lapack} are used and if @var{A} is sparse then @sc{umfpack} is used.  The\n\
 result is returned in a permuted form, according to the optional return\n\
-value @var{p}.  For example, given the matrix @code{a = [1, 2; 3, 4]},\n\
+value @var{P}.  For example, given the matrix @code{a = [1, 2; 3, 4]},\n\
 \n\
 @example\n\
-[l, u, p] = lu (a)\n\
+[l, u, p] = lu (@var{a})\n\
 @end example\n\
 \n\
 @noindent\n\
@@ -104,37 +105,37 @@
 \n\
 The matrix is not required to be square.\n\
 \n\
-Called with two or three output arguments and a spare input matrix,\n\
-then @dfn{lu} does not attempt to perform sparsity preserving column\n\
+When called with two or three output arguments and a spare input matrix,\n\
+@code{lu} does not attempt to perform sparsity preserving column\n\
 permutations.  Called with a fourth output argument, the sparsity\n\
 preserving column transformation @var{Q} is returned, such that\n\
-@code{@var{p} * @var{a} * @var{q} = @var{l} * @var{u}}.\n\
+@code{@var{P} * @var{A} * @var{Q} = @var{L} * @var{U}}.\n\
 \n\
-Called with a fifth output argument and a sparse input matrix, then\n\
-@dfn{lu} attempts to use a scaling factor @var{r} on the input matrix\n\
+Called with a fifth output argument and a sparse input matrix,\n\
+@code{lu} attempts to use a scaling factor @var{R} on the input matrix\n\
 such that\n\
-@code{@var{p} * (@var{r} \\ @var{a}) * @var{q} = @var{l} * @var{u}}.\n\
+@code{@var{P} * (@var{R} \\ @var{A}) * @var{Q} = @var{L} * @var{U}}.\n\
 This typically leads to a sparser and more stable factorization.\n\
 \n\
 An additional input argument @var{thres}, that defines the pivoting\n\
 threshold can be given.  @var{thres} can be a scalar, in which case\n\
-it defines @sc{umfpack} pivoting tolerance for both symmetric and unsymmetric\n\
-cases.  If @var{thres} is a two element vector, then the first element\n\
-defines the pivoting tolerance for the unsymmetric @sc{umfpack} pivoting\n\
-strategy and the second the symmetric strategy.  By default, the values\n\
-defined by @code{spparms} are used and are by default @code{[0.1, 0.001]}.\n\
+it defines the @sc{umfpack} pivoting tolerance for both symmetric and\n\
+unsymmetric cases.  If @var{thres} is a 2-element vector, then the first\n\
+element defines the pivoting tolerance for the unsymmetric @sc{umfpack}\n\
+pivoting strategy and the second for the symmetric strategy.  By default,\n\
+the values defined by @code{spparms} are used ([0.1, 0.001]).\n\
 \n\
-Given the string argument 'vector', @dfn{lu} returns the values of @var{p}\n\
-@var{q} as vector values, such that for full matrix, @code{@var{a}\n\
-(@var{p},:) = @var{l} * @var{u}}, and @code{@var{r}(@var{p},:) * @var{a}\n\
-(:, @var{q}) = @var{l} * @var{u}}.\n\
+Given the string argument 'vector', @code{lu} returns the values of @var{P}\n\
+and @var{Q} as vector values, such that for full matrix, @code{@var{A}\n\
+(@var{P},:) = @var{L} * @var{U}}, and @code{@var{R}(@var{P},:) * @var{A}\n\
+(:, @var{Q}) = @var{L} * @var{U}}.\n\
 \n\
 With two output arguments, returns the permuted forms of the upper and\n\
-lower triangular matrices, such that @code{@var{a} = @var{l} * @var{u}}.\n\
+lower triangular matrices, such that @code{@var{A} = @var{L} * @var{U}}.\n\
 With one output argument @var{y}, then the matrix returned by the @sc{lapack}\n\
-routines is returned.  If the input matrix is sparse then the matrix @var{l}\n\
-is embedded into @var{u} to give a return value similar to the full case.\n\
-For both full and sparse matrices, @dfn{lu} loses the permutation\n\
+routines is returned.  If the input matrix is sparse then the matrix @var{L}\n\
+is embedded into @var{U} to give a return value similar to the full case.\n\
+For both full and sparse matrices, @code{lu} loses the permutation\n\
 information.\n\
 @end deftypefn")
 {
@@ -175,7 +176,7 @@
           if (! error_state )
             {
               if (!issparse)
-                error ("lu: can not define pivoting threshold for full matrices");
+                error ("lu: can not define pivoting threshold THRES for full matrices");
               else if (tmp.nelem () == 1)
                 {
                   thres.resize(1,2);
@@ -185,7 +186,7 @@
               else if (tmp.nelem () == 2)
                 thres = tmp;
               else
-                error ("lu: expecting 2 element vector for thres");
+                error ("lu: expecting 2-element vector for THRES");
             }
         }
     }
@@ -596,7 +597,7 @@
 
 DEFUN_DLD (luupdate, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {[@var{L}, @var{U}] =} luupdate (@var{l}, @var{u}, @var{x}, @var{y})\n\
+@deftypefn  {Loadable Function} {[@var{L}, @var{U}] =} luupdate (@var{L}, @var{U}, @var{x}, @var{y})\n\
 @deftypefnx {Loadable Function} {[@var{L}, @var{U}, @var{P}] =} luupdate (@var{L}, @var{U}, @var{P}, @var{x}, @var{y})\n\
 Given an LU@tie{}factorization of a real or complex matrix\n\
 @w{@var{A} = @var{L}*@var{U}}, @var{L}@tie{}lower unit trapezoidal and\n\
@@ -615,8 +616,8 @@
 @end example\n\
 \n\
 @noindent\n\
-then a factorization of @code{@var{a}+@var{x}*@var{y}.'} can be obtained either\n\
-as\n\
+then a factorization of @code{@var{A}+@var{x}*@var{y}.'} can be obtained\n\
+either as\n\
 \n\
 @example\n\
   [@var{L1}, @var{U1}] = lu (@var{L}, @var{U}, @var{P}*@var{x}, @var{y})\n\
@@ -629,12 +630,13 @@
   [@var{L1}, @var{U1}, @var{P1}] = lu (@var{L}, @var{U}, @var{P}, @var{x}, @var{y})\n\
 @end example\n\
 \n\
-The first form uses the unpivoted algorithm, which is faster, but less stable.\n\
-The second form uses a slower pivoted algorithm, which is more stable.\n\
+The first form uses the unpivoted algorithm, which is faster, but less\n\
+stable.  The second form uses a slower pivoted algorithm, which is more\n\
+stable.\n\
 \n\
-Note that the matrix case is done as a sequence of rank-1 updates;\n\
-thus, for k large enough, it will be both faster and more accurate to recompute\n\
-the factorization from scratch.\n\
+The matrix case is done as a sequence of rank-1 updates;\n\
+thus, for large enough k, it will be both faster and more accurate to\n\
+recompute the factorization from scratch.\n\
 @seealso{lu,qrupdate,cholupdate}\n\
 @end deftypefn")
 {
@@ -756,10 +758,10 @@
             }
         }
       else
-        error ("luupdate: dimensions mismatch");
+        error ("luupdate: dimension mismatch");
     }
   else
-    error ("luupdate: expecting numeric arguments");
+    error ("luupdate: L, U, X, and Y must be numeric");
 
   return retval;
 }
--- a/src/DLD-FUNCTIONS/luinc.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/luinc.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -39,31 +39,31 @@
 
 DEFUN_DLD (luinc, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} luinc (@var{a}, '0')\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} luinc (@var{a}, @var{droptol})\n\
-@deftypefnx {Loadable Function} {[@var{l}, @var{u}, @var{p}, @var{q}] =} luinc (@var{a}, @var{opts})\n\
+@deftypefn  {Loadable Function} {[@var{L}, @var{U}, @var{P}, @var{Q}] =} luinc (@var{A}, '0')\n\
+@deftypefnx {Loadable Function} {[@var{L}, @var{U}, @var{P}, @var{Q}] =} luinc (@var{A}, @var{droptol})\n\
+@deftypefnx {Loadable Function} {[@var{L}, @var{U}, @var{P}, @var{Q}] =} luinc (@var{A}, @var{opts})\n\
 @cindex LU decomposition\n\
-Produce the incomplete LU factorization of the sparse matrix @var{a}.\n\
+Produce the incomplete LU factorization of the sparse matrix @var{A}.\n\
 Two types of incomplete factorization are possible, and the type\n\
-is determined by the second argument to @dfn{luinc}.\n\
+is determined by the second argument to @code{luinc}.\n\
 \n\
 Called with a second argument of '0', the zero-level incomplete\n\
-LU factorization is produced.  This creates a factorization of @var{a}\n\
+LU@tie{}factorization is produced.  This creates a factorization of @var{A}\n\
 where the position of the non-zero arguments correspond to the same\n\
-positions as in the matrix @var{a}.\n\
+positions as in the matrix @var{A}.\n\
 \n\
-Alternatively, the fill-in of the incomplete LU factorization can\n\
+Alternatively, the fill-in of the incomplete LU@tie{}factorization can\n\
 be controlled through the variable @var{droptol} or the structure\n\
 @var{opts}.  The @sc{umfpack} multifrontal factorization code by Tim A.\n\
-Davis is used for the incomplete LU factorization, (availability\n\
+Davis is used for the incomplete LU@tie{}factorization, (availability\n\
 @url{http://www.cise.ufl.edu/research/sparse/umfpack/})\n\
 \n\
-@var{droptol} determines the values below which the values in the LU\n\
-factorization are dropped and replaced by zero.  It must be a positive\n\
-scalar, and any values in the factorization whose absolute value are\n\
-less than this value are dropped, expect if leaving them increase the\n\
-sparsity of the matrix.  Setting @var{droptol} to zero results in a\n\
-complete LU factorization which is the default.\n\
+@var{droptol} determines the values below which the values in the\n\
+LU@tie{} factorization are dropped and replaced by zero.  It must be a\n\
+positive scalar, and any values in the factorization whose absolute value\n\
+are less than this value are dropped, expect if leaving them increase the\n\
+sparsity of the matrix.  Setting @var{droptol} to zero results in a complete\n\
+LU@tie{}factorization which is the default.\n\
 \n\
 @var{opts} is a structure containing one or more of the fields\n\
 \n\
@@ -73,14 +73,14 @@
 then this is equivalent to using the variable @var{droptol}.\n\
 \n\
 @item milu\n\
-A logical variable flagging whether to use the modified incomplete LU\n\
-factorization.  In the case that @code{milu} is true, the dropped values\n\
-are subtracted from the diagonal of the matrix U of the factorization.\n\
-The default is @code{false}.\n\
+A logical variable flagging whether to use the modified incomplete\n\
+LU@tie{} factorization.  In the case that @code{milu} is true, the dropped\n\
+values are subtracted from the diagonal of the matrix @var{U} of the\n\
+factorization.  The default is @code{false}.\n\
 \n\
 @item udiag\n\
-A logical variable that flags whether zero elements on the diagonal of U\n\
-should be replaced with @var{droptol} to attempt to avoid singular\n\
+A logical variable that flags whether zero elements on the diagonal of\n\
+@var{U} should be replaced with @var{droptol} to attempt to avoid singular\n\
 factors.  The default is @code{false}.\n\
 \n\
 @item thresh\n\
@@ -88,11 +88,11 @@
 range are ignored.\n\
 @end table\n\
 \n\
-All other fields in @var{opts} are ignored.  The outputs from @dfn{luinc}\n\
-are the same as for @dfn{lu}.\n\
+All other fields in @var{opts} are ignored.  The outputs from @code{luinc}\n\
+are the same as for @code{lu}.\n\
 \n\
-Given the string argument 'vector', @dfn{luinc} returns the values of @var{p}\n\
-@var{q} as vector values.\n\
+Given the string argument 'vector', @code{luinc} returns the values of\n\
+@var{p} @var{q} as vector values.\n\
 @seealso{sparse, lu}\n\
 @end deftypefn")
 {
@@ -159,14 +159,14 @@
                     }
                   else if (thresh.nelem () != 2)
                     {
-                      error ("luinc: expecting 2 element vector for thresh");
+                      error ("luinc: expecting 2-element vector for thresh");
                       return retval;
                     }
                 }
             }
           else
             {
-              error ("luinc: options argument must be a scalar structure");
+              error ("luinc: OPTS must be a scalar structure");
               return retval;
             }
         }
@@ -357,7 +357,7 @@
                 }
             }
           else
-            error ("luinc: first argument must be sparse");
+            error ("luinc: matrix A must be sparse");
         }
     }
 
--- a/src/DLD-FUNCTIONS/matrix_type.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/matrix_type.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -38,14 +38,14 @@
 
 DEFUN_DLD (matrix_type, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{type} =} matrix_type (@var{a})\n\
-@deftypefnx {Loadable Function} {@var{type} =} matrix_type (@var{a}, 'nocompute')\n\
-@deftypefnx {Loadable Function} {@var{a} =} matrix_type (@var{a}, @var{type})\n\
-@deftypefnx {Loadable Function} {@var{a} =} matrix_type (@var{a}, 'upper', @var{perm})\n\
-@deftypefnx {Loadable Function} {@var{a} =} matrix_type (@var{a}, 'lower', @var{perm})\n\
-@deftypefnx {Loadable Function} {@var{a} =} matrix_type (@var{a}, 'banded', @var{nl}, @var{nu})\n\
+@deftypefn  {Loadable Function} {@var{type} =} matrix_type (@var{A})\n\
+@deftypefnx {Loadable Function} {@var{type} =} matrix_type (@var{A}, 'nocompute')\n\
+@deftypefnx {Loadable Function} {@var{A} =} matrix_type (@var{A}, @var{type})\n\
+@deftypefnx {Loadable Function} {@var{A} =} matrix_type (@var{A}, 'upper', @var{perm})\n\
+@deftypefnx {Loadable Function} {@var{A} =} matrix_type (@var{A}, 'lower', @var{perm})\n\
+@deftypefnx {Loadable Function} {@var{A} =} matrix_type (@var{A}, 'banded', @var{nl}, @var{nu})\n\
 Identify the matrix type or mark a matrix as a particular type.  This allows\n\
-rapid for solutions of linear equations involving @var{a} to be performed.  \n\
+more rapid solutions of linear equations involving @var{A} to be performed.  \n\
 Called with a single argument, @code{matrix_type} returns the type of the\n\
 matrix and caches it for future use.  Called with more than one argument,\n\
 @code{matrix_type} allows the type of the matrix to be defined.\n\
@@ -58,7 +58,7 @@
 \n\
 @table @asis\n\
 @item 'unknown'\n\
-Remove any previously cached matrix type, and mark type as unknown\n\
+Remove any previously cached matrix type, and mark type as unknown.\n\
 \n\
 @item 'full'\n\
 Mark the matrix as full.\n\
@@ -67,7 +67,7 @@
 Probable full positive definite matrix.\n\
 \n\
 @item 'diagonal'\n\
-Diagonal Matrix.  (Sparse matrices only)\n\
+Diagonal matrix.  (Sparse matrices only)\n\
 \n\
 @item 'permuted diagonal'\n\
 Permuted Diagonal matrix.  The permutation does not need to be specifically\n\
@@ -89,28 +89,28 @@
 Banded matrix with the band size of @var{nl} below the diagonal and @var{nu}\n\
 above it.  If @var{nl} and @var{nu} are 1, then the matrix is tridiagonal and\n\
 treated with specialized code.  In addition the matrix can be marked as\n\
-probably a positive definite (Sparse matrices only)\n\
+probably a positive definite.  (Sparse matrices only)\n\
 \n\
 @item 'singular'\n\
 The matrix is assumed to be singular and will be treated with a minimum norm\n\
-solution\n\
+solution.\n\
 \n\
 @end table\n\
 \n\
 Note that the matrix type will be discovered automatically on the first\n\
-attempt to solve a linear equation involving @var{a}.  Therefore\n\
+attempt to solve a linear equation involving @var{A}.  Therefore\n\
 @code{matrix_type} is only useful to give Octave hints of the matrix type.  \n\
 Incorrectly defining the matrix type will result in incorrect results from\n\
-solutions of linear equations, and so it is entirely the responsibility of\n\
-the user to correctly identify the matrix type.\n\
+solutions of linear equations; it is entirely @strong{the responsibility of\n\
+the user} to correctly identify the matrix type.\n\
 \n\
-Also the test for positive definiteness is a low-cost test for a Hermitian\n\
+Also, the test for positive definiteness is a low-cost test for a Hermitian\n\
 matrix with a real positive diagonal.  This does not guarantee that the\n\
 matrix is positive definite, but only that it is a probable candidate.  When\n\
-such a matrix is factorized, a Cholesky factorization is first attempted,\n\
-and if that fails the matrix is then treated with an LU factorization.  Once\n\
-the matrix has been factorized, @code{matrix_type} will return the correct\n\
-classification of the matrix.\n\
+such a matrix is factorized, a Cholesky@tie{}factorization is first\n\
+attempted, and if that fails the matrix is then treated with an\n\
+LU@tie{}factorization.  Once the matrix has been factorized,\n\
+@code{matrix_type} will return the correct classification of the matrix.\n\
 @end deftypefn")
 {
   int nargin = args.length ();
@@ -220,7 +220,7 @@
               octave_idx_type nu = 0;
               
               if (error_state)
-                error ("Matrix type must be a string");
+                error ("matrix_type: TYPE must be a string");
               else
                 {
                   // Use STL function to convert to lower case
@@ -280,14 +280,14 @@
                             ColumnVector (args (2).vector_value ());
 
                           if (error_state)
-                            error ("matrix_type: Invalid permutation vector");
+                            error ("matrix_type: Invalid permutation vector PERM");
                           else
                             {
                               octave_idx_type len = perm.length ();
                               dim_vector dv = args(0).dims ();
                               
                               if (len != dv(0))
-                                error ("matrix_type: Invalid permutation vector");
+                                error ("matrix_type: Invalid permutation vector PERM");
                               else
                                 {
                                   OCTAVE_LOCAL_BUFFER (octave_idx_type, p, len);
@@ -413,7 +413,7 @@
               MatrixType mattyp = MatrixType (MatrixType::Unknown, true);
 
               if (error_state)
-                error ("Matrix type must be a string");
+                error ("matrix_type: TYPE must be a string");
               else
                 {
                   // Use STL function to convert to lower case
@@ -447,14 +447,14 @@
                             ColumnVector (args (2).vector_value ());
 
                           if (error_state)
-                            error ("matrix_type: Invalid permutation vector");
+                            error ("matrix_type: Invalid permutation vector PERM");
                           else
                             {
                               octave_idx_type len = perm.length ();
                               dim_vector dv = args(0).dims ();
                               
                               if (len != dv(0))
-                                error ("matrix_type: Invalid permutation vector");
+                                error ("matrix_type: Invalid permutation vector PERM");
                               else
                                 {
                                   OCTAVE_LOCAL_BUFFER (octave_idx_type, p, len);
--- a/src/DLD-FUNCTIONS/max.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/max.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -173,7 +173,7 @@
           dim = args(2).int_value (true) - 1;
           if (error_state || dim < 0)
             {
-              error ("%s: invalid dimension", func);
+              error ("%s: DIM must be a valid dimension", func);
               return retval;
             }
 
@@ -512,7 +512,7 @@
           dim = args(1).int_value (true) - 1;
           if (error_state || dim < 0)
             {
-              error ("%s: invalid dimension", func);
+              error ("%s: DIM must be a valid dimension", func);
               return retval;
             }
         }
--- a/src/DLD-FUNCTIONS/md5sum.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/md5sum.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -40,7 +40,7 @@
    "-*- texinfo -*-\n\
 @deftypefn  {Loadable Function} {} md5sum (@var{file})\n\
 @deftypefnx {Loadable Function} {} md5sum (@var{str}, @var{opt})\n\
-Calculates the MD5 sum of the file @var{file}.  If the second parameter\n\
+Calculate the MD5 sum of the file @var{file}.  If the second parameter\n\
 @var{opt} exists and is true, then calculate the MD5 sum of the\n\
 string @var{str}.\n\
 @end deftypefn")
--- a/src/DLD-FUNCTIONS/onCleanup.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/onCleanup.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -252,7 +252,7 @@
 DEFUN_DLD (onCleanup, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{c} =} onCleanup (@var{action})\n\
-Creates a special object that executes a given function upon destruction.\n\
+Create a special object that executes a given function upon destruction.\n\
 If the object is copied to multiple variables (or cell or struct array\n\
 elements) or returned from a function, @var{action} will be executed after\n\
 clearing the last copy of the object.  Note that if multiple local onCleanup\n\
--- a/src/DLD-FUNCTIONS/pinv.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/pinv.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -38,7 +38,8 @@
 
 DEFUN_DLD (pinv, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} pinv (@var{x}, @var{tol})\n\
+@deftypefn  {Loadable Function} {} pinv (@var{x})\n\
+@deftypefnx {Loadable Function} {} pinv (@var{x}, @var{tol})\n\
 Return the pseudoinverse of @var{x}.  Singular values less than\n\
 @var{tol} are ignored.  \n\
 \n\
@@ -108,7 +109,7 @@
 
       if (tol < 0.0)
         {
-          error ("pinv: tol must be greater than zero");
+          error ("pinv: TOL must be greater than zero");
           return retval;
         }
 
@@ -142,7 +143,7 @@
 
       if (tol < 0.0)
         {
-          error ("pinv: tol must be greater than zero");
+          error ("pinv: TOL must be greater than zero");
           return retval;
         }
 
--- a/src/DLD-FUNCTIONS/qr.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/qr.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -74,14 +74,14 @@
 
 DEFUN_DLD (qr, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {[@var{q}, @var{r}, @var{p}] =} qr (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{q}, @var{r}, @var{p}] =} qr (@var{a}, '0')\n\
+@deftypefn  {Loadable Function} {[@var{Q}, @var{R}, @var{P}] =} qr (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{Q}, @var{R}, @var{P}] =} qr (@var{A}, '0')\n\
 @cindex QR factorization\n\
-Compute the QR factorization of @var{a}, using standard @sc{lapack}\n\
-subroutines.  For example, given the matrix @code{a = [1, 2; 3, 4]},\n\
+Compute the QR@tie{}factorization of @var{A}, using standard @sc{lapack}\n\
+subroutines.  For example, given the matrix @code{@var{A} = [1, 2; 3, 4]},\n\
 \n\
 @example\n\
-[q, r] = qr (a)\n\
+[@var{Q}, @var{R}] = qr (@var{A})\n\
 @end example\n\
 \n\
 @noindent\n\
@@ -89,12 +89,12 @@
 \n\
 @example\n\
 @group\n\
-q =\n\
+@var{Q} =\n\
 \n\
   -0.31623  -0.94868\n\
   -0.94868   0.31623\n\
 \n\
-r =\n\
+@var{R} =\n\
 \n\
   -3.16228  -4.42719\n\
    0.00000  -0.63246\n\
@@ -120,28 +120,29 @@
 $A$\n\
 @end tex\n\
 @ifnottex\n\
-@code{a}\n\
+@var{A}\n\
 @end ifnottex\n\
- is a tall, thin matrix).  The QR factorization is\n\
+ is a tall, thin matrix).  The QR@tie{}factorization is\n\
 @tex\n\
 $QR = A$ where $Q$ is an orthogonal matrix and $R$ is upper triangular.\n\
 @end tex\n\
 @ifnottex\n\
-@code{q * r = a} where @code{q} is an orthogonal matrix and @code{r} is\n\
-upper triangular.\n\
+@code{@var{Q} * @var{Q} = @var{A}} where @var{Q} is an orthogonal matrix and\n\
+@var{R} is upper triangular.\n\
 @end ifnottex\n\
 \n\
 If given a second argument of '0', @code{qr} returns an economy-sized\n\
-QR factorization, omitting zero rows of @var{R} and the corresponding\n\
+QR@tie{}factorization, omitting zero rows of @var{R} and the corresponding\n\
 columns of @var{Q}.\n\
 \n\
-If the matrix @var{a} is full, the permuted QR factorization\n\
-@code{[@var{q}, @var{r}, @var{p}] = qr (@var{a})} forms the QR factorization\n\
-such that the diagonal entries of @code{r} are decreasing in magnitude\n\
-order.  For example,given the matrix @code{a = [1, 2; 3, 4]},\n\
+If the matrix @var{A} is full, the permuted QR@tie{}factorization\n\
+@code{[@var{Q}, @var{R}, @var{P}] = qr (@var{A})} forms the\n\
+QR@tie{}factorization such that the diagonal entries of @var{R} are\n\
+decreasing in magnitude order.  For example, given the matrix @code{a = [1,\n\
+2; 3, 4]},\n\
 \n\
 @example\n\
-[q, r, p] = qr(a)\n\
+[@var{Q}, @var{R}, @var{P}] = qr (@var{A})\n\
 @end example\n\
 \n\
 @noindent\n\
@@ -149,45 +150,46 @@
 \n\
 @example\n\
 @group\n\
-q = \n\
+@var{Q} = \n\
 \n\
   -0.44721  -0.89443\n\
   -0.89443   0.44721\n\
 \n\
-r =\n\
+@var{R} =\n\
 \n\
   -4.47214  -3.13050\n\
    0.00000   0.44721\n\
 \n\
-p =\n\
+@var{P} =\n\
 \n\
    0  1\n\
    1  0\n\
 @end group\n\
 @end example\n\
 \n\
-The permuted @code{qr} factorization @code{[q, r, p] = qr (a)}\n\
-factorization allows the construction of an orthogonal basis of\n\
-@code{span (a)}.\n\
+The permuted @code{qr} factorization @code{[@var{Q}, @var{R}, @var{P}] = qr\n\
+(@var{A})} factorization allows the construction of an orthogonal basis of\n\
+@code{span (A)}.\n\
 \n\
-If the matrix @var{a} is sparse, then compute the sparse QR factorization\n\
-of @var{a}, using @sc{CSparse}.  As the matrix @var{Q} is in general a full\n\
-matrix, this function returns the @var{Q}-less factorization @var{r} of\n\
-@var{a}, such that @code{@var{r} = chol (@var{a}' * @var{a})}.\n\
+If the matrix @var{A} is sparse, then compute the sparse\n\
+QR@tie{}factorization of @var{A}, using @sc{CSparse}.  As the matrix @var{Q}\n\
+is in general a full matrix, this function returns the @var{Q}-less\n\
+factorization @var{R} of @var{A}, such that @code{@var{R} = chol (@var{A}' *\n\
+@var{A})}.\n\
 \n\
 If the final argument is the scalar @code{0} and the number of rows is\n\
 larger than the number of columns, then an economy factorization is\n\
-returned.  That is @var{r} will have only @code{size (@var{a},1)} rows.\n\
+returned.  That is @var{R} will have only @code{size (@var{A},1)} rows.\n\
 \n\
-If an additional matrix @var{b} is supplied, then @code{qr} returns\n\
-@var{c}, where @code{@var{c} = @var{q}' * @var{b}}.  This allows the\n\
-least squares approximation of @code{@var{a} \\ @var{b}} to be calculated\n\
+If an additional matrix @var{B} is supplied, then @code{qr} returns\n\
+@var{C}, where @code{@var{C} = @var{Q}' * @var{B}}.  This allows the\n\
+least squares approximation of @code{@var{A} \\ @var{B}} to be calculated\n\
 as\n\
 \n\
 @example\n\
 @group\n\
-[@var{c},@var{r}] = spqr (@var{a},@var{b})\n\
-@var{x} = @var{r} \\ @var{c}\n\
+[@var{C},@var{R}] = spqr (@var{A},@var{B})\n\
+x = @var{R} \\ @var{C}\n\
 @end group\n\
 @end example\n\
 @end deftypefn")
@@ -776,7 +778,7 @@
 updates; thus, for k large enough, it will be both faster and more accurate\n\
 to recompute the factorization from scratch.\n\
 \n\
-The QR factorization supplied may be either full\n\
+The QR@tie{}factorization supplied may be either full\n\
 (Q is square) or economized (R is square).\n\
 \n\
 @seealso{qr, qrinsert, qrdelete}\n\
@@ -872,10 +874,10 @@
             }
         }
       else
-        error ("qrupdate: dimensions mismatch");
+        error ("qrupdate: Q and R dimensions don't match");
     }
   else
-    error ("qrupdate: expecting numeric arguments");
+    error ("qrupdate: Q, R, U, and V must be numeric");
 
   return retval;
 }
@@ -965,7 +967,7 @@
 recompute the factorization from scratch.\n\
 \n\
 If @var{orient} is @code{\"col\"},\n\
-the QR factorization supplied may be either full\n\
+the QR@tie{}factorization supplied may be either full\n\
 (Q is square) or economized (R is square).\n\
 \n\
 If @var{orient} is @code{\"row\"}, full factorization is needed.\n\
@@ -1088,13 +1090,13 @@
 
               }
             else
-              error ("qrinsert: invalid index");
+              error ("qrinsert: invalid index J");
           }
         else
           error ("qrinsert: dimension mismatch");
 
       else
-        error ("qrinsert: orient must be \"col\" or \"row\"");
+        error ("qrinsert: ORIENT must be \"col\" or \"row\"");
     }
   else
     print_usage ();
@@ -1184,7 +1186,7 @@
 recompute the factorization from scratch.\n\
 \n\
 If @var{orient} is @code{\"col\"},\n\
-the QR factorization supplied may be either full\n\
+the QR@tie{}factorization supplied may be either full\n\
 (Q is square) or economized (R is square).\n\
 \n\
 If @var{orient} is @code{\"row\"}, full factorization is needed.\n\
@@ -1294,13 +1296,13 @@
                   }
               }
             else
-              error ("qrdelete: invalid index");
+              error ("qrdelete: invalid index J");
           }
         else
           error ("qrdelete: dimension mismatch");
 
       else
-        error ("qrdelete: orient must be \"col\" or \"row\"");
+        error ("qrdelete: ORIENT must be \"col\" or \"row\"");
     }
   else
     print_usage ();
@@ -1521,13 +1523,13 @@
                 }
             }
           else
-            error ("qrshift: invalid index");
+            error ("qrshift: invalid index I or J");
         }
       else
         error ("qrshift: dimensions mismatch");
     }
   else
-    error ("qrshift: expecting numeric arguments");
+    error ("qrshift: Q and R must be numeric");
 
   return retval;
 }
--- a/src/DLD-FUNCTIONS/quad.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/quad.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -174,9 +174,12 @@
 
 DEFUN_DLD (quad, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{v}, @var{ier}, @var{nfun}, @var{err}] =} quad (@var{f}, @var{a}, @var{b}, @var{tol}, @var{sing})\n\
+@deftypefn  {Loadable Function} {@var{v} =} quad (@var{f}, @var{a}, @var{b})\n\
+@deftypefnx {Loadable Function} {@var{v} =} quad (@var{f}, @var{a}, @var{b}, @var{tol})\n\
+@deftypefnx {Loadable Function} {@var{v} =} quad (@var{f}, @var{a}, @var{b}, @var{tol}, @var{sing})\n\
+@deftypefnx {Loadable Function} {[@var{v}, @var{ier}, @var{nfun}, @var{err}] =} quad (@dots{})\n\
 Integrate a nonlinear function of one variable using @sc{quadpack}.\n\
-The first argument is the name of the function, the function handle or\n\
+The first argument is the name of the function, the function handle, or\n\
 the inline function to call to compute the value of the integrand.  It\n\
 must have the form\n\
 \n\
@@ -195,22 +198,23 @@
 absolute tolerance, and the second element is the desired relative\n\
 tolerance.  To choose a relative test only, set the absolute\n\
 tolerance to zero.  To choose an absolute test only, set the relative\n\
-tolerance to zero.  \n\
+tolerance to zero.\n\
 \n\
 The optional argument @var{sing} is a vector of values at which the\n\
 integrand is known to be singular.\n\
 \n\
-The result of the integration is returned in @var{v} and @var{ier}\n\
+The result of the integration is returned in @var{v}.  @var{ier}\n\
 contains an integer error code (0 indicates a successful integration).\n\
-The value of @var{nfun} indicates how many function evaluations were\n\
-required, and @var{err} contains an estimate of the error in the\n\
+@var{nfun} indicates the number of function evaluations that were\n\
+made, and @var{err} contains an estimate of the error in the\n\
 solution.\n\
 \n\
-You can use the function @code{quad_options} to set optional\n\
+The function @code{quad_options} can set other optional\n\
 parameters for @code{quad}.\n\
 \n\
-It should be noted that since @code{quad} is written in Fortran it\n\
+Note: because @code{quad} is written in Fortran it\n\
 cannot be called recursively.\n\
+@seealso{quad_options,quadv,quadl,quadgk,trapz}\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/DLD-FUNCTIONS/qz.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/qz.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -289,11 +289,12 @@
 
 DEFUN_DLD (qz, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{lambda} =} qz (@var{a}, @var{b})\n\
-Generalized eigenvalue problem @math{A x = s B x},\n\
-QZ decomposition.  There are three ways to call this function:\n\
+@deftypefn  {Loadable Function} {@var{lambda} =} qz (@var{A}, @var{B})\n\
+@deftypefnx {Loadable Function} {@var{lambda} =} qz (@var{A}, @var{B}, @var{opt})\n\
+QZ decomposition of the generalized eigenvalue problem (@math{A x = s B x}).\n\
+There are three ways to call this function:\n\
 @enumerate\n\
-@item @code{lambda = qz(A,B)}\n\
+@item @code{@var{lambda} = qz (@var{A}, @var{B})}\n\
 \n\
 Computes the generalized eigenvalues\n\
 @tex\n\
@@ -304,10 +305,10 @@
 @end ifnottex\n\
 of @math{(A - s B)}.\n\
 \n\
-@item @code{[AA, BB, Q, Z, V, W, lambda] = qz (A, B)}\n\
+@item @code{[AA, BB, Q, Z, V, W, @var{lambda}] = qz (@var{A}, @var{B})}\n\
 \n\
-Computes qz decomposition, generalized eigenvectors, and \n\
-generalized eigenvalues of @math{(A - sB)}\n\
+Computes QZ decomposition, generalized eigenvectors, and \n\
+generalized eigenvalues of @math{(A - s B)}\n\
 @tex\n\
 $$ AV = BV{ \\rm diag }(\\lambda) $$\n\
 $$ W^T A = { \\rm diag }(\\lambda)W^T B $$\n\
@@ -318,8 +319,8 @@
 @example\n\
 @group\n\
 \n\
-    A * V = B * V * diag (lambda)\n\
-    W' * A = diag (lambda) * W' * B\n\
+    A * V = B * V * diag (@var{lambda})\n\
+    W' * A = diag (@var{lambda}) * W' * B\n\
     AA = Q * A * Z, BB = Q * B * Z\n\
 \n\
 @end group\n\
@@ -328,7 +329,7 @@
 @end ifnottex\n\
 with @var{Q} and @var{Z} orthogonal (unitary)= @var{I}\n\
 \n\
-@item @code{[AA,BB,Z@{, lambda@}] = qz(A,B,opt)}\n\
+@item @code{[AA,BB,Z@{, @var{lambda}@}] = qz (@var{A}, @var{B}, @var{opt})}\n\
 \n\
 As in form [2], but allows ordering of generalized eigenpairs\n\
 for (e.g.) solution of discrete time algebraic Riccati equations.\n\
@@ -340,7 +341,7 @@
 @item opt\n\
 for ordering eigenvalues of the GEP pencil.  The leading block\n\
 of the revised pencil contains all eigenvalues that satisfy:\n\
-@table @code\n\
+@table @asis\n\
 @item \"N\"\n\
 = unordered (default) \n\
 \n\
@@ -361,9 +362,9 @@
 @end table\n\
 @end enumerate\n\
 \n\
-Note: qz performs permutation balancing, but not scaling (see balance).\n\
-The order of output arguments was selected for compatibility with @sc{matlab}\n\
-\n\
+Note: @code{qz} performs permutation balancing, but not scaling\n\
+(@pxref{doc-balance}).  The order of output arguments was selected for\n\
+compatibility with @sc{matlab}.\n\
 @seealso{balance, eig, schur}\n\
 @end deftypefn")
 {
@@ -397,7 +398,7 @@
     ord_job = 'N';
   else if (!args(2).is_string ())
     {
-      error ("qz: argument 3 must be a string");
+      error ("qz: OPT must be a string");
       return retval;
     }
   else
@@ -518,7 +519,7 @@
 
   if (nargin == 3 && complex_case)
     {
-      error ("qz: cannot re-order complex qz decomposition.");
+      error ("qz: cannot re-order complex qz decomposition");
       return retval;
     }
 
@@ -795,7 +796,7 @@
       if (complex_case)
         {
           // Probably not needed, but better be safe.
-          error ("qz: cannot re-order complex qz decomposition.");
+          error ("qz: cannot re-order complex qz decomposition");
           return retval;
         }
       else
@@ -1225,7 +1226,7 @@
       break;
 
     default:
-      error ("qz: too many return arguments.");
+      error ("qz: too many return arguments");
       break;
   }
 
--- a/src/DLD-FUNCTIONS/rand.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/rand.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -152,7 +152,7 @@
 
             if (xisnan (dval))
               {
-                error ("%s: NaN is invalid a matrix dimension", fcn);
+                error ("%s: NaN is invalid matrix dimension", fcn);
               }
             else
               {
@@ -180,7 +180,7 @@
                 octave_idx_type lim = NINTbig (r.limit ());
 
                 if (base < 0 || lim < 0)
-                  error ("%s: all dimensions must be nonnegative", fcn);
+                  error ("%s: all dimensions must be positive", fcn);
                 else
                   {
                     for (octave_idx_type i = 0; i < n; i++)
@@ -193,7 +193,7 @@
                   }
               }
             else
-              error ("%s: expecting all elements of range to be integers",
+              error ("%s: all elements of range must be integers",
                      fcn);
           }
         else if (tmp.is_matrix_type ())
@@ -212,7 +212,7 @@
 
                     if (elt < 0)
                       {
-                        error ("%s: all dimensions must be nonnegative", fcn);
+                        error ("%s: all dimensions must be positive", fcn);
                         goto done;
                       }
 
@@ -328,9 +328,11 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Loadable Function} {} rand (@var{x})\n\
 @deftypefnx {Loadable Function} {} rand (@var{n}, @var{m})\n\
-@deftypefnx {Loadable Function} {} rand (\"state\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} rand (\"state\")\n\
+@deftypefnx {Loadable Function} {} rand (\"state\", @var{v})\n\
 @deftypefnx {Loadable Function} {} rand (\"state\", \"reset\")\n\
-@deftypefnx {Loadable Function} {} rand (\"seed\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} rand (\"seed\")\n\
+@deftypefnx {Loadable Function} {} rand (\"seed\", @var{v})\n\
 @deftypefnx {Loadable Function} {} rand (\"seed\", \"reset\")\n\
 Return a matrix with random elements uniformly distributed on the\n\
 interval (0, 1).  The arguments are handled the same as the arguments\n\
@@ -490,9 +492,11 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Loadable Function} {} randn (@var{x})\n\
 @deftypefnx {Loadable Function} {} randn (@var{n}, @var{m})\n\
-@deftypefnx {Loadable Function} {} randn (\"state\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} randn (\"state\")\n\
+@deftypefnx {Loadable Function} {} randn (\"state\", @var{v})\n\
 @deftypefnx {Loadable Function} {} randn (\"state\", \"reset\")\n\
-@deftypefnx {Loadable Function} {} randn (\"seed\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} randn (\"seed\")\n\
+@deftypefnx {Loadable Function} {} randn (\"seed\", @var{v})\n\
 @deftypefnx {Loadable Function} {} randn (\"seed\", \"reset\")\n\
 Return a matrix with normally distributed random\n\
 elements having zero mean and variance one.  The arguments are\n\
@@ -553,15 +557,17 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Loadable Function} {} rande (@var{x})\n\
 @deftypefnx {Loadable Function} {} rande (@var{n}, @var{m})\n\
-@deftypefnx {Loadable Function} {} rande (\"state\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} rande (\"state\")\n\
+@deftypefnx {Loadable Function} {} rande (\"state\", @var{v})\n\
 @deftypefnx {Loadable Function} {} rande (\"state\", \"reset\")\n\
-@deftypefnx {Loadable Function} {} rande (\"seed\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} rande (\"seed\")\n\
+@deftypefnx {Loadable Function} {} rande (\"seed\", @var{v})\n\
 @deftypefnx {Loadable Function} {} rande (\"seed\", \"reset\")\n\
 Return a matrix with exponentially distributed random elements.  The\n\
 arguments are handled the same as the arguments for @code{rand}.\n\
 \n\
 By default, @code{randn} uses the Marsaglia and Tsang ``Ziggurat technique''\n\
-to transform from a uniform to a exponential distribution.\n\
+to transform from a uniform to an exponential distribution.\n\
 \n\
 Reference: G. Marsaglia and W.W. Tsang,\n\
 @cite{Ziggurat Method for Generating Random Variables},\n\
@@ -617,9 +623,11 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Loadable Function} {} randg (@var{a}, @var{x})\n\
 @deftypefnx {Loadable Function} {} randg (@var{a}, @var{n}, @var{m})\n\
-@deftypefnx {Loadable Function} {} randg (\"state\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} randg (\"state\")\n\
+@deftypefnx {Loadable Function} {} randg (\"state\", @var{v})\n\
 @deftypefnx {Loadable Function} {} randg (\"state\", \"reset\")\n\
-@deftypefnx {Loadable Function} {} randg (\"seed\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} randg (\"seed\")\n\
+@deftypefnx {Loadable Function} {} randg (\"seed\", @var{v})\n\
 @deftypefnx {Loadable Function} {} randg (\"seed\", \"reset\")\n\
 Return a matrix with @code{gamma(@var{a},1)} distributed random elements.\n\
 The arguments are handled the same as the arguments for @code{rand},\n\
@@ -871,9 +879,11 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Loadable Function} {} randp (@var{l}, @var{x})\n\
 @deftypefnx {Loadable Function} {} randp (@var{l}, @var{n}, @var{m})\n\
-@deftypefnx {Loadable Function} {} randp (\"state\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} randp (\"state\")\n\
+@deftypefnx {Loadable Function} {} randp (\"state\", @var{v})\n\
 @deftypefnx {Loadable Function} {} randp (\"state\", \"reset\")\n\
-@deftypefnx {Loadable Function} {} randp (\"seed\", @var{x})\n\
+@deftypefnx {Loadable Function} {@var{v} =} randp (\"seed\")\n\
+@deftypefnx {Loadable Function} {} randp (\"seed\", @var{v})\n\
 @deftypefnx {Loadable Function} {} randp (\"seed\", \"reset\")\n\
 Return a matrix with Poisson distributed random elements with mean value\n\
 parameter given by the first argument, @var{l}.  The arguments\n\
@@ -1012,7 +1022,7 @@
 @deftypefnx {Loadable Function} {} randperm (@var{n}, @var{m})\n\
 Return a row vector containing a random permutation of @code{1:@var{n}}.\n\
 If @var{m} is supplied, return @var{m} permutations,\n\
-one in each row of a @nospell{NxM} matrix.  The complexity is O(M*N) in both\n\
+one in each row of an @nospell{NxM} matrix.  The complexity is O(M*N) in both\n\
 time and memory.  The randomization is performed using rand().\n\
 All permutations are equally likely.\n\
 @seealso{perms}\n\
@@ -1033,7 +1043,7 @@
       n = args(0).idx_type_value (true);
 
       if (m < 0 || n < 0)
-        error ("randperm: m and n must be non-negative");
+        error ("randperm: M and N must be non-negative");
 
       if (! error_state)
         {
--- a/src/DLD-FUNCTIONS/rcond.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/rcond.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -32,15 +32,15 @@
 
 DEFUN_DLD (rcond, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{c} =} rcond (@var{a})\n\
-Compute the 1-norm estimate of the reciprocal condition as returned\n\
+@deftypefn {Loadable Function} {@var{c} =} rcond (@var{A})\n\
+Compute the 1-norm estimate of the reciprocal condition number as returned\n\
 by @sc{lapack}.  If the matrix is well-conditioned then @var{c} will be near\n\
 1 and if the matrix is poorly conditioned it will be close to zero.\n\
 \n\
-The matrix @var{a} must not be sparse.  If the matrix is sparse then\n\
-@code{condest (@var{a})} or @code{rcond (full (@var{a}))} should be used\n\
+The matrix @var{A} must not be sparse.  If the matrix is sparse then\n\
+@code{condest (@var{A})} or @code{rcond (full (@var{A}))} should be used\n\
 instead.\n\
-@seealso{inv}\n\
+@seealso{cond,condest}\n\
 @end deftypefn")
 {
   octave_value retval;
--- a/src/DLD-FUNCTIONS/regexp.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/regexp.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -226,7 +226,7 @@
 
               if (tmp_pos == std::string::npos)
                 {
-                  error ("syntax error in pattern");
+                  error ("regexp: syntax error in pattern");
                   break;
                 }
 
--- a/src/DLD-FUNCTIONS/schur.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/schur.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -59,11 +59,11 @@
 
 DEFUN_DLD (schur, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{s} =} schur (@var{a})\n\
-@deftypefnx {Loadable Function} {@var{s} =} schur (@var{a}, \"complex\")\n\
-@deftypefnx {Loadable Function} {[@var{u}, @var{s}] =} schur (@var{a}, @var{opt})\n\
+@deftypefn  {Loadable Function} {@var{S} =} schur (@var{A})\n\
+@deftypefnx {Loadable Function} {@var{S} =} schur (@var{A}, \"complex\")\n\
+@deftypefnx {Loadable Function} {[@var{U}, @var{S}] =} schur (@var{A}, @var{opt})\n\
 @cindex Schur decomposition\n\
-The Schur decomposition is used to compute eigenvalues of a\n\
+The Schur@tie{}decomposition is used to compute eigenvalues of a\n\
 square matrix, and has applications in the solution of algebraic\n\
 Riccati equations in control (see @code{are} and @code{dare}).\n\
 @code{schur} always returns\n\
@@ -71,64 +71,64 @@
 $S = U^T A U$\n\
 @end tex\n\
 @ifnottex\n\
-@code{s = u' * a * u}\n\
+@code{@var{S} = @var{U}' * @var{A} * @var{U}}\n\
 @end ifnottex\n\
 where\n\
 @tex\n\
 $U$\n\
 @end tex\n\
 @ifnottex\n\
-@code{u}\n\
+@var{U}\n\
 @end ifnottex\n\
  is a unitary matrix\n\
 @tex\n\
 ($U^T U$ is identity)\n\
 @end tex\n\
 @ifnottex\n\
-(@code{u'* u} is identity)\n\
+(@code{@var{U}'* @var{U}} is identity)\n\
 @end ifnottex\n\
 and\n\
 @tex\n\
 $S$\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}\n\
+@var{S}\n\
 @end ifnottex\n\
 is upper triangular.  The eigenvalues of\n\
 @tex\n\
 $A$ (and $S$)\n\
 @end tex\n\
 @ifnottex\n\
-@code{a} (and @code{s})\n\
+@var{A} (and @var{S})\n\
 @end ifnottex\n\
 are the diagonal elements of\n\
 @tex\n\
 $S$.\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}.\n\
+@var{S}.\n\
 @end ifnottex\n\
 If the matrix\n\
 @tex\n\
 $A$\n\
 @end tex\n\
 @ifnottex\n\
-@code{a}\n\
+@var{A}\n\
 @end ifnottex\n\
-is real, then the real Schur decomposition is computed, in which the\n\
+is real, then the real Schur@tie{}decomposition is computed, in which the\n\
 matrix\n\
 @tex\n\
 $U$\n\
 @end tex\n\
 @ifnottex\n\
-@code{u}\n\
+@var{U}\n\
 @end ifnottex\n\
 is orthogonal and\n\
 @tex\n\
 $S$\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}\n\
+@var{S}\n\
 @end ifnottex\n\
 is block upper triangular\n\
 with blocks of size at most\n\
@@ -143,7 +143,7 @@
 $S$\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}\n\
+@var{S}\n\
 @end ifnottex\n\
 (or the eigenvalues of the\n\
 @tex\n\
@@ -158,71 +158,71 @@
 $A$\n\
 @end tex\n\
 @ifnottex\n\
-@code{a}\n\
+@var{A}\n\
 @end ifnottex\n\
 and\n\
 @tex\n\
 $S$.\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}.\n\
+@var{S}.\n\
 @end ifnottex\n\
 \n\
 A complex decomposition may be forced by passing \"complex\" as @var{opt}.\n\
 \n\
 The eigenvalues are optionally ordered along the diagonal according to\n\
-the value of @code{opt}.  @code{opt = \"a\"} indicates that all\n\
+the value of @var{opt}.  @code{@var{opt} = \"a\"} indicates that all\n\
 eigenvalues with negative real parts should be moved to the leading\n\
 block of\n\
 @tex\n\
 $S$\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}\n\
+@var{S}\n\
 @end ifnottex\n\
-(used in @code{are}), @code{opt = \"d\"} indicates that all eigenvalues\n\
+(used in @code{are}), @code{@var{opt} = \"d\"} indicates that all eigenvalues\n\
 with magnitude less than one should be moved to the leading block of\n\
 @tex\n\
 $S$\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}\n\
+@var{S}\n\
 @end ifnottex\n\
-(used in @code{dare}), and @code{opt = \"u\"}, the default, indicates that\n\
-no ordering of eigenvalues should occur.  The leading\n\
+(used in @code{dare}), and @code{@var{opt} = \"u\"}, the default, indicates\n\
+that no ordering of eigenvalues should occur.  The leading\n\
 @tex\n\
 $k$\n\
 @end tex\n\
 @ifnottex\n\
-@code{k}\n\
+@var{k}\n\
 @end ifnottex\n\
 columns of\n\
 @tex\n\
 $U$\n\
 @end tex\n\
 @ifnottex\n\
-@code{u}\n\
+@var{U}\n\
 @end ifnottex\n\
 always span the\n\
 @tex\n\
 $A$-invariant\n\
 @end tex\n\
 @ifnottex\n\
-@code{a}-invariant\n\
+@var{A}-invariant\n\
 @end ifnottex\n\
 subspace corresponding to the\n\
 @tex\n\
 $k$\n\
 @end tex\n\
 @ifnottex\n\
-@code{k}\n\
+@var{k}\n\
 @end ifnottex\n\
 leading eigenvalues of\n\
 @tex\n\
 $S$.\n\
 @end tex\n\
 @ifnottex\n\
-@code{s}.\n\
+@var{S}.\n\
 @end ifnottex\n\
 @end deftypefn")
 {
@@ -246,7 +246,7 @@
 
       if (error_state)
         {
-          error ("schur: expecting string as second argument");
+          error ("schur: second argument must be a string");
           return retval;
         }
     }
@@ -393,16 +393,16 @@
 DEFUN_DLD (rsf2csf, args, nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Function File} {[@var{U}, @var{T}] =} rsf2csf (@var{UR}, @var{TR})\n\
-Convert a real, upper quasi-triangular Schur form @var{TR} to a complex,\n\
-upper triangular Schur form @var{T}.\n\
+Convert a real, upper quasi-triangular Schur@tie{}form @var{TR} to a complex,\n\
+upper triangular Schur@tie{}form @var{T}.\n\
 \n\
 Note that the following relations hold: \n\
 \n\
 @code{@var{UR} * @var{TR} * @var{UR}' = @var{U} * @var{T} * @var{U}'} and\n\
-@code{@var{U}' * @var{U}} is the identity matrix.\n\
+@code{@var{U}' * @var{U}} is the identity matrix I.\n\
 \n\
-Note also that U and T are not unique.\n\
-\n\
+Note also that @var{U} and @var{T} are not unique.\n\
+@seealso{schur}\n\
 @end deftypefn")
 {
   octave_value_list retval;
@@ -414,7 +414,7 @@
       else if (! args(1).is_numeric_type ())
         gripe_wrong_type_arg ("rsf2csf", args(1));
       else if (args(0).is_complex_type () || args(1).is_complex_type ())
-        error ("rsf2csf: both matrices must be real");
+        error ("rsf2csf: UR and TR must be real matrices");
       else
         {
 
--- a/src/DLD-FUNCTIONS/spparms.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/spparms.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -43,13 +43,13 @@
 @deftypefnx {Loadable Function} { } spparms ('defaults')\n\
 @deftypefnx {Loadable Function} { } spparms ('tight')\n\
 @deftypefnx {Loadable Function} { } spparms (@var{key}, @var{val})\n\
-Sets or displays the parameters used by the sparse solvers and factorization\n\
+Query or set the parameters used by the sparse solvers and factorization\n\
 functions.  The first four calls above get information about the current\n\
 settings, while the others change the current settings.  The parameters are\n\
 stored as pairs of keys and values, where the values are all floats and the\n\
 keys are one of the following strings:\n\
 \n\
-@table @code\n\
+@table @samp\n\
 @item spumoni\n\
 Printing level of debugging information of the solvers (default 0)\n\
 \n\
@@ -94,10 +94,11 @@
 '/' operations (default 1)\n\
 @end table\n\
 \n\
-The value of individual keys can be set with @code{spparms (@var{key},\n\
-@var{val})}.  The default values can be restored with the special keyword\n\
+The value of individual keys can be set with\n\
+@code{spparms (@var{key}, @var{val})}.\n\
+The default values can be restored with the special keyword\n\
 'defaults'.  The special keyword 'tight' can be used to set the mmd solvers\n\
-to attempt for a sparser solution at the potential cost of longer running\n\
+to attempt a sparser solution at the potential cost of longer running\n\
 time.\n\
 @end deftypefn")
 {
@@ -135,7 +136,7 @@
             {
               double val = octave_sparse_params::get_key (str);
               if (xisnan (val))
-                error ("spparams: unrecognized key");
+                error ("spparams: KEY not recognized");
               else
                 retval (0) = val;
             }
@@ -147,7 +148,7 @@
           if (error_state)
             error ("spparms: input must be a string or a vector");
           else if (vals.numel () > OCTAVE_SPARSE_CONTROLS_SIZE)
-            error ("spparams: too many elements in values vector");
+            error ("spparams: too many elements in vector VALS");
           else
             octave_sparse_params::set_vals (vals);
         }
@@ -165,7 +166,7 @@
           else if (str == "umfpack")
             warning ("spparms: request to disable umfpack solvers ignored");
           else if (!octave_sparse_params::set_key (str, val))
-            error ("spparms: key not found");
+            error ("spparms: KEY not found");
         }
       else
         error ("spparms: first argument must be a string");
--- a/src/DLD-FUNCTIONS/sqrtm.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/sqrtm.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -214,8 +214,8 @@
 
 DEFUN_DLD (sqrtm, args, nargout,
  "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{result}, @var{error_estimate}] =} sqrtm (@var{a})\n\
-Compute the matrix square root of the square matrix @var{a}.\n\
+@deftypefn {Loadable Function} {[@var{result}, @var{error_estimate}] =} sqrtm (@var{A})\n\
+Compute the matrix square root of the square matrix @var{A}.\n\
 \n\
 Ref: N.J. Higham.  @cite{A New sqrtm for @sc{matlab}}.  Numerical\n\
 Analysis Report No. 336, Manchester @nospell{Centre} for Computational\n\
--- a/src/DLD-FUNCTIONS/str2double.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/str2double.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -244,7 +244,7 @@
 case each element is converted and an array of the same dimensions is\n\
 returned.\n\
 \n\
-@code{str2double} can replace @code{str2num}, but avoids the use of\n\
+@code{str2double} can replace @code{str2num}, and it avoids the use of\n\
 @code{eval} on unknown data.\n\
 @seealso{str2num}\n\
 @end deftypefn")
--- a/src/DLD-FUNCTIONS/strfind.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/strfind.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -154,8 +154,8 @@
 If there is no such occurrence, or if @var{pattern} is longer\n\
 than @var{str}, then @var{idx} is the empty array @code{[]}.\n\
 \n\
-If the cell array of strings @var{cellstr} is specified instead of the\n\
-string @var{str}, then @var{idx} is a cell array of vectors, as specified\n\
+If a cell array of strings @var{cellstr} is specified\n\
+then @var{idx} is a cell array of vectors, as specified\n\
 above.  Examples:\n\
 \n\
 @example\n\
@@ -175,7 +175,7 @@
         @}\n\
 @end group\n\
 @end example\n\
-@seealso{findstr, strmatch, strcmp, strncmp, strcmpi, strncmpi, find}\n\
+@seealso{findstr,strmatch,regexp,regexpi,find}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -225,7 +225,7 @@
                                             true, true);
                   else
                     {
-                      error ("strfind: each cell element must be a string");
+                      error ("strfind: each element of CELLSTR must be a string");
                       break;
                     }
                 }
@@ -238,7 +238,7 @@
       else if (argpat.is_cell ())
         retval = do_simple_cellfun (Fstrfind, "strfind", args);
       else
-        error ("strfind: pattern must be a string or cell array of strings");
+        error ("strfind: PATTERN must be a string or cell array of strings");
     }
   else
     print_usage ();
@@ -323,10 +323,10 @@
 
 DEFUN_DLD (strrep, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {} strrep (@var{s}, @var{x}, @var{y})\n\
-@deftypefnx {Loadable Function} {} strrep (@var{s}, @var{x}, @var{y}, \"overlaps\", @var{o})\n\
-Replace all occurrences of the substring @var{x} of the string @var{s}\n\
-with the string @var{y} and return the result.  For example:\n\
+@deftypefn  {Loadable Function} {} strrep (@var{s}, @var{ptn}, @var{rep})\n\
+@deftypefnx {Loadable Function} {} strrep (@var{s}, @var{ptn}, @var{rep}, \"overlaps\", @var{o})\n\
+Replace all occurrences of the substring @var{ptn} in the string @var{s}\n\
+with the string @var{rep} and return the result.  For example:\n\
 \n\
 @example\n\
 @group\n\
@@ -385,7 +385,7 @@
                     retc(i) = qs_replace (argse.char_array_value (), pat, rep, table, overlaps);
                   else
                     {
-                      error ("strrep: each cell element must be a string");
+                      error ("strrep: each element of S must be a string");
                       break;
                     }
                 }
@@ -398,7 +398,7 @@
       else if (argpat.is_cell () || argrep.is_cell ())
         retval = do_simple_cellfun (Fstrrep, "strrep", args);
       else
-        error ("strrep: x and y arguments must be strings or cell arrays of strings");
+        error ("strrep: X and Y arguments must be strings or cell arrays of strings");
     }
   else
     print_usage ();
--- a/src/DLD-FUNCTIONS/sub2ind.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/sub2ind.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -65,7 +65,7 @@
   "-*- texinfo -*-\n\
 @deftypefn  {Function File} {@var{ind} =} sub2ind (@var{dims}, @var{i}, @var{j})\n\
 @deftypefnx {Function File} {@var{ind} =} sub2ind (@var{dims}, @var{s1}, @var{s2}, @dots{}, @var{sN})\n\
-Convert subscripts into a linear index.\n\
+Convert subscripts to a linear index.\n\
 \n\
 The following example shows how to convert the two-dimensional\n\
 index @code{(2,3)} of a 3-by-3 matrix to a linear index.  The matrix\n\
@@ -173,7 +173,7 @@
 DEFUN_DLD (ind2sub, args, nargout,
   "-*- texinfo -*-\n\
 @deftypefn {Function File} {[@var{s1}, @var{s2}, @dots{}, @var{sN}] =} ind2sub (@var{dims}, @var{ind})\n\
-Convert a linear index into subscripts.\n\
+Convert a linear index to subscripts.\n\
 \n\
 The following example shows how to convert the linear index @code{8}\n\
 in a 3-by-3 matrix into a subscript.  The matrix is linearly indexed\n\
@@ -183,7 +183,7 @@
 @group\n\
 [r, c] = ind2sub ([3, 3], 8)\n\
 @result{} r =  2\n\
-c =  3\n\
+   c =  3\n\
 @end group\n\
 @end example\n\
 @seealso{sub2ind}\n\
--- a/src/DLD-FUNCTIONS/svd.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/svd.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -41,11 +41,11 @@
 
 DEFUN_DLD (svd, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn  {Loadable Function} {@var{s} =} svd (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{u}, @var{s}, @var{v}] =} svd (@var{a})\n\
-@deftypefnx {Loadable Function} {[@var{u}, @var{s}, @var{v}] =} svd (@var{a}, @var{econ})\n\
+@deftypefn  {Loadable Function} {@var{s} =} svd (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{U}, @var{S}, @var{V}] =} svd (@var{A})\n\
+@deftypefnx {Loadable Function} {[@var{U}, @var{S}, @var{V}] =} svd (@var{A}, @var{econ})\n\
 @cindex singular value decomposition\n\
-Compute the singular value decomposition of @var{a}\n\
+Compute the singular value decomposition of @var{A}\n\
 @tex\n\
 $$\n\
  A = U S V^H\n\
@@ -65,7 +65,7 @@
 $U$, $S$, and $V$.\n\
 @end tex\n\
 @ifnottex\n\
-U, S, and V.\n\
+@var{U}, @var{S}, and @var{V}.\n\
 @end ifnottex\n\
 For example,\n\
 \n\
@@ -119,8 +119,8 @@
 @end example\n\
 \n\
 If given a second argument, @code{svd} returns an economy-sized\n\
-decomposition, eliminating the unnecessary rows or columns of @var{u} or\n\
-@var{v}.\n\
+decomposition, eliminating the unnecessary rows or columns of @var{U} or\n\
+@var{V}.\n\
 @seealso{svd_driver, svds, eig}\n\
 @end deftypefn")
 {
@@ -141,7 +141,7 @@
 
   if (arg.ndims () != 2)
     {
-      error ("svd: only valid for matrices");
+      error ("svd: A must be a 2-D matrix");
       return retval;
     }
 
--- a/src/DLD-FUNCTIONS/syl.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/syl.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -34,7 +34,7 @@
 
 DEFUN_DLD (syl, args, nargout,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {@var{x} =} syl (@var{a}, @var{b}, @var{c})\n\
+@deftypefn {Loadable Function} {@var{x} =} syl (@var{A}, @var{B}, @var{C})\n\
 Solve the Sylvester equation\n\
 @tex\n\
 $$\n\
--- a/src/DLD-FUNCTIONS/symbfact.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/symbfact.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -41,35 +41,37 @@
 
 DEFUN_DLD (symbfact, args, nargout,
     "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {[@var{count}, @var{h}, @var{parent}, @var{post}, @var{r}] =} symbfact (@var{s}, @var{typ}, @var{mode})\n\
+@deftypefn  {Loadable Function} {[@var{count}, @var{h}, @var{parent}, @var{post}, @var{r}] =} symbfact (@var{S})\n\
+@deftypefnx {Loadable Function} {[@dots{}] =} symbfact (@var{S}, @var{typ})\n\
+@deftypefnx {Loadable Function} {[@dots{}] =} symbfact (@var{S}, @var{typ}, @var{mode})\n\
 \n\
-Performs a symbolic factorization analysis on the sparse matrix @var{s}.\n\
+Perform a symbolic factorization analysis on the sparse matrix @var{S}.\n\
 Where\n\
 \n\
-@table @asis\n\
-@item @var{s}\n\
-@var{s} is a complex or real sparse matrix.\n\
+@table @var\n\
+@item S\n\
+@var{S} is a complex or real sparse matrix.\n\
 \n\
-@item @var{typ}\n\
+@item typ\n\
 Is the type of the factorization and can be one of\n\
 \n\
-@table @code\n\
+@table @samp\n\
 @item sym\n\
-Factorize @var{s}.  This is the default.\n\
+Factorize @var{S}.  This is the default.\n\
 \n\
 @item col\n\
-Factorize @code{@var{s}' * @var{s}}.\n\
+Factorize @code{@var{S}' * @var{S}}.\n\
 \n\
 @item row\n\
-Factorize @code{@var{s} * @var{s}'}.\n\
+Factorize @code{@var{S} * @var{S}'}.\n\
 \n\
 @item lo\n\
-Factorize @code{@var{s}'}\n\
+Factorize @code{@var{S}'}\n\
 @end table\n\
 \n\
-@item @var{mode}\n\
-The default is to return the Cholesky factorization for @var{r}, and if\n\
-@var{mode} is 'L', the conjugate transpose of the Cholesky factorization\n\
+@item mode\n\
+The default is to return the Cholesky@tie{}factorization for @var{r}, and if\n\
+@var{mode} is 'L', the conjugate transpose of the Cholesky@tie{}factorization\n\
 is returned.  The conjugate transpose version is faster and uses less\n\
 memory, but returns the same values for @var{count}, @var{h}, @var{parent}\n\
 and @var{post} outputs.\n\
@@ -77,17 +79,17 @@
 \n\
 The output variables are\n\
 \n\
-@table @asis\n\
-@item @var{count}\n\
-The row counts of the Cholesky factorization as determined by @var{typ}.\n\
+@table @var\n\
+@item count\n\
+The row counts of the Cholesky@tie{}factorization as determined by @var{typ}.\n\
 \n\
-@item @var{h}\n\
+@item h\n\
 The height of the elimination tree.\n\
 \n\
-@item @var{parent}\n\
+@item parent\n\
 The elimination tree itself.\n\
 \n\
-@item @var{post}\n\
+@item post\n\
 A sparse boolean matrix whose structure is that of the Cholesky\n\
 factorization as determined by @var{typ}.\n\
 @end table\n\
@@ -189,11 +191,11 @@
       else if (ch == 's')
         A->stype = -1;
       else
-        error ("Unrecognized typ in symbolic factorization");
+        error ("symbfact: unrecognized TYP in symbolic factorization");
     }
 
   if (A->stype && A->nrow != A->ncol)
-    error ("Matrix must be square");
+    error ("symbfact: S must be a square matrix");
 
   if (!error_state)
     {
--- a/src/DLD-FUNCTIONS/symrcm.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/symrcm.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -418,11 +418,11 @@
 DEFUN_DLD (symrcm, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{p} =} symrcm (@var{S})\n\
-Symmetric reverse Cuthill-McKee permutation of @var{S}.\n\
-Return a permutation vector @var{p} such that\n\
-@code{@var{S} (@var{p}, @var{p})} tends to have its diagonal elements\n\
+Return the symmetric reverse Cuthill-McKee permutation of @var{S}.\n\
+@var{p} is a permutation vector such that\n\
+@code{@var{S}(@var{p}, @var{p})} tends to have its diagonal elements\n\
 closer to the diagonal than @var{S}.  This is a good preordering for LU\n\
-or Cholesky factorization of matrices that come from 'long, skinny'\n\
+or Cholesky@tie{}factorization of matrices that come from 'long, skinny'\n\
 problems.  It works for both symmetric and asymmetric @var{S}.\n\
 \n\
 The algorithm represents a heuristic approach to the NP-complete\n\
--- a/src/DLD-FUNCTIONS/time.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/time.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -103,7 +103,7 @@
 
 DEFUN_DLD (time, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} time ()\n\
+@deftypefn {Loadable Function} {@var{seconds} =} time ()\n\
 Return the current time as the number of seconds since the epoch.  The\n\
 epoch is referenced to 00:00:00 CUT (Coordinated Universal Time) 1 Jan\n\
 1970.  For example, on Monday February 17, 1997 at 07:15:06 CUT, the\n\
@@ -129,25 +129,26 @@
 
 DEFUN_DLD (gmtime, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} gmtime (@var{t})\n\
-Given a value returned from time (or any non-negative integer),\n\
-return a time structure corresponding to CUT@.  For example:\n\
+@deftypefn {Loadable Function} {@var{tm_struct} =} gmtime (@var{t})\n\
+Given a value returned from @code{time}, or any non-negative integer,\n\
+return a time structure corresponding to CUT (Coordinated Universal Time).  \n\
+For example:\n\
 \n\
 @example\n\
 @group\n\
 gmtime (time ())\n\
      @result{} @{\n\
            usec = 0\n\
-           year = 97\n\
+           sec = 6\n\
+           min = 15\n\
+           hour = 7\n\
+           mday = 17\n\
            mon = 1\n\
-           mday = 17\n\
-           sec = 6\n\
+           year = 97\n\
+           wday = 1\n\
+           yday = 47\n\
+           isdst = 0\n\
            zone = CST\n\
-           min = 15\n\
-           wday = 1\n\
-           hour = 7\n\
-           isdst = 0\n\
-           yday = 47\n\
          @}\n\
 @end group\n\
 @end example\n\
@@ -193,8 +194,8 @@
 
 DEFUN_DLD (localtime, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} localtime (@var{t})\n\
-Given a value returned from time (or any non-negative integer),\n\
+@deftypefn {Loadable Function} {@var{tm_struct} =} localtime (@var{t})\n\
+Given a value returned from @code{time}, or any non-negative integer,\n\
 return a time structure corresponding to the local time zone.\n\
 \n\
 @example\n\
@@ -202,16 +203,16 @@
 localtime (time ())\n\
      @result{} @{\n\
            usec = 0\n\
-           year = 97\n\
+           sec = 6\n\
+           min = 15\n\
+           hour = 1\n\
+           mday = 17\n\
            mon = 1\n\
-           mday = 17\n\
-           sec = 6\n\
+           year = 97\n\
+           wday = 1\n\
+           yday = 47\n\
+           isdst = 0\n\
            zone = CST\n\
-           min = 15\n\
-           wday = 1\n\
-           hour = 1\n\
-           isdst = 0\n\
-           yday = 47\n\
          @}\n\
 @end group\n\
 @end example\n\
@@ -257,7 +258,7 @@
 
 DEFUN_DLD (mktime, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Loadable Function} {} mktime (@var{tm_struct})\n\
+@deftypefn {Loadable Function} {@var{seconds} =} mktime (@var{tm_struct})\n\
 Convert a time structure corresponding to the local time to the number\n\
 of seconds since the epoch.  For example:\n\
 \n\
@@ -283,10 +284,10 @@
           if (! error_state)
             retval = octave_time (tm);
           else
-            error ("mktime: invalid TMSTRUCT argument");
+            error ("mktime: invalid TM_STRUCT argument");
         }
       else
-        error ("mktime: expecting structure argument");
+        error ("mktime: TM_STRUCT argument must be a structure");
     }
   else
     print_usage ();
@@ -482,13 +483,13 @@
               if (! error_state)
                 retval = tm.strftime (fmt);
               else
-                error ("strftime: invalid TMSTRUCT argument");
+                error ("strftime: invalid TM_STRUCT argument");
             }
           else
-            error ("strftime: expecting structure as second argument");
+            error ("strftime: TM_STRUCT must be a structure");
         }
       else
-        error ("strftime: expecting format string as first argument");
+        error ("strftime: FMT must be a string");
     }
   else
     print_usage ();
@@ -516,7 +517,7 @@
 Convert the string @var{str} to the time structure @var{tm_struct} under\n\
 the control of the format string @var{fmt}.\n\
 \n\
-If @var{fmt} fails to match, @var{nchars} is 0; otherwise it is set to the\n\
+If @var{fmt} fails to match, @var{nchars} is 0; otherwise, it is set to the\n\
 position of last matched character plus 1. Always check for this unless\n\
 you're absolutely sure the date string will be parsed correctly.\n\
 @seealso{strftime, localtime, gmtime, mktime, time, now, date, clock, datenum, datestr, datevec, calendar, weekday}\n\
@@ -540,10 +541,10 @@
               retval(0) = octave_value (mk_tm_map (t));
             }
           else
-            error ("strptime: expecting format string as second argument");
+            error ("strptime: FMT must be a string");
         }
       else
-        error ("strptime: expecting string as first argument");
+        error ("strptime: argument STR must be a string");
     }
   else
     print_usage ();
--- a/src/DLD-FUNCTIONS/tril.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/tril.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -214,7 +214,7 @@
 
       dim_vector dims = arg.dims ();
       if (dims.length () != 2)
-        error ("%s: needs a 2D matrix", name.c_str ());
+        error ("%s: need a 2-D matrix", name.c_str ());
       else if (k < -dims (0) || k > dims(1))
         error ("%s: requested diagonal out of range", name.c_str ());
       else
@@ -341,28 +341,27 @@
 
 DEFUN_DLD (tril, args, ,
   "-*- texinfo -*-\n\
-@deftypefn  {Function File} {} tril (@var{a})\n\
-@deftypefnx {Function File} {} tril (@var{a}, @var{k})\n\
-@deftypefnx {Function File} {} tril (@var{a}, @var{k}, @var{pack})\n\
-@deftypefnx {Function File} {} triu (@var{a})\n\
-@deftypefnx {Function File} {} triu (@var{a}, @var{k})\n\
-@deftypefnx {Function File} {} triu (@var{a}, @var{k}, @var{pack})\n\
+@deftypefn  {Function File} {} tril (@var{A})\n\
+@deftypefnx {Function File} {} tril (@var{A}, @var{k})\n\
+@deftypefnx {Function File} {} tril (@var{A}, @var{k}, @var{pack})\n\
+@deftypefnx {Function File} {} triu (@var{A})\n\
+@deftypefnx {Function File} {} triu (@var{A}, @var{k})\n\
+@deftypefnx {Function File} {} triu (@var{A}, @var{k}, @var{pack})\n\
 Return a new matrix formed by extracting the lower (@code{tril})\n\
-or upper (@code{triu}) triangular part of the matrix @var{a}, and\n\
+or upper (@code{triu}) triangular part of the matrix @var{A}, and\n\
 setting all other elements to zero.  The second argument is optional,\n\
 and specifies how many diagonals above or below the main diagonal should\n\
 also be set to zero.\n\
 \n\
 The default value of @var{k} is zero, so that @code{triu} and\n\
-@code{tril} normally include the main diagonal as part of the result\n\
-matrix.\n\
+@code{tril} normally include the main diagonal as part of the result.\n\
 \n\
 If the value of @var{k} is negative, additional elements above (for\n\
 @code{tril}) or below (for @code{triu}) the main diagonal are also\n\
 selected.\n\
 \n\
 The absolute value of @var{k} must not be greater than the number of\n\
-sub- or super-diagonals.\n\
+sub-diagonals or super-diagonals.\n\
 \n\
 For example:\n\
 \n\
@@ -398,8 +397,10 @@
 
 DEFUN_DLD (triu, args, ,
   "-*- texinfo -*-\n\
-@deftypefn {Function File} {} triu (@var{a}, @var{k})\n\
-See tril.\n\
+@deftypefn  {Function File} {} triu (@var{A})\n\
+@deftypefnx {Function File} {} triu (@var{A}, @var{k})\n\
+@deftypefnx {Function File} {} triu (@var{A}, @var{k}, @var{pack})\n\
+@xref{tril}.\n\
 @end deftypefn")
 {
   return do_trilu ("triu", args);
--- a/src/DLD-FUNCTIONS/tsearch.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/tsearch.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -67,7 +67,7 @@
 DEFUN_DLD (tsearch, args, ,
         "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{idx} =} tsearch (@var{x}, @var{y}, @var{t}, @var{xi}, @var{yi})\n\
-Searches for the enclosing Delaunay convex hull.  For @code{@var{t} =\n\
+Search for the enclosing Delaunay convex hull.  For @code{@var{t} =\n\
 delaunay (@var{x}, @var{y})}, finds the index in @var{t} containing the\n\
 points @code{(@var{xi}, @var{yi})}.  For points outside the convex hull,\n\
 @var{idx} is NaN.\n\
--- a/src/DLD-FUNCTIONS/typecast.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/typecast.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -89,7 +89,7 @@
 DEFUN_DLD (typecast, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {} typecast (@var{x}, @var{class})\n\
-Returns a new array @var{y} resulting from interpreting the data of\n\
+Return a new array @var{y} resulting from interpreting the data of\n\
 @var{x} in memory as data of the numeric class @var{class}.  Both the class\n\
 of @var{x} and @var{class} must be one of the built-in numeric classes:\n\
 \n\
@@ -274,8 +274,8 @@
 DEFUN_DLD (bitpack, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{y} =} bitpack (@var{x}, @var{class})\n\
-Returns a new array @var{y} resulting from interpreting a logical array\n\
-@var{x} as raw bit pattern for data of the numeric class @var{class}.  \n\
+Return a new array @var{y} resulting from interpreting an array\n\
+@var{x} as raw bit patterns for data of the numeric class @var{class}.\n\
 @var{class} must be one of the built-in numeric classes:\n\
 \n\
 @example\n\
@@ -296,10 +296,10 @@
 \n\
 The number of elements of @var{x} should be divisible by the bit length of\n\
 @var{class}.  If it is not, excess bits are discarded.  Bits come in\n\
-increasing order of significance, i.e. @code{x(1)} is bit 0, @code{x(2)} is\n\
+increasing order of significance, i.e., @code{x(1)} is bit 0, @code{x(2)} is\n\
 bit 1, etc.  The result is a row vector if @var{x} is a row vector, otherwise\n\
 it is a column vector.\n\
-@seealso{bitunpack,typecast,bitget,bitset}\n\
+@seealso{bitunpack,typecast}\n\
 @end deftypefn")
 {
   octave_value retval;
@@ -383,7 +383,7 @@
 DEFUN_DLD (bitunpack, args, ,
   "-*- texinfo -*-\n\
 @deftypefn {Loadable Function} {@var{y} =} bitpack (@var{x})\n\
-Returns a logical array @var{y} corresponding to the raw bit pattern of\n\
+Return an array @var{y} corresponding to the raw bit patterns of\n\
 @var{x}.  @var{x} must belong to one of the built-in numeric classes:\n\
 \n\
 @example\n\
@@ -402,9 +402,9 @@
 @end group\n\
 @end example\n\
 \n\
-The result is a row vector if @var{x} is a row vector, otherwise it is a\n\
+The result is a row vector if @var{x} is a row vector; otherwise, it is a\n\
 column vector.\n\
-@seealso{bitpack,typecast,bitget,bitset}\n\
+@seealso{bitpack,typecast}\n\
 @end deftypefn")
 {
   octave_value retval;
--- a/src/DLD-FUNCTIONS/urlwrite.cc	Sat Jan 15 15:13:06 2011 -0800
+++ b/src/DLD-FUNCTIONS/urlwrite.cc	Sun Jan 16 22:13:23 2011 -0800
@@ -698,7 +698,7 @@
 The full path of the downloaded file is returned in @var{f}.  The\n\
 variable @var{success} is 1 if the download was successful,\n\
 otherwise it is 0 in which case @var{message} contains an error\n\
-message.  If no output argument is specified and if an error occurs,\n\
+message.  If no output argument is specified and an error occurs,\n\
 then the error is signaled through Octave's error handling mechanism.\n\
 \n\
 This function uses libcurl.  Curl supports, among others, the HTTP,\n\
@@ -743,7 +743,7 @@
 
   if (error_state)
     {
-      error ("urlwrite: url must be a character string");
+      error ("urlwrite: URL must be a character string");
       return retval;
     }
 
@@ -752,7 +752,7 @@
 
   if (error_state)
     {
-      error ("urlwrite: localfile must be a character string");
+      error ("urlwrite: LOCALFILE must be a character string");
       return retval;
     }
 
@@ -765,13 +765,13 @@
 
       if (error_state)
         {
-          error ("urlwrite: method can only be \"get\" or \"post\"");
+          error ("urlwrite: METHOD must be \"get\" or \"post\"");
           return retval;
         }
 
       if (method != "get" && method != "post")
         {
-          error ("urlwrite: method can only be \"get\" or \"post\"");
+          error ("urlwrite: METHOD must be \"get\" or \"post\"");
           return retval;
         }
 
@@ -779,14 +779,14 @@
 
       if (error_state)
         {
-          error ("urlwrite: parameters for get and post requests must be given as a cell");
+          error ("urlwrite: parameters (PARAM) for get and post requests must be given as a cell");
           return retval;
         }
 
 
       if (param.numel () % 2 == 1 )
         {
-          error ("urlwrite: number of elements in param must be even");
+          error ("urlwrite: number of elements in PARAM must be even");
           return retval;
         }
     }
@@ -860,7 +860,7 @@
 \n\
 The variable @var{success} is 1 if the download was successful,\n\
 otherwise it is 0 in which case @var{message} contains an error\n\
-message.  If no output argument is specified and if an error occurs,\n\
+message.  If no output argument is specified and an error occurs,\n\
 then the error is signaled through Octave's error handling mechanism.\n\
 \n\
 This function uses libcurl.  Curl supports, among others, the HTTP,\n\
@@ -903,7 +903,7 @@
 
   if (error_state)
     {
-      error ("urlread: url must be a character string");
+      error ("urlread: URL must be a character string");
       return retval;
     }
 
@@ -916,13 +916,13 @@
 
       if (error_state)
         {
-          error ("urlread: method can only be \"get\" or \"post\"");
+          error ("urlread: METHOD must be \"get\" or \"post\"");
           return retval;
         }
 
       if (method != "get" && method != "post")
         {
-          error ("urlread: method can only be \"get\" or \"post\"");
+          error ("urlread: METHOD must be \"get\" or \"post\"");
           return retval;
         }
 
@@ -930,13 +930,13 @@
 
       if (error_state)
         {
-          error ("urlread: parameters for get and post requests must be given as a cell");
+          error ("urlread: parameters (PARAM) for get and post requests must be given as a cell");
           return retval;
         }
 
       if (param.numel () % 2 == 1 )
         {
-          error ("urlread: number of elements in param must be even");
+          error ("urlread: number of elements in PARAM must be even");
           return retval;
         }
     }
@@ -1017,7 +1017,7 @@
   int nargin = args.length ();
 
   if (nargin != 1)
-    error ("incorrect number of arguments");
+    error ("__ftp_pwd__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1049,7 +1049,7 @@
   int nargin = args.length ();
 
   if (nargin != 1 && nargin != 2)
-    error ("incorrect number of arguments");
+    error ("__ftp_cwd__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1086,7 +1086,7 @@
   int nargin = args.length ();
 
   if (nargin != 1)
-    error ("incorrect number of arguments");
+    error ("__ftp_dir__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1165,7 +1165,7 @@
   int nargin = args.length ();
 
   if (nargin != 1)
-    error ("incorrect number of arguments");
+    error ("__ftp_ascii__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1197,7 +1197,7 @@
   int nargin = args.length ();
 
   if (nargin != 1)
-    error ("incorrect number of arguments");
+    error ("__ftp_binary__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1229,7 +1229,7 @@
    int nargin = args.length ();
 
    if (nargin != 1)
-     error ("incorrect number of arguments");
+     error ("__ftp_close__: incorrect number of arguments");
    else
      {
        std::string handle = args(0).string_value ();
@@ -1255,7 +1255,7 @@
    int nargin = args.length ();
 
    if (nargin != 1)
-     error ("incorrect number of arguments");
+     error ("__ftp_mode__: incorrect number of arguments");
    else
      {
        std::string handle = args(0).string_value ();
@@ -1288,7 +1288,7 @@
   int nargin = args.length ();
 
   if (nargin != 2)
-    error ("incorrect number of arguments");
+    error ("__ftp_delete__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1321,7 +1321,7 @@
   int nargin = args.length ();
 
   if (nargin != 2)
-    error ("incorrect number of arguments");
+    error ("__ftp_rmdir__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1354,7 +1354,7 @@
   int nargin = args.length ();
 
   if (nargin != 2)
-    error ("incorrect number of arguments");
+    error ("__ftp_mkdir__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1387,7 +1387,7 @@
   int nargin = args.length ();
 
   if (nargin != 3)
-    error ("incorrect number of arguments");
+    error ("__ftp_rename__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1509,7 +1509,7 @@
   int nargin = args.length ();
 
   if (nargin != 2)
-    error ("incorrect number of arguments");
+    error ("__ftp_mput__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();
@@ -1661,7 +1661,7 @@
   int nargin = args.length ();
 
   if (nargin != 2 && nargin != 3)
-    error ("incorrect number of arguments");
+    error ("__ftp_mget__: incorrect number of arguments");
   else
     {
       std::string handle = args(0).string_value ();