diff libinterp/corefcn/variables.cc @ 21966:112b20240c87

move docstrings in C++ files out of C strings and into comments * __contourc__.cc, __dispatch__.cc, __dsearchn__.cc, __ichol__.cc, __ilu__.cc, __lin_interpn__.cc, __luinc__.cc, __magick_read__.cc, __pchip_deriv__.cc, __qp__.cc, balance.cc, besselj.cc, betainc.cc, bitfcns.cc, bsxfun.cc, cellfun.cc, colloc.cc, conv2.cc, daspk.cc, dasrt.cc, dassl.cc, data.cc, debug.cc, defaults.cc, det.cc, dirfns.cc, dlmread.cc, dot.cc, eig.cc, ellipj.cc, error.cc, fft.cc, fft2.cc, fftn.cc, file-io.cc, filter.cc, find.cc, gammainc.cc, gcd.cc, getgrent.cc, getpwent.cc, getrusage.cc, givens.cc, graphics.cc, hash.cc, help.cc, hess.cc, hex2num.cc, input.cc, inv.cc, kron.cc, load-path.cc, load-save.cc, lookup.cc, ls-oct-text.cc, lsode.cc, lu.cc, mappers.cc, matrix_type.cc, max.cc, mgorth.cc, nproc.cc, oct-hist.cc, octave-link.cc, ordschur.cc, pager.cc, pinv.cc, pr-output.cc, profiler.cc, psi.cc, pt-jit.cc, quad.cc, quadcc.cc, qz.cc, rand.cc, rcond.cc, regexp.cc, schur.cc, sighandlers.cc, sparse.cc, spparms.cc, sqrtm.cc, str2double.cc, strfind.cc, strfns.cc, sub2ind.cc, svd.cc, sylvester.cc, symtab.cc, syscalls.cc, sysdep.cc, time.cc, toplev.cc, tril.cc, tsearch.cc, typecast.cc, urlwrite.cc, utils.cc, variables.cc, __delaunayn__.cc, __eigs__.cc, __fltk_uigetfile__.cc, __glpk__.cc, __init_fltk__.cc, __init_gnuplot__.cc, __osmesa_print__.cc, __voronoi__.cc, amd.cc, audiodevinfo.cc, audioread.cc, ccolamd.cc, chol.cc, colamd.cc, convhulln.cc, dmperm.cc, fftw.cc, qr.cc, symbfact.cc, symrcm.cc, ov-base.cc, ov-bool-mat.cc, ov-cell.cc, ov-class.cc, ov-classdef.cc, ov-fcn-handle.cc, ov-fcn-inline.cc, ov-flt-re-mat.cc, ov-int16.cc, ov-int32.cc, ov-int64.cc, ov-int8.cc, ov-java.cc, ov-null-mat.cc, ov-oncleanup.cc, ov-range.cc, ov-re-mat.cc, ov-struct.cc, ov-typeinfo.cc, ov-uint16.cc, ov-uint32.cc, ov-uint64.cc, ov-uint8.cc, ov-usr-fcn.cc, ov.cc, octave.cc, pt-arg-list.cc, pt-binop.cc, pt-eval.cc, pt-mat.cc, lex.ll, oct-parse.in.yy: Docstrings are now comments instead of C strings. * build-aux/mk-opts.pl: Emit docstrings as comments instead of C strings. * DASPK-opts.in, LSODE-opts.in: Don't quote " in docstring fragments. * builtins.h: Include builtin-defun-decls.h unconditionally. * defun.h (DEFUN, DEFUNX, DEFCONSTFUN): Simply emit declaration. (DEFALIAS): Always expand to nothing. * defun-dld.h: No special macro expansions for MAKE_BUILTINS. (DEFUN_DLD): Use FORWARD_DECLARE_FUN. (DEFUNX_DLD): Use FORWARD_DECLARE_FUNX. * defun-int.h: No special macro expansions for MAKE_BUILTINS. (FORWARD_DECLARE_FUN, FORWARD_DECLARE_FUNX): New macros. (DEFINE_FUN_INSTALLER_FUN): If compiling an Octave source file, pass "external-doc" to DEFINE_FUNX_INSTALLER_FUN. (DEFUN_INTERNAL, DEFCONSTFUN_INTERNAL, DEFUNX_INTERNAL, DEFALIAS_INTERNAL): Delete. * common.mk (move_if_change_rule): New macro. (simple_move_if_change_rule): Define using move_if_change_rule. * find-defun-files.sh (DEFUN_PATTERN): Update. Don't transform file name extension to ".df". * libinterp/mk-pkg-add, gendoc.pl: Operate directly on source files. * mkbuiltins: New argument, SRCDIR. Operate directly on source files. * mkdefs: Delete. * libinterp/module.mk (BUILT_SOURCES): Update list to contain only files included in other source files. (GENERATED_MAKE_BUILTINS_INCS, DEF_FILES): Delete. (LIBINTERP_BUILT_DISTFILES): Include $(OPT_HANDLERS) here. (LIBINTERP_BUILT_NODISTFILES): Not here. Remove $(ALL_DEF_FILES from the list. (libinterp_EXTRA_DIST): Remove mkdefs from the list. (FOUND_DEFUN_FILES): Rename from SRC_DEF_FILES. (DLDFCN_DEFUN_FILES): Rename from DLDFCN_DEF_FILES. (SRC_DEFUN_FILES): Rename from SRC_DEF_FILES. (ALL_DEFUN_FILES): Rename from ALL_DEF_FILES. (%.df: %.cc): Delete pattern rule. (libinterp/build-env-features.cc, libinterp/builtins.cc, libinterp/dldfcn/PKG_ADD): Use mv instead of move-if-change. (libinterp/builtins.cc, libinterp/builtin-defun-decls.h): Update mkbuiltins command. ($(srcdir)/libinterp/DOCSTRINGS): Update gendoc.pl command. * liboctave/module.mk (BUILT_SOURCES): Don't include liboctave-build-info.cc in the list.
author John W. Eaton <jwe@octave.org>
date Tue, 21 Jun 2016 16:07:51 -0400
parents 0806871e3e1e
children 278fc29b69ca
line wrap: on
line diff
--- a/libinterp/corefcn/variables.cc	Tue Jun 21 13:08:25 2016 -0700
+++ b/libinterp/corefcn/variables.cc	Tue Jun 21 16:07:51 2016 -0400
@@ -336,21 +336,21 @@
 }
 
 DEFUN (isglobal, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn {} {} isglobal (@var{name})\n\
-Return true if @var{name} is a globally visible variable.\n\
-\n\
-For example:\n\
-\n\
-@example\n\
-@group\n\
-global x\n\
-isglobal (\"x\")\n\
-   @result{} 1\n\
-@end group\n\
-@end example\n\
-@seealso{isvarname, exist}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} isglobal (@var{name})
+Return true if @var{name} is a globally visible variable.
+
+For example:
+
+@example
+@group
+global x
+isglobal ("x")
+   @result{} 1
+@end group
+@end example
+@seealso{isvarname, exist}
+@end deftypefn */)
 {
   return do_isglobal (args);
 }
@@ -519,77 +519,77 @@
 }
 
 DEFUN (exist, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {@var{c} =} exist (@var{name})\n\
-@deftypefnx {} {@var{c} =} exist (@var{name}, @var{type})\n\
-Check for the existence of @var{name} as a variable, function, file,\n\
-directory, or class.\n\
-\n\
-The return code @var{c} is one of\n\
-\n\
-@table @asis\n\
-@item 1\n\
-@var{name} is a variable.\n\
-\n\
-@item 2\n\
-@var{name} is an absolute filename, an ordinary file in Octave's\n\
-@code{path}, or (after appending @samp{.m}) a function file in Octave's\n\
-@code{path}.\n\
-\n\
-@item 3\n\
-@var{name} is a @samp{.oct} or @samp{.mex} file in Octave's @code{path}.\n\
-\n\
-@item 5\n\
-@var{name} is a built-in function.\n\
-\n\
-@item 7\n\
-@var{name} is a directory.\n\
-\n\
-@item 103\n\
-@var{name} is a function not associated with a file (entered on the command\n\
-line).\n\
-\n\
-@item 0\n\
-@var{name} does not exist.\n\
-@end table\n\
-\n\
-If the optional argument @var{type} is supplied, check only for symbols of\n\
-the specified type.  Valid types are\n\
-\n\
-@table @asis\n\
-@item @qcode{\"var\"}\n\
-Check only for variables.\n\
-\n\
-@item @qcode{\"builtin\"}\n\
-Check only for built-in functions.\n\
-\n\
-@item @qcode{\"dir\"}\n\
-Check only for directories.\n\
-\n\
-@item @qcode{\"file\"}\n\
-Check only for files and directories.\n\
-\n\
-@item @qcode{\"class\"}\n\
-Check only for classes.  (Note: This option is accepted, but not currently\n\
-implemented)\n\
-@end table\n\
-\n\
-If no type is given, and there are multiple possible matches for name,\n\
-@code{exist} will return a code according to the following priority list:\n\
-variable, built-in function, oct-file, directory, file, class.\n\
-\n\
-@code{exist} returns 2 if a regular file called @var{name} is present in\n\
-Octave's search path.  If you want information about other types of files\n\
-not on the search path you should use some combination of the functions\n\
-@code{file_in_path} and @code{stat} instead.\n\
-\n\
-Programming Note: If @var{name} is implemented by a buggy .oct/.mex file,\n\
-calling @var{exist} may cause Octave to crash.  To maintain high\n\
-performance, Octave trusts .oct/.mex files instead of @nospell{sandboxing}\n\
-them.\n\
-\n\
-@seealso{file_in_loadpath, file_in_path, dir_in_loadpath, stat}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {@var{c} =} exist (@var{name})
+@deftypefnx {} {@var{c} =} exist (@var{name}, @var{type})
+Check for the existence of @var{name} as a variable, function, file,
+directory, or class.
+
+The return code @var{c} is one of
+
+@table @asis
+@item 1
+@var{name} is a variable.
+
+@item 2
+@var{name} is an absolute filename, an ordinary file in Octave's
+@code{path}, or (after appending @samp{.m}) a function file in Octave's
+@code{path}.
+
+@item 3
+@var{name} is a @samp{.oct} or @samp{.mex} file in Octave's @code{path}.
+
+@item 5
+@var{name} is a built-in function.
+
+@item 7
+@var{name} is a directory.
+
+@item 103
+@var{name} is a function not associated with a file (entered on the command
+line).
+
+@item 0
+@var{name} does not exist.
+@end table
+
+If the optional argument @var{type} is supplied, check only for symbols of
+the specified type.  Valid types are
+
+@table @asis
+@item @qcode{"var"}
+Check only for variables.
+
+@item @qcode{"builtin"}
+Check only for built-in functions.
+
+@item @qcode{"dir"}
+Check only for directories.
+
+@item @qcode{"file"}
+Check only for files and directories.
+
+@item @qcode{"class"}
+Check only for classes.  (Note: This option is accepted, but not currently
+implemented)
+@end table
+
+If no type is given, and there are multiple possible matches for name,
+@code{exist} will return a code according to the following priority list:
+variable, built-in function, oct-file, directory, file, class.
+
+@code{exist} returns 2 if a regular file called @var{name} is present in
+Octave's search path.  If you want information about other types of files
+not on the search path you should use some combination of the functions
+@code{file_in_path} and @code{stat} instead.
+
+Programming Note: If @var{name} is implemented by a buggy .oct/.mex file,
+calling @var{exist} may cause Octave to crash.  To maintain high
+performance, Octave trusts .oct/.mex files instead of @nospell{sandboxing}
+them.
+
+@seealso{file_in_loadpath, file_in_path, dir_in_loadpath, stat}
+@end deftypefn */)
 {
   int nargin = args.length ();
 
@@ -1834,39 +1834,39 @@
 }
 
 DEFUN (who, args, nargout,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {} who\n\
-@deftypefnx {} {} who pattern @dots{}\n\
-@deftypefnx {} {} who option pattern @dots{}\n\
-@deftypefnx {} {C =} who (\"pattern\", @dots{})\n\
-List currently defined variables matching the given patterns.\n\
-\n\
-Valid pattern syntax is the same as described for the @code{clear} command.\n\
-If no patterns are supplied, all variables are listed.\n\
-\n\
-By default, only variables visible in the local scope are displayed.\n\
-\n\
-The following are valid options, but may not be combined.\n\
-\n\
-@table @code\n\
-@item global\n\
-List variables in the global scope rather than the current scope.\n\
-\n\
-@item -regexp\n\
-The patterns are considered to be regular expressions when matching the\n\
-variables to display.  The same pattern syntax accepted by the @code{regexp}\n\
-function is used.\n\
-\n\
-@item -file\n\
-The next argument is treated as a filename.  All variables found within the\n\
-specified file are listed.  No patterns are accepted when reading variables\n\
-from a file.\n\
-@end table\n\
-\n\
-If called as a function, return a cell array of defined variable names\n\
-matching the given patterns.\n\
-@seealso{whos, isglobal, isvarname, exist, regexp}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {} who
+@deftypefnx {} {} who pattern @dots{}
+@deftypefnx {} {} who option pattern @dots{}
+@deftypefnx {} {C =} who ("pattern", @dots{})
+List currently defined variables matching the given patterns.
+
+Valid pattern syntax is the same as described for the @code{clear} command.
+If no patterns are supplied, all variables are listed.
+
+By default, only variables visible in the local scope are displayed.
+
+The following are valid options, but may not be combined.
+
+@table @code
+@item global
+List variables in the global scope rather than the current scope.
+
+@item -regexp
+The patterns are considered to be regular expressions when matching the
+variables to display.  The same pattern syntax accepted by the @code{regexp}
+function is used.
+
+@item -file
+The next argument is treated as a filename.  All variables found within the
+specified file are listed.  No patterns are accepted when reading variables
+from a file.
+@end table
+
+If called as a function, return a cell array of defined variable names
+matching the given patterns.
+@seealso{whos, isglobal, isvarname, exist, regexp}
+@end deftypefn */)
 {
   int argc = args.length () + 1;
 
@@ -1876,68 +1876,68 @@
 }
 
 DEFUN (whos, args, nargout,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {} whos\n\
-@deftypefnx {} {} whos pattern @dots{}\n\
-@deftypefnx {} {} whos option pattern @dots{}\n\
-@deftypefnx {} {S =} whos (\"pattern\", @dots{})\n\
-Provide detailed information on currently defined variables matching the\n\
-given patterns.\n\
-\n\
-Options and pattern syntax are the same as for the @code{who} command.\n\
-\n\
-Extended information about each variable is summarized in a table with the\n\
-following default entries.\n\
-\n\
-@table @asis\n\
-@item Attr\n\
-Attributes of the listed variable.  Possible attributes are:\n\
-\n\
-@table @asis\n\
-@item blank\n\
-Variable in local scope\n\
-\n\
-@item @code{a}\n\
-Automatic variable.  An automatic variable is one created by the\n\
-interpreter, for example @code{argn}.\n\
-\n\
-@item @code{c}\n\
-Variable of complex type.\n\
-\n\
-@item @code{f}\n\
-Formal parameter (function argument).\n\
-\n\
-@item @code{g}\n\
-Variable with global scope.\n\
-\n\
-@item @code{p}\n\
-Persistent variable.\n\
-@end table\n\
-\n\
-@item Name\n\
-The name of the variable.\n\
-\n\
-@item Size\n\
-The logical size of the variable.  A scalar is 1x1, a vector is\n\
-@nospell{1xN} or @nospell{Nx1}, a 2-D matrix is @nospell{MxN}.\n\
-\n\
-@item Bytes\n\
-The amount of memory currently used to store the variable.\n\
-\n\
-@item Class\n\
-The class of the variable.  Examples include double, single, char, uint16,\n\
-cell, and struct.\n\
-@end table\n\
-\n\
-The table can be customized to display more or less information through\n\
-the function @code{whos_line_format}.\n\
-\n\
-If @code{whos} is called as a function, return a struct array of defined\n\
-variable names matching the given patterns.  Fields in the structure\n\
-describing each variable are: name, size, bytes, class, global, sparse,\n\
-complex, nesting, persistent.\n\
-@seealso{who, whos_line_format}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {} whos
+@deftypefnx {} {} whos pattern @dots{}
+@deftypefnx {} {} whos option pattern @dots{}
+@deftypefnx {} {S =} whos ("pattern", @dots{})
+Provide detailed information on currently defined variables matching the
+given patterns.
+
+Options and pattern syntax are the same as for the @code{who} command.
+
+Extended information about each variable is summarized in a table with the
+following default entries.
+
+@table @asis
+@item Attr
+Attributes of the listed variable.  Possible attributes are:
+
+@table @asis
+@item blank
+Variable in local scope
+
+@item @code{a}
+Automatic variable.  An automatic variable is one created by the
+interpreter, for example @code{argn}.
+
+@item @code{c}
+Variable of complex type.
+
+@item @code{f}
+Formal parameter (function argument).
+
+@item @code{g}
+Variable with global scope.
+
+@item @code{p}
+Persistent variable.
+@end table
+
+@item Name
+The name of the variable.
+
+@item Size
+The logical size of the variable.  A scalar is 1x1, a vector is
+@nospell{1xN} or @nospell{Nx1}, a 2-D matrix is @nospell{MxN}.
+
+@item Bytes
+The amount of memory currently used to store the variable.
+
+@item Class
+The class of the variable.  Examples include double, single, char, uint16,
+cell, and struct.
+@end table
+
+The table can be customized to display more or less information through
+the function @code{whos_line_format}.
+
+If @code{whos} is called as a function, return a struct array of defined
+variable names matching the given patterns.  Fields in the structure
+describing each variable are: name, size, bytes, class, global, sparse,
+complex, nesting, persistent.
+@seealso{who, whos_line_format}
+@end deftypefn */)
 {
   int argc = args.length () + 1;
 
@@ -2026,11 +2026,11 @@
 }
 
 DEFUN (mlock, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn {} {} mlock ()\n\
-Lock the current function into memory so that it can't be cleared.\n\
-@seealso{munlock, mislocked, persistent}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} mlock ()
+Lock the current function into memory so that it can't be cleared.
+@seealso{munlock, mislocked, persistent}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -2046,14 +2046,14 @@
 }
 
 DEFUN (munlock, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {} munlock ()\n\
-@deftypefnx {} {} munlock (@var{fcn})\n\
-Unlock the named function @var{fcn}.\n\
-\n\
-If no function is named then unlock the current function.\n\
-@seealso{mlock, mislocked, persistent}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {} munlock ()
+@deftypefnx {} {} munlock (@var{fcn})
+Unlock the named function @var{fcn}.
+
+If no function is named then unlock the current function.
+@seealso{mlock, mislocked, persistent}
+@end deftypefn */)
 {
   int nargin = args.length ();
 
@@ -2081,14 +2081,14 @@
 
 
 DEFUN (mislocked, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {} mislocked ()\n\
-@deftypefnx {} {} mislocked (@var{fcn})\n\
-Return true if the named function @var{fcn} is locked.\n\
-\n\
-If no function is named then return true if the current function is locked.\n\
-@seealso{mlock, munlock, persistent}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {} mislocked ()
+@deftypefnx {} {} mislocked (@var{fcn})
+Return true if the named function @var{fcn} is locked.
+
+If no function is named then return true if the current function is locked.
+@seealso{mlock, munlock, persistent}
+@end deftypefn */)
 {
   int nargin = args.length ();
 
@@ -2337,78 +2337,78 @@
   while (0)
 
 DEFUN (clear, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn {} {} clear [options] pattern @dots{}\n\
-Delete the names matching the given patterns from the symbol table.\n\
-\n\
-The pattern may contain the following special characters:\n\
-\n\
-@table @code\n\
-@item ?\n\
-Match any single character.\n\
-\n\
-@item *\n\
-Match zero or more characters.\n\
-\n\
-@item [ @var{list} ]\n\
-Match the list of characters specified by @var{list}.  If the first\n\
-character is @code{!} or @code{^}, match all characters except those\n\
-specified by @var{list}.  For example, the pattern @samp{[a-zA-Z]} will\n\
-match all lowercase and uppercase alphabetic characters.\n\
-@end table\n\
-\n\
-For example, the command\n\
-\n\
-@example\n\
-clear foo b*r\n\
-@end example\n\
-\n\
-@noindent\n\
-clears the name @code{foo} and all names that begin with the letter\n\
-@code{b} and end with the letter @code{r}.\n\
-\n\
-If @code{clear} is called without any arguments, all user-defined\n\
-variables (local and global) are cleared from the symbol table.\n\
-\n\
-If @code{clear} is called with at least one argument, only the visible\n\
-names matching the arguments are cleared.  For example, suppose you have\n\
-defined a function @code{foo}, and then hidden it by performing the\n\
-assignment @code{foo = 2}.  Executing the command @kbd{clear foo} once\n\
-will clear the variable definition and restore the definition of\n\
-@code{foo} as a function.  Executing @kbd{clear foo} a second time will\n\
-clear the function definition.\n\
-\n\
-The following options are available in both long and short form\n\
-\n\
-@table @code\n\
-@item -all, -a\n\
-Clear all local and global user-defined variables and all functions from the\n\
-symbol table.\n\
-\n\
-@item -exclusive, -x\n\
-Clear the variables that don't match the following pattern.\n\
-\n\
-@item -functions, -f\n\
-Clear the function names and the built-in symbols names.\n\
-\n\
-@item -global, -g\n\
-Clear global symbol names.\n\
-\n\
-@item -variables, -v\n\
-Clear local variable names.\n\
-\n\
-@item -classes, -c\n\
-Clears the class structure table and clears all objects.\n\
-\n\
-@item -regexp, -r\n\
-The arguments are treated as regular expressions as any variables that\n\
-match will be cleared.\n\
-@end table\n\
-\n\
-With the exception of @code{exclusive}, all long options can be used\n\
-without the dash as well.\n\
-@seealso{who, whos, exist}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} clear [options] pattern @dots{}
+Delete the names matching the given patterns from the symbol table.
+
+The pattern may contain the following special characters:
+
+@table @code
+@item ?
+Match any single character.
+
+@item *
+Match zero or more characters.
+
+@item [ @var{list} ]
+Match the list of characters specified by @var{list}.  If the first
+character is @code{!} or @code{^}, match all characters except those
+specified by @var{list}.  For example, the pattern @samp{[a-zA-Z]} will
+match all lowercase and uppercase alphabetic characters.
+@end table
+
+For example, the command
+
+@example
+clear foo b*r
+@end example
+
+@noindent
+clears the name @code{foo} and all names that begin with the letter
+@code{b} and end with the letter @code{r}.
+
+If @code{clear} is called without any arguments, all user-defined
+variables (local and global) are cleared from the symbol table.
+
+If @code{clear} is called with at least one argument, only the visible
+names matching the arguments are cleared.  For example, suppose you have
+defined a function @code{foo}, and then hidden it by performing the
+assignment @code{foo = 2}.  Executing the command @kbd{clear foo} once
+will clear the variable definition and restore the definition of
+@code{foo} as a function.  Executing @kbd{clear foo} a second time will
+clear the function definition.
+
+The following options are available in both long and short form
+
+@table @code
+@item -all, -a
+Clear all local and global user-defined variables and all functions from the
+symbol table.
+
+@item -exclusive, -x
+Clear the variables that don't match the following pattern.
+
+@item -functions, -f
+Clear the function names and the built-in symbols names.
+
+@item -global, -g
+Clear global symbol names.
+
+@item -variables, -v
+Clear local variable names.
+
+@item -classes, -c
+Clears the class structure table and clears all objects.
+
+@item -regexp, -r
+The arguments are treated as regular expressions as any variables that
+match will be cleared.
+@end table
+
+With the exception of @code{exclusive}, all long options can be used
+without the dash as well.
+@seealso{who, whos, exist}
+@end deftypefn */)
 {
   int argc = args.length () + 1;
 
@@ -2538,78 +2538,78 @@
 }
 
 DEFUN (whos_line_format, args, nargout,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {@var{val} =} whos_line_format ()\n\
-@deftypefnx {} {@var{old_val} =} whos_line_format (@var{new_val})\n\
-@deftypefnx {} {} whos_line_format (@var{new_val}, \"local\")\n\
-Query or set the format string used by the command @code{whos}.\n\
-\n\
-A full format string is:\n\
-@c Set example in small font to prevent overfull line\n\
-\n\
-@smallexample\n\
-%[modifier]<command>[:width[:left-min[:balance]]];\n\
-@end smallexample\n\
-\n\
-The following command sequences are available:\n\
-\n\
-@table @code\n\
-@item %a\n\
-Prints attributes of variables (g=global, p=persistent, f=formal parameter,\n\
-a=automatic variable).\n\
-\n\
-@item %b\n\
-Prints number of bytes occupied by variables.\n\
-\n\
-@item %c\n\
-Prints class names of variables.\n\
-\n\
-@item %e\n\
-Prints elements held by variables.\n\
-\n\
-@item %n\n\
-Prints variable names.\n\
-\n\
-@item %s\n\
-Prints dimensions of variables.\n\
-\n\
-@item %t\n\
-Prints type names of variables.\n\
-@end table\n\
-\n\
-Every command may also have an alignment modifier:\n\
-\n\
-@table @code\n\
-@item l\n\
-Left alignment.\n\
-\n\
-@item r\n\
-Right alignment (default).\n\
-\n\
-@item c\n\
-Column-aligned (only applicable to command %s).\n\
-@end table\n\
-\n\
-The @code{width} parameter is a positive integer specifying the minimum\n\
-number of columns used for printing.  No maximum is needed as the field will\n\
-auto-expand as required.\n\
-\n\
-The parameters @code{left-min} and @code{balance} are only available when\n\
-the column-aligned modifier is used with the command @samp{%s}.\n\
-@code{balance} specifies the column number within the field width which\n\
-will be aligned between entries.  Numbering starts from 0 which indicates\n\
-the leftmost column.  @code{left-min} specifies the minimum field width to\n\
-the left of the specified balance column.\n\
-\n\
-The default format is:\n\
-\n\
-@qcode{\"  %a:4; %ln:6; %cs:16:6:1;  %rb:12;  %lc:-1;@xbackslashchar{}n\"}\n\
-\n\
-When called from inside a function with the @qcode{\"local\"} option, the\n\
-variable is changed locally for the function and any subroutines it calls.\n\
-The original variable value is restored when exiting the function.\n\
-@seealso{whos}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {@var{val} =} whos_line_format ()
+@deftypefnx {} {@var{old_val} =} whos_line_format (@var{new_val})
+@deftypefnx {} {} whos_line_format (@var{new_val}, "local")
+Query or set the format string used by the command @code{whos}.
+
+A full format string is:
+@c Set example in small font to prevent overfull line
+
+@smallexample
+%[modifier]<command>[:width[:left-min[:balance]]];
+@end smallexample
+
+The following command sequences are available:
+
+@table @code
+@item %a
+Prints attributes of variables (g=global, p=persistent, f=formal parameter,
+a=automatic variable).
+
+@item %b
+Prints number of bytes occupied by variables.
+
+@item %c
+Prints class names of variables.
+
+@item %e
+Prints elements held by variables.
+
+@item %n
+Prints variable names.
+
+@item %s
+Prints dimensions of variables.
+
+@item %t
+Prints type names of variables.
+@end table
+
+Every command may also have an alignment modifier:
+
+@table @code
+@item l
+Left alignment.
+
+@item r
+Right alignment (default).
+
+@item c
+Column-aligned (only applicable to command %s).
+@end table
+
+The @code{width} parameter is a positive integer specifying the minimum
+number of columns used for printing.  No maximum is needed as the field will
+auto-expand as required.
+
+The parameters @code{left-min} and @code{balance} are only available when
+the column-aligned modifier is used with the command @samp{%s}.
+@code{balance} specifies the column number within the field width which
+will be aligned between entries.  Numbering starts from 0 which indicates
+the leftmost column.  @code{left-min} specifies the minimum field width to
+the left of the specified balance column.
+
+The default format is:
+
+@qcode{"  %a:4; %ln:6; %cs:16:6:1;  %rb:12;  %lc:-1;@xbackslashchar{}n"}
+
+When called from inside a function with the @qcode{"local"} option, the
+variable is changed locally for the function and any subroutines it calls.
+The original variable value is restored when exiting the function.
+@seealso{whos}
+@end deftypefn */)
 {
   return SET_INTERNAL_VARIABLE (whos_line_format);
 }
@@ -2617,18 +2617,18 @@
 static std::string Vmissing_function_hook = "__unimplemented__";
 
 DEFUN (missing_function_hook, args, nargout,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {@var{val} =} missing_function_hook ()\n\
-@deftypefnx {} {@var{old_val} =} missing_function_hook (@var{new_val})\n\
-@deftypefnx {} {} missing_function_hook (@var{new_val}, \"local\")\n\
-Query or set the internal variable that specifies the function to call when\n\
-an unknown identifier is requested.\n\
-\n\
-When called from inside a function with the @qcode{\"local\"} option, the\n\
-variable is changed locally for the function and any subroutines it calls.\n\
-The original variable value is restored when exiting the function.\n\
-@seealso{missing_component_hook}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {@var{val} =} missing_function_hook ()
+@deftypefnx {} {@var{old_val} =} missing_function_hook (@var{new_val})
+@deftypefnx {} {} missing_function_hook (@var{new_val}, "local")
+Query or set the internal variable that specifies the function to call when
+an unknown identifier is requested.
+
+When called from inside a function with the @qcode{"local"} option, the
+variable is changed locally for the function and any subroutines it calls.
+The original variable value is restored when exiting the function.
+@seealso{missing_component_hook}
+@end deftypefn */)
 {
   return SET_INTERNAL_VARIABLE (missing_function_hook);
 }
@@ -2657,10 +2657,10 @@
 }
 
 DEFUN (__varval__, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn {} {} __varval__ (@var{name})\n\
-Return the value of the variable @var{name} directly from the symbol table.\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} __varval__ (@var{name})
+Return the value of the variable @var{name} directly from the symbol table.
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -2673,32 +2673,32 @@
 static std::string Vmissing_component_hook;
 
 DEFUN (missing_component_hook, args, nargout,
-       "-*- texinfo -*-\n\
-@deftypefn  {} {@var{val} =} missing_component_hook ()\n\
-@deftypefnx {} {@var{old_val} =} missing_component_hook (@var{new_val})\n\
-@deftypefnx {} {} missing_component_hook (@var{new_val}, \"local\")\n\
-Query or set the internal variable that specifies the function to call when\n\
-a component of Octave is missing.\n\
-\n\
-This can be useful for packagers that may split the Octave installation into\n\
-multiple sub-packages, for example, to provide a hint to users for how to\n\
-install the missing components.\n\
-\n\
-When called from inside a function with the @qcode{\"local\"} option, the\n\
-variable is changed locally for the function and any subroutines it calls.\n\
-The original variable value is restored when exiting the function.\n\
-\n\
-The hook function is expected to be of the form\n\
-\n\
-@example\n\
-@var{fcn} (@var{component})\n\
-@end example\n\
-\n\
-Octave will call @var{fcn} with the name of the function that requires the\n\
-component and a string describing the missing component.  The hook function\n\
-should return an error message to be displayed.\n\
-@seealso{missing_function_hook}\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn  {} {@var{val} =} missing_component_hook ()
+@deftypefnx {} {@var{old_val} =} missing_component_hook (@var{new_val})
+@deftypefnx {} {} missing_component_hook (@var{new_val}, "local")
+Query or set the internal variable that specifies the function to call when
+a component of Octave is missing.
+
+This can be useful for packagers that may split the Octave installation into
+multiple sub-packages, for example, to provide a hint to users for how to
+install the missing components.
+
+When called from inside a function with the @qcode{"local"} option, the
+variable is changed locally for the function and any subroutines it calls.
+The original variable value is restored when exiting the function.
+
+The hook function is expected to be of the form
+
+@example
+@var{fcn} (@var{component})
+@end example
+
+Octave will call @var{fcn} with the name of the function that requires the
+component and a string describing the missing component.  The hook function
+should return an error message to be displayed.
+@seealso{missing_function_hook}
+@end deftypefn */)
 {
   return SET_INTERNAL_VARIABLE (missing_component_hook);
 }