diff libinterp/corefcn/syscalls.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 baeffde5c87d
children 7f79c716876c
line wrap: on
line diff
--- a/libinterp/corefcn/syscalls.cc	Tue Jun 21 13:08:25 2016 -0700
+++ b/libinterp/corefcn/syscalls.cc	Tue Jun 21 16:07:51 2016 -0400
@@ -103,15 +103,15 @@
 }
 
 DEFUNX ("dup2", Fdup2, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{fid}, @var{msg}] =} dup2 (@var{old}, @var{new})\n\
-Duplicate a file descriptor.\n\
-\n\
-If successful, @var{fid} is greater than zero and contains the new file ID@.\n\
-Otherwise, @var{fid} is negative and @var{msg} contains a system-dependent\n\
-error message.\n\
-@seealso{fopen, fclose, fcntl}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{fid}, @var{msg}] =} dup2 (@var{old}, @var{new})
+Duplicate a file descriptor.
+
+If successful, @var{fid} is greater than zero and contains the new file ID@.
+Otherwise, @var{fid} is negative and @var{msg} contains a system-dependent
+error message.
+@seealso{fopen, fclose, fcntl}
+@end deftypefn */)
 {
   if (args.length () != 2)
     print_usage ();
@@ -136,25 +136,25 @@
 }
 
 DEFUNX ("exec", Fexec, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{err}, @var{msg}] =} exec (@var{file}, @var{args})\n\
-Replace current process with a new process.\n\
-\n\
-Calling @code{exec} without first calling @code{fork} will terminate your\n\
-current Octave process and replace it with the program named by @var{file}.\n\
-For example,\n\
-\n\
-@example\n\
-exec (\"ls\", \"-l\")\n\
-@end example\n\
-\n\
-@noindent\n\
-will run @code{ls} and return you to your shell prompt.\n\
-\n\
-If successful, @code{exec} does not return.  If @code{exec} does return,\n\
-@var{err} will be nonzero, and @var{msg} will contain a system-dependent\n\
-error message.\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{err}, @var{msg}] =} exec (@var{file}, @var{args})
+Replace current process with a new process.
+
+Calling @code{exec} without first calling @code{fork} will terminate your
+current Octave process and replace it with the program named by @var{file}.
+For example,
+
+@example
+exec ("ls", "-l")
+@end example
+
+@noindent
+will run @code{ls} and return you to your shell prompt.
+
+If successful, @code{exec} does not return.  If @code{exec} does return,
+@var{err} will be nonzero, and @var{msg} will contain a system-dependent
+error message.
+@end deftypefn */)
 {
   int nargin = args.length ();
 
@@ -198,51 +198,51 @@
 }
 
 DEFUNX ("popen2", Fpopen2, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{in}, @var{out}, @var{pid}] =} popen2 (@var{command}, @var{args})\n\
-Start a subprocess with two-way communication.\n\
-\n\
-The name of the process is given by @var{command}, and @var{args} is an\n\
-array of strings containing options for the command.\n\
-\n\
-The file identifiers for the input and output streams of the subprocess are\n\
-returned in @var{in} and @var{out}.  If execution of the command is\n\
-successful, @var{pid} contains the process ID of the subprocess.  Otherwise,\n\
-@var{pid} is @minus{}1.\n\
-\n\
-For example:\n\
-\n\
-@example\n\
-[in, out, pid] = popen2 (\"sort\", \"-r\");\n\
-fputs (in, \"these\\nare\\nsome\\nstrings\\n\");\n\
-fclose (in);\n\
-EAGAIN = errno (\"EAGAIN\");\n\
-done = false;\n\
-do\n\
-  s = fgets (out);\n\
-  if (ischar (s))\n\
-    fputs (stdout, s);\n\
-  elseif (errno () == EAGAIN)\n\
-    pause (0.1);\n\
-    fclear (out);\n\
-  else\n\
-    done = true;\n\
-  endif\n\
-until (done)\n\
-fclose (out);\n\
-waitpid (pid);\n\
-\n\
-   @print{} these\n\
-   @print{} strings\n\
-   @print{} some\n\
-   @print{} are\n\
-@end example\n\
-\n\
-Note that @code{popen2}, unlike @code{popen}, will not @nospell{\"reap\"}\n\
-the child process.  If you don't use @code{waitpid} to check the child's\n\
-exit status, it will linger until Octave exits.\n\
-@seealso{popen, waitpid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{in}, @var{out}, @var{pid}] =} popen2 (@var{command}, @var{args})
+Start a subprocess with two-way communication.
+
+The name of the process is given by @var{command}, and @var{args} is an
+array of strings containing options for the command.
+
+The file identifiers for the input and output streams of the subprocess are
+returned in @var{in} and @var{out}.  If execution of the command is
+successful, @var{pid} contains the process ID of the subprocess.  Otherwise,
+@var{pid} is @minus{}1.
+
+For example:
+
+@example
+[in, out, pid] = popen2 ("sort", "-r");
+fputs (in, "these\nare\nsome\nstrings\n");
+fclose (in);
+EAGAIN = errno ("EAGAIN");
+done = false;
+do
+  s = fgets (out);
+  if (ischar (s))
+    fputs (stdout, s);
+  elseif (errno () == EAGAIN)
+    pause (0.1);
+    fclear (out);
+  else
+    done = true;
+  endif
+until (done)
+fclose (out);
+waitpid (pid);
+
+   @print{} these
+   @print{} strings
+   @print{} some
+   @print{} are
+@end example
+
+Note that @code{popen2}, unlike @code{popen}, will not @nospell{"reap"}
+the child process.  If you don't use @code{waitpid} to check the child's
+exit status, it will linger until Octave exits.
+@seealso{popen, waitpid}
+@end deftypefn */)
 {
   int nargin = args.length ();
 
@@ -369,63 +369,63 @@
 */
 
 DEFUNX ("fcntl", Ffcntl, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{err}, @var{msg}] =} fcntl (@var{fid}, @var{request}, @var{arg})\n\
-Change the properties of the open file @var{fid}.\n\
-\n\
-The following values may be passed as @var{request}:\n\
-\n\
-@vtable @code\n\
-@item F_DUPFD\n\
-Return a duplicate file descriptor.\n\
-\n\
-@item F_GETFD\n\
-Return the file descriptor flags for @var{fid}.\n\
-\n\
-@item F_SETFD\n\
-Set the file descriptor flags for @var{fid}.\n\
-\n\
-@item F_GETFL\n\
-Return the file status flags for @var{fid}.  The following codes may be\n\
-returned (some of the flags may be undefined on some systems).\n\
-\n\
-@vtable @code\n\
-@item O_RDONLY\n\
-Open for reading only.\n\
-\n\
-@item O_WRONLY\n\
-Open for writing only.\n\
-\n\
-@item O_RDWR\n\
-Open for reading and writing.\n\
-\n\
-@item O_APPEND\n\
-Append on each write.\n\
-\n\
-@item O_CREAT\n\
-Create the file if it does not exist.\n\
-\n\
-@item O_NONBLOCK\n\
-Non-blocking mode.\n\
-\n\
-@item O_SYNC\n\
-Wait for writes to complete.\n\
-\n\
-@item O_ASYNC\n\
-Asynchronous I/O.\n\
-@end vtable\n\
-\n\
-@item F_SETFL\n\
-Set the file status flags for @var{fid} to the value specified by @var{arg}.\n\
- The only flags that can be changed are @w{@code{O_APPEND}} and\n\
-@w{@code{O_NONBLOCK}}.\n\
-@end vtable\n\
-\n\
-If successful, @var{err} is 0 and @var{msg} is an empty string.  Otherwise,\n\
-@var{err} is nonzero and @var{msg} contains a system-dependent error\n\
-message.\n\
-@seealso{fopen, dup2}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{err}, @var{msg}] =} fcntl (@var{fid}, @var{request}, @var{arg})
+Change the properties of the open file @var{fid}.
+
+The following values may be passed as @var{request}:
+
+@vtable @code
+@item F_DUPFD
+Return a duplicate file descriptor.
+
+@item F_GETFD
+Return the file descriptor flags for @var{fid}.
+
+@item F_SETFD
+Set the file descriptor flags for @var{fid}.
+
+@item F_GETFL
+Return the file status flags for @var{fid}.  The following codes may be
+returned (some of the flags may be undefined on some systems).
+
+@vtable @code
+@item O_RDONLY
+Open for reading only.
+
+@item O_WRONLY
+Open for writing only.
+
+@item O_RDWR
+Open for reading and writing.
+
+@item O_APPEND
+Append on each write.
+
+@item O_CREAT
+Create the file if it does not exist.
+
+@item O_NONBLOCK
+Non-blocking mode.
+
+@item O_SYNC
+Wait for writes to complete.
+
+@item O_ASYNC
+Asynchronous I/O.
+@end vtable
+
+@item F_SETFL
+Set the file status flags for @var{fid} to the value specified by @var{arg}.
+ The only flags that can be changed are @w{@code{O_APPEND}} and
+@w{@code{O_NONBLOCK}}.
+@end vtable
+
+If successful, @var{err} is 0 and @var{msg} is an empty string.  Otherwise,
+@var{err} is nonzero and @var{msg} contains a system-dependent error
+message.
+@seealso{fopen, dup2}
+@end deftypefn */)
 {
   if (args.length () != 3)
     print_usage ();
@@ -451,27 +451,27 @@
 }
 
 DEFUNX ("fork", Ffork, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{pid}, @var{msg}] =} fork ()\n\
-Create a copy of the current process.\n\
-\n\
-Fork can return one of the following values:\n\
-\n\
-@table @asis\n\
-@item > 0\n\
-You are in the parent process.  The value returned from @code{fork} is the\n\
-process id of the child process.  You should probably arrange to wait for\n\
-any child processes to exit.\n\
-\n\
-@item 0\n\
-You are in the child process.  You can call @code{exec} to start another\n\
-process.  If that fails, you should probably call @code{exit}.\n\
-\n\
-@item < 0\n\
-The call to @code{fork} failed for some reason.  You must take evasive\n\
-action.  A system dependent error message will be waiting in @var{msg}.\n\
-@end table\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{pid}, @var{msg}] =} fork ()
+Create a copy of the current process.
+
+Fork can return one of the following values:
+
+@table @asis
+@item > 0
+You are in the parent process.  The value returned from @code{fork} is the
+process id of the child process.  You should probably arrange to wait for
+any child processes to exit.
+
+@item 0
+You are in the child process.  You can call @code{exec} to start another
+process.  If that fails, you should probably call @code{exit}.
+
+@item < 0
+The call to @code{fork} failed for some reason.  You must take evasive
+action.  A system dependent error message will be waiting in @var{msg}.
+@end table
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -487,10 +487,10 @@
 }
 
 DEFUNX ("getpgrp", Fgetpgrp, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {pgid =} getpgrp ()\n\
-Return the process group id of the current process.\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {pgid =} getpgrp ()
+Return the process group id of the current process.
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -503,11 +503,11 @@
 }
 
 DEFUNX ("getpid", Fgetpid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {pid =} getpid ()\n\
-Return the process id of the current process.\n\
-@seealso{getppid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {pid =} getpid ()
+Return the process id of the current process.
+@seealso{getppid}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -516,11 +516,11 @@
 }
 
 DEFUNX ("getppid", Fgetppid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {pid =} getppid ()\n\
-Return the process id of the parent process.\n\
-@seealso{getpid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {pid =} getppid ()
+Return the process id of the parent process.
+@seealso{getpid}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -529,11 +529,11 @@
 }
 
 DEFUNX ("getegid", Fgetegid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {egid =} getegid ()\n\
-Return the effective group id of the current process.\n\
-@seealso{getgid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {egid =} getegid ()
+Return the effective group id of the current process.
+@seealso{getgid}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -542,11 +542,11 @@
 }
 
 DEFUNX ("getgid", Fgetgid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {gid =} getgid ()\n\
-Return the real group id of the current process.\n\
-@seealso{getegid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {gid =} getgid ()
+Return the real group id of the current process.
+@seealso{getegid}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -555,11 +555,11 @@
 }
 
 DEFUNX ("geteuid", Fgeteuid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {euid =} geteuid ()\n\
-Return the effective user id of the current process.\n\
-@seealso{getuid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {euid =} geteuid ()
+Return the effective user id of the current process.
+@seealso{getuid}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -568,11 +568,11 @@
 }
 
 DEFUNX ("getuid", Fgetuid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {uid =} getuid ()\n\
-Return the real user id of the current process.\n\
-@seealso{geteuid}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {uid =} getuid ()
+Return the real user id of the current process.
+@seealso{geteuid}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -581,26 +581,26 @@
 }
 
 DEFUNX ("kill", Fkill, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{err}, @var{msg}] =} kill (@var{pid}, @var{sig})\n\
-Send signal @var{sig} to process @var{pid}.\n\
-\n\
-If @var{pid} is positive, then signal @var{sig} is sent to @var{pid}.\n\
-\n\
-If @var{pid} is 0, then signal @var{sig} is sent to every process\n\
-in the process group of the current process.\n\
-\n\
-If @var{pid} is -1, then signal @var{sig} is sent to every process\n\
-except process 1.\n\
-\n\
-If @var{pid} is less than -1, then signal @var{sig} is sent to every\n\
-process in the process group @var{-pid}.\n\
-\n\
-If @var{sig} is 0, then no signal is sent, but error checking is still\n\
-performed.\n\
-\n\
-Return 0 if successful, otherwise return -1.\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{err}, @var{msg}] =} kill (@var{pid}, @var{sig})
+Send signal @var{sig} to process @var{pid}.
+
+If @var{pid} is positive, then signal @var{sig} is sent to @var{pid}.
+
+If @var{pid} is 0, then signal @var{sig} is sent to every process
+in the process group of the current process.
+
+If @var{pid} is -1, then signal @var{sig} is sent to every process
+except process 1.
+
+If @var{pid} is less than -1, then signal @var{sig} is sent to every
+process in the process group @var{-pid}.
+
+If @var{sig} is 0, then no signal is sent, but error checking is still
+performed.
+
+Return 0 if successful, otherwise return -1.
+@end deftypefn */)
 {
   if (args.length () != 2)
     print_usage ();
@@ -617,15 +617,15 @@
 }
 
 DEFUNX ("lstat", Flstat, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn  {} {@var{info} =} lstat (@var{symlink})\n\
-@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{symlink})\n\
-Return a structure @var{info} containing information about the symbolic link\n\
-@var{symlink}.\n\
-\n\
-The function outputs are described in the documentation for @code{stat}.\n\
-@seealso{stat, symlink}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn  {} {@var{info} =} lstat (@var{symlink})
+@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{symlink})
+Return a structure @var{info} containing information about the symbolic link
+@var{symlink}.
+
+The function outputs are described in the documentation for @code{stat}.
+@seealso{stat, symlink}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -666,19 +666,19 @@
 }
 
 DEFUNX ("mkfifo", Fmkfifo, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn  {} {@var{err} =} mkfifo (@var{name}, @var{mode})\n\
-@deftypefnx {} {[@var{err}, @var{msg}] =} mkfifo (@var{name}, @var{mode})\n\
-Create a FIFO special file named @var{name} with file mode @var{mode}.\n\
-\n\
-@var{mode} is interpreted as an octal number and is subject to umask\n\
-processing.  The final calculated mode is @code{@var{mode} - @var{umask}}.\n\
-\n\
-If successful, @var{err} is 0 and @var{msg} is an empty string.\n\
-Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent\n\
-error message.\n\
-@seealso{pipe, umask}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn  {} {@var{err} =} mkfifo (@var{name}, @var{mode})
+@deftypefnx {} {[@var{err}, @var{msg}] =} mkfifo (@var{name}, @var{mode})
+Create a FIFO special file named @var{name} with file mode @var{mode}.
+
+@var{mode} is interpreted as an octal number and is subject to umask
+processing.  The final calculated mode is @code{@var{mode} - @var{umask}}.
+
+If successful, @var{err} is 0 and @var{msg} is an empty string.
+Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent
+error message.
+@seealso{pipe, umask}
+@end deftypefn */)
 {
   if (args.length () != 2)
     print_usage ();
@@ -713,16 +713,16 @@
 */
 
 DEFUNX ("pipe", Fpipe, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{read_fd}, @var{write_fd}, @var{err}, @var{msg}] =} pipe ()\n\
-Create a pipe and return the reading and writing ends of the pipe into\n\
-@var{read_fd} and @var{write_fd} respectively.\n\
-\n\
-If successful, @var{err} is 0 and @var{msg} is an empty string.\n\
-Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent\n\
-error message.\n\
-@seealso{mkfifo}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{read_fd}, @var{write_fd}, @var{err}, @var{msg}] =} pipe ()
+Create a pipe and return the reading and writing ends of the pipe into
+@var{read_fd} and @var{write_fd} respectively.
+
+If successful, @var{err} is 0 and @var{msg} is an empty string.
+Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent
+error message.
+@seealso{mkfifo}
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -753,100 +753,100 @@
 }
 
 DEFUNX ("stat", Fstat, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn  {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{file})\n\
-@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{fid})\n\
-@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{file})\n\
-@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{fid})\n\
-Return a structure @var{info} containing the following information about\n\
-@var{file} or file identifier @var{fid}.\n\
-\n\
-@table @code\n\
-@item dev\n\
-ID of device containing a directory entry for this file.\n\
-\n\
-@item ino\n\
-File number of the file.\n\
-\n\
-@item mode\n\
-File mode, as an integer.  Use the functions @w{@code{S_ISREG}},\n\
-@w{@code{S_ISDIR}}, @w{@code{S_ISCHR}}, @w{@code{S_ISBLK}},\n\
-@w{@code{S_ISFIFO}}, @w{@code{S_ISLNK}}, or @w{@code{S_ISSOCK}} to extract\n\
-information from this value.\n\
-\n\
-@item modestr\n\
-File mode, as a string of ten letters or dashes as would be returned by\n\
-@kbd{ls -l}.\n\
-\n\
-@item nlink\n\
-Number of links.\n\
-\n\
-@item uid\n\
-User ID of file's owner.\n\
-\n\
-@item gid\n\
-Group ID of file's group.\n\
-\n\
-@item rdev\n\
-ID of device for block or character special files.\n\
-\n\
-@item size\n\
-Size in bytes.\n\
-\n\
-@item atime\n\
-Time of last access in the same form as time values returned from\n\
-@code{time}.  @xref{Timing Utilities}.\n\
-\n\
-@item mtime\n\
-Time of last modification in the same form as time values returned from\n\
-@code{time}.  @xref{Timing Utilities}.\n\
-\n\
-@item ctime\n\
-Time of last file status change in the same form as time values\n\
-returned from @code{time}.  @xref{Timing Utilities}.\n\
-\n\
-@item blksize\n\
-Size of blocks in the file.\n\
-\n\
-@item blocks\n\
-Number of blocks allocated for file.\n\
-@end table\n\
-\n\
-If the call is successful @var{err} is 0 and @var{msg} is an empty string.\n\
-If the file does not exist, or some other error occurs, @var{info} is an\n\
-empty matrix, @var{err} is @minus{}1, and @var{msg} contains the\n\
-corresponding system error message.\n\
-\n\
-If @var{file} is a symbolic link, @code{stat} will return information about\n\
-the actual file that is referenced by the link.  Use @code{lstat} if you\n\
-want information about the symbolic link itself.\n\
-\n\
-For example:\n\
-\n\
-@example\n\
-[info, err, msg] = stat (\"/vmlinuz\")\n\
-  @result{} info =\n\
-     @{\n\
-       atime = 855399756\n\
-       rdev = 0\n\
-       ctime = 847219094\n\
-       uid = 0\n\
-       size = 389218\n\
-       blksize = 4096\n\
-       mtime = 847219094\n\
-       gid = 6\n\
-       nlink = 1\n\
-       blocks = 768\n\
-       mode = -rw-r--r--\n\
-       modestr = -rw-r--r--\n\
-       ino = 9316\n\
-       dev = 2049\n\
-     @}\n\
-  @result{} err = 0\n\
-  @result{} msg =\n\
-@end example\n\
-@seealso{lstat, ls, dir}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn  {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{file})
+@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} stat (@var{fid})
+@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{file})
+@deftypefnx {} {[@var{info}, @var{err}, @var{msg}] =} lstat (@var{fid})
+Return a structure @var{info} containing the following information about
+@var{file} or file identifier @var{fid}.
+
+@table @code
+@item dev
+ID of device containing a directory entry for this file.
+
+@item ino
+File number of the file.
+
+@item mode
+File mode, as an integer.  Use the functions @w{@code{S_ISREG}},
+@w{@code{S_ISDIR}}, @w{@code{S_ISCHR}}, @w{@code{S_ISBLK}},
+@w{@code{S_ISFIFO}}, @w{@code{S_ISLNK}}, or @w{@code{S_ISSOCK}} to extract
+information from this value.
+
+@item modestr
+File mode, as a string of ten letters or dashes as would be returned by
+@kbd{ls -l}.
+
+@item nlink
+Number of links.
+
+@item uid
+User ID of file's owner.
+
+@item gid
+Group ID of file's group.
+
+@item rdev
+ID of device for block or character special files.
+
+@item size
+Size in bytes.
+
+@item atime
+Time of last access in the same form as time values returned from
+@code{time}.  @xref{Timing Utilities}.
+
+@item mtime
+Time of last modification in the same form as time values returned from
+@code{time}.  @xref{Timing Utilities}.
+
+@item ctime
+Time of last file status change in the same form as time values
+returned from @code{time}.  @xref{Timing Utilities}.
+
+@item blksize
+Size of blocks in the file.
+
+@item blocks
+Number of blocks allocated for file.
+@end table
+
+If the call is successful @var{err} is 0 and @var{msg} is an empty string.
+If the file does not exist, or some other error occurs, @var{info} is an
+empty matrix, @var{err} is @minus{}1, and @var{msg} contains the
+corresponding system error message.
+
+If @var{file} is a symbolic link, @code{stat} will return information about
+the actual file that is referenced by the link.  Use @code{lstat} if you
+want information about the symbolic link itself.
+
+For example:
+
+@example
+[info, err, msg] = stat ("/vmlinuz")
+  @result{} info =
+     @{
+       atime = 855399756
+       rdev = 0
+       ctime = 847219094
+       uid = 0
+       size = 389218
+       blksize = 4096
+       mtime = 847219094
+       gid = 6
+       nlink = 1
+       blocks = 768
+       mode = -rw-r--r--
+       modestr = -rw-r--r--
+       ino = 9316
+       dev = 2049
+     @}
+  @result{} err = 0
+  @result{} msg =
+@end example
+@seealso{lstat, ls, dir}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -874,14 +874,14 @@
 }
 
 DEFUNX ("S_ISREG", FS_ISREG, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISREG (@var{mode})\n\
-Return true if @var{mode} corresponds to a regular file.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISREG (@var{mode})
+Return true if @var{mode} corresponds to a regular file.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -892,14 +892,14 @@
 }
 
 DEFUNX ("S_ISDIR", FS_ISDIR, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISDIR (@var{mode})\n\
-Return true if @var{mode} corresponds to a directory.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISDIR (@var{mode})
+Return true if @var{mode} corresponds to a directory.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -910,14 +910,14 @@
 }
 
 DEFUNX ("S_ISCHR", FS_ISCHR, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISCHR (@var{mode})\n\
-Return true if @var{mode} corresponds to a character device.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISCHR (@var{mode})
+Return true if @var{mode} corresponds to a character device.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -928,14 +928,14 @@
 }
 
 DEFUNX ("S_ISBLK", FS_ISBLK, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISBLK (@var{mode})\n\
-Return true if @var{mode} corresponds to a block device.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISBLK (@var{mode})
+Return true if @var{mode} corresponds to a block device.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -946,14 +946,14 @@
 }
 
 DEFUNX ("S_ISFIFO", FS_ISFIFO, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISFIFO (@var{mode})\n\
-Return true if @var{mode} corresponds to a fifo.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISFIFO (@var{mode})
+Return true if @var{mode} corresponds to a fifo.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -964,14 +964,14 @@
 }
 
 DEFUNX ("S_ISLNK", FS_ISLNK, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISLNK (@var{mode})\n\
-Return true if @var{mode} corresponds to a symbolic link.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISLNK (@var{mode})
+Return true if @var{mode} corresponds to a symbolic link.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -982,14 +982,14 @@
 }
 
 DEFUNX ("S_ISSOCK", FS_ISSOCK, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} S_ISSOCK (@var{mode})\n\
-Return true if @var{mode} corresponds to a socket.\n\
-\n\
-The value of @var{mode} is assumed to be returned from a call to\n\
-@code{stat}.\n\
-@seealso{stat, lstat}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} S_ISSOCK (@var{mode})
+Return true if @var{mode} corresponds to a socket.
+
+The value of @var{mode} is assumed to be returned from a call to
+@code{stat}.
+@seealso{stat, lstat}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1000,10 +1000,10 @@
 }
 
 DEFUN (gethostname, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn {} {} gethostname ()\n\
-Return the hostname of the system where Octave is running.\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn {} {} gethostname ()
+Return the hostname of the system where Octave is running.
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -1012,29 +1012,29 @@
 }
 
 DEFUN (uname, args, ,
-       "-*- texinfo -*-\n\
-@deftypefn {} {[@var{uts}, @var{err}, @var{msg}] =} uname ()\n\
-Return system information in the structure.\n\
-\n\
-For example:\n\
-\n\
-@example\n\
-@group\n\
-uname ()\n\
-   @result{} @{\n\
-         sysname = x86_64\n\
-         nodename = segfault\n\
-         release = 2.6.15-1-amd64-k8-smp\n\
-         version = Linux\n\
-         machine = #2 SMP Thu Feb 23 04:57:49 UTC 2006\n\
-      @}\n\
-@end group\n\
-@end example\n\
-\n\
-If successful, @var{err} is 0 and @var{msg} is an empty string.\n\
-Otherwise, @var{err} is nonzero and @var{msg} contains a\n\
-system-dependent error message.\n\
-@end deftypefn")
+       doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{uts}, @var{err}, @var{msg}] =} uname ()
+Return system information in the structure.
+
+For example:
+
+@example
+@group
+uname ()
+   @result{} @{
+         sysname = x86_64
+         nodename = segfault
+         release = 2.6.15-1-amd64-k8-smp
+         version = Linux
+         machine = #2 SMP Thu Feb 23 04:57:49 UTC 2006
+      @}
+@end group
+@end example
+
+If successful, @var{err} is 0 and @var{msg} is an empty string.
+Otherwise, @var{err} is nonzero and @var{msg} contains a
+system-dependent error message.
+@end deftypefn */)
 {
   if (args.length () != 0)
     print_usage ();
@@ -1053,15 +1053,15 @@
 }
 
 DEFUNX ("unlink", Funlink, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{err}, @var{msg}] =} unlink (@var{file})\n\
-Delete the file named @var{file}.\n\
-\n\
-If successful, @var{err} is 0 and @var{msg} is an empty string.\n\
-Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent\n\
-error message.\n\
-@seealso{delete, rmdir}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{err}, @var{msg}] =} unlink (@var{file})
+Delete the file named @var{file}.
+
+If successful, @var{err} is 0 and @var{msg} is an empty string.
+Otherwise, @var{err} is nonzero and @var{msg} contains a system-dependent
+error message.
+@seealso{delete, rmdir}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1076,51 +1076,51 @@
 }
 
 DEFUNX ("waitpid", Fwaitpid, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{pid}, @var{status}, @var{msg}] =} waitpid (@var{pid}, @var{options})\n\
-Wait for process @var{pid} to terminate.\n\
-\n\
-The @var{pid} argument can be:\n\
-\n\
-@table @asis\n\
-@item @minus{}1\n\
-Wait for any child process.\n\
-\n\
-@item 0\n\
-Wait for any child process whose process group ID is equal to that of the\n\
-Octave interpreter process.\n\
-\n\
-@item > 0\n\
-Wait for termination of the child process with ID @var{pid}.\n\
-@end table\n\
-\n\
-The @var{options} argument can be a bitwise OR of zero or more of the\n\
-following constants:\n\
-\n\
-@table @code\n\
-@item 0\n\
-Wait until signal is received or a child process exits (this is the default\n\
-if the @var{options} argument is missing).\n\
-\n\
-@item WNOHANG\n\
-Do not hang if status is not immediately available.\n\
-\n\
-@item WUNTRACED\n\
-Report the status of any child processes that are stopped, and whose status\n\
-has not yet been reported since they stopped.\n\
-\n\
-@item WCONTINUE\n\
-Return if a stopped child has been resumed by delivery of @code{SIGCONT}.\n\
-This value may not be meaningful on all systems.\n\
-@end table\n\
-\n\
-If the returned value of @var{pid} is greater than 0, it is the process ID\n\
-of the child process that exited.  If an error occurs, @var{pid} will be\n\
-less than zero and @var{msg} will contain a system-dependent error message.\n\
-The value of @var{status} contains additional system-dependent information\n\
-about the subprocess that exited.\n\
-@seealso{WCONTINUE, WCOREDUMP, WEXITSTATUS, WIFCONTINUED, WIFSIGNALED, WIFSTOPPED, WNOHANG, WSTOPSIG, WTERMSIG, WUNTRACED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{pid}, @var{status}, @var{msg}] =} waitpid (@var{pid}, @var{options})
+Wait for process @var{pid} to terminate.
+
+The @var{pid} argument can be:
+
+@table @asis
+@item @minus{}1
+Wait for any child process.
+
+@item 0
+Wait for any child process whose process group ID is equal to that of the
+Octave interpreter process.
+
+@item > 0
+Wait for termination of the child process with ID @var{pid}.
+@end table
+
+The @var{options} argument can be a bitwise OR of zero or more of the
+following constants:
+
+@table @code
+@item 0
+Wait until signal is received or a child process exits (this is the default
+if the @var{options} argument is missing).
+
+@item WNOHANG
+Do not hang if status is not immediately available.
+
+@item WUNTRACED
+Report the status of any child processes that are stopped, and whose status
+has not yet been reported since they stopped.
+
+@item WCONTINUE
+Return if a stopped child has been resumed by delivery of @code{SIGCONT}.
+This value may not be meaningful on all systems.
+@end table
+
+If the returned value of @var{pid} is greater than 0, it is the process ID
+of the child process that exited.  If an error occurs, @var{pid} will be
+less than zero and @var{msg} will contain a system-dependent error message.
+The value of @var{status} contains additional system-dependent information
+about the subprocess that exited.
+@seealso{WCONTINUE, WCOREDUMP, WEXITSTATUS, WIFCONTINUED, WIFSIGNALED, WIFSTOPPED, WNOHANG, WSTOPSIG, WTERMSIG, WUNTRACED}
+@end deftypefn */)
 {
   int nargin = args.length ();
 
@@ -1143,12 +1143,12 @@
 }
 
 DEFUNX ("WIFEXITED", FWIFEXITED, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WIFEXITED (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-true if the child terminated normally.\n\
-@seealso{waitpid, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WIFEXITED (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+true if the child terminated normally.
+@seealso{waitpid, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1159,14 +1159,14 @@
 }
 
 DEFUNX ("WEXITSTATUS", FWEXITSTATUS, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WEXITSTATUS (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-the exit status of the child.\n\
-\n\
-This function should only be employed if @code{WIFEXITED} returned true.\n\
-@seealso{waitpid, WIFEXITED, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WEXITSTATUS (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+the exit status of the child.
+
+This function should only be employed if @code{WIFEXITED} returned true.
+@seealso{waitpid, WIFEXITED, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1177,12 +1177,12 @@
 }
 
 DEFUNX ("WIFSIGNALED", FWIFSIGNALED, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WIFSIGNALED (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-true if the child process was terminated by a signal.\n\
-@seealso{waitpid, WIFEXITED, WEXITSTATUS, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WIFSIGNALED (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+true if the child process was terminated by a signal.
+@seealso{waitpid, WIFEXITED, WEXITSTATUS, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1193,14 +1193,14 @@
 }
 
 DEFUNX ("WTERMSIG", FWTERMSIG, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WTERMSIG (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-the number of the signal that caused the child process to terminate.\n\
-\n\
-This function should only be employed if @code{WIFSIGNALED} returned true.\n\
-@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WTERMSIG (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+the number of the signal that caused the child process to terminate.
+
+This function should only be employed if @code{WIFSIGNALED} returned true.
+@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WCOREDUMP, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1211,16 +1211,16 @@
 }
 
 DEFUNX ("WCOREDUMP", FWCOREDUMP, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WCOREDUMP (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-true if the child produced a core dump.\n\
-\n\
-This function should only be employed if @code{WIFSIGNALED} returned true.\n\
-The macro used to implement this function is not specified in POSIX.1-2001\n\
-and is not available on some Unix implementations (e.g., AIX, SunOS).\n\
-@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WCOREDUMP (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+true if the child produced a core dump.
+
+This function should only be employed if @code{WIFSIGNALED} returned true.
+The macro used to implement this function is not specified in POSIX.1-2001
+and is not available on some Unix implementations (e.g., AIX, SunOS).
+@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WIFSTOPPED, WSTOPSIG, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1231,15 +1231,15 @@
 }
 
 DEFUNX ("WIFSTOPPED", FWIFSTOPPED, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WIFSTOPPED (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-true if the child process was stopped by delivery of a signal.\n\
-\n\
-This is only possible if the call was done using @code{WUNTRACED} or when\n\
-the child is being traced (see ptrace(2)).\n\
-@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WSTOPSIG, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WIFSTOPPED (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+true if the child process was stopped by delivery of a signal.
+
+This is only possible if the call was done using @code{WUNTRACED} or when
+the child is being traced (see ptrace(2)).
+@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WSTOPSIG, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1250,14 +1250,14 @@
 }
 
 DEFUNX ("WSTOPSIG", FWSTOPSIG, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WSTOPSIG (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-the number of the signal which caused the child to stop.\n\
-\n\
-This function should only be employed if @code{WIFSTOPPED} returned true.\n\
-@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WIFCONTINUED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WSTOPSIG (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+the number of the signal which caused the child to stop.
+
+This function should only be employed if @code{WIFSTOPPED} returned true.
+@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WIFCONTINUED}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1268,12 +1268,12 @@
 }
 
 DEFUNX ("WIFCONTINUED", FWIFCONTINUED, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WIFCONTINUED (@var{status})\n\
-Given @var{status} from a call to @code{waitpid}, return\n\
-true if the child process was resumed by delivery of @code{SIGCONT}.\n\
-@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WIFCONTINUED (@var{status})
+Given @var{status} from a call to @code{waitpid}, return
+true if the child process was resumed by delivery of @code{SIGCONT}.
+@seealso{waitpid, WIFEXITED, WEXITSTATUS, WIFSIGNALED, WTERMSIG, WCOREDUMP, WIFSTOPPED, WSTOPSIG}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1284,13 +1284,13 @@
 }
 
 DEFUNX ("canonicalize_file_name", Fcanonicalize_file_name, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {[@var{cname}, @var{status}, @var{msg}] =} canonicalize_file_name (@var{fname})\n\
-Return the canonical name of file @var{fname}.\n\
-\n\
-If the file does not exist the empty string (\"\") is returned.\n\
-@seealso{make_absolute_filename, is_absolute_filename, is_rooted_relative_filename}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {[@var{cname}, @var{status}, @var{msg}] =} canonicalize_file_name (@var{fname})
+Return the canonical name of file @var{fname}.
+
+If the file does not exist the empty string ("") is returned.
+@seealso{make_absolute_filename, is_absolute_filename, is_rooted_relative_filename}
+@end deftypefn */)
 {
   if (args.length () != 1)
     print_usage ();
@@ -1314,12 +1314,12 @@
 }
 
 DEFUNX ("F_DUPFD", FF_DUPFD, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} F_DUPFD ()\n\
-Return the numerical value to pass to @code{fcntl} to return\n\
-a duplicate file descriptor.\n\
-@seealso{fcntl, F_GETFD, F_GETFL, F_SETFD, F_SETFL}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} F_DUPFD ()
+Return the numerical value to pass to @code{fcntl} to return
+a duplicate file descriptor.
+@seealso{fcntl, F_GETFD, F_GETFL, F_SETFD, F_SETFL}
+@end deftypefn */)
 {
   static int val = octave_f_dupfd_wrapper ();
 
@@ -1330,12 +1330,12 @@
 }
 
 DEFUNX ("F_GETFD", FF_GETFD, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} F_GETFD ()\n\
-Return the numerical value to pass to @code{fcntl} to return\n\
-the file descriptor flags.\n\
-@seealso{fcntl, F_DUPFD, F_GETFL, F_SETFD, F_SETFL}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} F_GETFD ()
+Return the numerical value to pass to @code{fcntl} to return
+the file descriptor flags.
+@seealso{fcntl, F_DUPFD, F_GETFL, F_SETFD, F_SETFL}
+@end deftypefn */)
 {
   static int val = octave_f_getfd_wrapper ();
 
@@ -1346,12 +1346,12 @@
 }
 
 DEFUNX ("F_GETFL", FF_GETFL, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} F_GETFL ()\n\
-Return the numerical value to pass to @code{fcntl} to return\n\
-the file status flags.\n\
-@seealso{fcntl, F_DUPFD, F_GETFD, F_SETFD, F_SETFL}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} F_GETFL ()
+Return the numerical value to pass to @code{fcntl} to return
+the file status flags.
+@seealso{fcntl, F_DUPFD, F_GETFD, F_SETFD, F_SETFL}
+@end deftypefn */)
 {
   static int val = octave_f_getfl_wrapper ();
 
@@ -1362,12 +1362,12 @@
 }
 
 DEFUNX ("F_SETFD", FF_SETFD, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} F_SETFD ()\n\
-Return the numerical value to pass to @code{fcntl} to set the file\n\
-descriptor flags.\n\
-@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFL}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} F_SETFD ()
+Return the numerical value to pass to @code{fcntl} to set the file
+descriptor flags.
+@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFL}
+@end deftypefn */)
 {
   static int val = octave_f_setfd_wrapper ();
 
@@ -1378,12 +1378,12 @@
 }
 
 DEFUNX ("F_SETFL", FF_SETFL, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} F_SETFL ()\n\
-Return the numerical value to pass to @code{fcntl} to set the file\n\
-status flags.\n\
-@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFD}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} F_SETFL ()
+Return the numerical value to pass to @code{fcntl} to set the file
+status flags.
+@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFD}
+@end deftypefn */)
 {
   static int val = octave_f_setfl_wrapper ();
 
@@ -1394,13 +1394,13 @@
 }
 
 DEFUNX ("O_APPEND", FO_APPEND, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_APPEND ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate each write operation appends,\n\
-or that may be passed to @code{fcntl} to set the write mode to append.\n\
-@seealso{fcntl, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_APPEND ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate each write operation appends,
+or that may be passed to @code{fcntl} to set the write mode to append.
+@seealso{fcntl, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_append_wrapper ();
 
@@ -1411,12 +1411,12 @@
 }
 
 DEFUNX ("O_ASYNC", FO_ASYNC, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_ASYNC ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate asynchronous I/O.\n\
-@seealso{fcntl, O_APPEND, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_ASYNC ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate asynchronous I/O.
+@seealso{fcntl, O_APPEND, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_async_wrapper ();
 
@@ -1427,13 +1427,13 @@
 }
 
 DEFUNX ("O_CREAT", FO_CREAT, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_CREAT ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that a file should be created if it\n\
-does not exist.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_CREAT ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that a file should be created if it
+does not exist.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_creat_wrapper ();
 
@@ -1444,12 +1444,12 @@
 }
 
 DEFUNX ("O_EXCL", FO_EXCL, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_EXCL ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that file locking is used.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_EXCL ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that file locking is used.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_excl_wrapper ();
 
@@ -1460,13 +1460,13 @@
 }
 
 DEFUNX ("O_NONBLOCK", FO_NONBLOCK, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_NONBLOCK ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that non-blocking I/O is in use,\n\
-or that may be passsed to @code{fcntl} to set non-blocking I/O.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_NONBLOCK ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that non-blocking I/O is in use,
+or that may be passsed to @code{fcntl} to set non-blocking I/O.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_nonblock_wrapper ();
 
@@ -1477,12 +1477,12 @@
 }
 
 DEFUNX ("O_RDONLY", FO_RDONLY, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_RDONLY ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that a file is open for reading only.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_RDONLY ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that a file is open for reading only.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_rdonly_wrapper ();
 
@@ -1493,13 +1493,13 @@
 }
 
 DEFUNX ("O_RDWR", FO_RDWR, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_RDWR ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that a file is open for both reading\n\
-and writing.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_SYNC, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_RDWR ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that a file is open for both reading
+and writing.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_SYNC, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_rdwr_wrapper ();
 
@@ -1510,13 +1510,13 @@
 }
 
 DEFUNX ("O_SYNC", FO_SYNC, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_SYNC ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that a file is open for synchronous\n\
-I/O.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_TRUNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_SYNC ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that a file is open for synchronous
+I/O.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_TRUNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_sync_wrapper ();
 
@@ -1527,13 +1527,13 @@
 }
 
 DEFUNX ("O_TRUNC", FO_TRUNC, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_TRUNC ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that if file exists, it should be\n\
-truncated when writing.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_WRONLY}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_TRUNC ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that if file exists, it should be
+truncated when writing.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_WRONLY}
+@end deftypefn */)
 {
   static int val = octave_o_trunc_wrapper ();
 
@@ -1544,12 +1544,12 @@
 }
 
 DEFUNX ("O_WRONLY", FO_WRONLY, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} O_WRONLY ()\n\
-Return the numerical value of the file status flag that may be\n\
-returned by @code{fcntl} to indicate that a file is open for writing only.\n\
-@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} O_WRONLY ()
+Return the numerical value of the file status flag that may be
+returned by @code{fcntl} to indicate that a file is open for writing only.
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC}
+@end deftypefn */)
 {
   static int val = octave_o_wronly_wrapper ();
 
@@ -1560,37 +1560,37 @@
 }
 
 DEFUNX ("WNOHANG", FWNOHANG, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WNOHANG ()\n\
-Return the numerical value of the option argument that may be\n\
-passed to @code{waitpid} to indicate that it should return its status\n\
-immediately instead of waiting for a process to exit.\n\
-@seealso{waitpid, WUNTRACED, WCONTINUE}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WNOHANG ()
+Return the numerical value of the option argument that may be
+passed to @code{waitpid} to indicate that it should return its status
+immediately instead of waiting for a process to exit.
+@seealso{waitpid, WUNTRACED, WCONTINUE}
+@end deftypefn */)
 {
   return const_value (args, octave::sys::wnohang ());
 }
 
 DEFUNX ("WUNTRACED", FWUNTRACED, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WUNTRACED ()\n\
-Return the numerical value of the option argument that may be\n\
-passed to @code{waitpid} to indicate that it should also return if the child\n\
-process has stopped but is not traced via the @code{ptrace} system call\n\
-@seealso{waitpid, WNOHANG, WCONTINUE}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WUNTRACED ()
+Return the numerical value of the option argument that may be
+passed to @code{waitpid} to indicate that it should also return if the child
+process has stopped but is not traced via the @code{ptrace} system call
+@seealso{waitpid, WNOHANG, WCONTINUE}
+@end deftypefn */)
 {
   return const_value (args, octave::sys::wuntraced ());
 }
 
 DEFUNX ("WCONTINUE", FWCONTINUE, args, ,
-        "-*- texinfo -*-\n\
-@deftypefn {} {} WCONTINUE ()\n\
-Return the numerical value of the option argument that may be\n\
-passed to @code{waitpid} to indicate that it should also return if a stopped\n\
-child has been resumed by delivery of a @code{SIGCONT} signal.\n\
-@seealso{waitpid, WNOHANG, WUNTRACED}\n\
-@end deftypefn")
+        doc: /* -*- texinfo -*-
+@deftypefn {} {} WCONTINUE ()
+Return the numerical value of the option argument that may be
+passed to @code{waitpid} to indicate that it should also return if a stopped
+child has been resumed by delivery of a @code{SIGCONT} signal.
+@seealso{waitpid, WNOHANG, WUNTRACED}
+@end deftypefn */)
 {
   return const_value (args, octave::sys::wcontinue ());
 }