changeset 5333:ac8d64b9e76a

[project @ 2005-05-02 18:15:20 by jwe]
author jwe
date Mon, 02 May 2005 18:16:51 +0000
parents 15db952ced2e
children f9afe97d6d14
files scripts/ChangeLog scripts/mkdoc src/ChangeLog src/DLD-FUNCTIONS/qz.cc src/Makefile.in src/data.cc src/defaults.cc src/file-io.cc src/mkgendoc src/sighandlers.cc src/syscalls.cc src/toplev.cc
diffstat 12 files changed, 101 insertions(+), 66 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/ChangeLog	Mon May 02 17:58:53 2005 +0000
+++ b/scripts/ChangeLog	Mon May 02 18:16:51 2005 +0000
@@ -1,3 +1,7 @@
+2005-05-02  John W. Eaton  <jwe@octave.org>
+
+	* mkdoc: Print header message.
+
 2005-04-28  John W. Eaton  <jwe@octave.org>
 
 	* configure.in (AC_CONFIG_SRCDIR): Look for startup/inputrc, not
--- a/scripts/mkdoc	Mon May 02 17:58:53 2005 +0000
+++ b/scripts/mkdoc	Mon May 02 18:16:51 2005 +0000
@@ -9,6 +9,13 @@
 fi
 
 if test -f gethelp; then
+  cat << EOF
+### DO NOT EDIT!
+###
+### This file is generated automatically from the Octave sources.
+### Edit those files instead and run make to update this file.
+
+EOF
   find $d -name '*.m' | \
     sed "s,\(.*\)/\(.*\)\.m,./gethelp \2 < & | sed 's/^ *@/@/'," | \
     /bin/sh
--- a/src/ChangeLog	Mon May 02 17:58:53 2005 +0000
+++ b/src/ChangeLog	Mon May 02 18:16:51 2005 +0000
@@ -1,3 +1,12 @@
+2005-05-02  John W. Eaton  <jwe@octave.org>
+
+	* mkgendoc (main): Print header message.
+
+2005-05-02  Bill Denney  <denney@seas.upenn.edu>
+
+	* data.cc, defaults.cc, DLD-FUNCTIONS/qz.cc, file-io.cc,
+	sighandlers.cc, syscalls.cc: Docstring fixes.
+
 2005-05-02  John W. Eaton  <jwe@octave.org>
 
 	* pr-output.cc (octave_print_internal (std::ostream&,
--- a/src/DLD-FUNCTIONS/qz.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/DLD-FUNCTIONS/qz.cc	Mon May 02 18:16:51 2005 +0000
@@ -278,7 +278,7 @@
 Note: qz performs permutation balancing, but not scaling (see balance).\n\
       Order of output arguments was selected for compatibility with MATLAB\n\
 \n\
-See also: balance, dare, eig, schur\n\
+@seealso{balance, dare, eig, schur}\n\
 @end deftypefn")
 {
   octave_value_list retval;
--- a/src/Makefile.in	Mon May 02 17:58:53 2005 +0000
+++ b/src/Makefile.in	Mon May 02 18:16:51 2005 +0000
@@ -235,7 +235,7 @@
 OCTAVE_LFLAGS = -L$(TOPDIR)/liboctave -L$(TOPDIR)/libcruft \
   -L$(TOPDIR)/src $(RLD_FLAG)
 
-if ($(ENABLE_DYNAMIC_LINKING), true)
+ifeq ($(ENABLE_DYNAMIC_LINKING), true)
   OCTAVE_LIBS = $(LIBOCTINTERP) $(LIBOCTAVE) \
     $(SPECIAL_MATH_LIB) $(LIBCRUFT) \
     $(LIBPLPLOT) $(LIBDLFCN)
--- a/src/data.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/data.cc	Mon May 02 18:16:51 2005 +0000
@@ -1826,10 +1826,10 @@
 {
 
 #define IMAGINARY_DOC_STRING "-*- texinfo -*-\n\
-@defvr {Built-in Variable} I\n\
-@defvrx {Built-in Variable} J\n\
-@defvrx {Built-in Variable} i\n\
-@defvrx {Built-in Variable} j\n\
+@defvr {Built-in Constant} I\n\
+@defvrx {Built-in Constant} J\n\
+@defvrx {Built-in Constant} i\n\
+@defvrx {Built-in Constant} j\n\
 A pure imaginary number, defined as\n\
 @iftex\n\
 @tex\n\
@@ -1846,15 +1846,15 @@
 @end defvr"
 
 #define INFINITY_DOC_STRING "-*- texinfo -*-\n\
-@defvr {Built-in Variable} Inf\n\
-@defvrx {Built-in Variable} inf\n\
+@defvr {Built-in Constant} Inf\n\
+@defvrx {Built-in Constant} inf\n\
 Infinity.  This is the result of an operation like 1/0, or an operation\n\
 that results in a floating point overflow.\n\
 @end defvr"
 
 #define NAN_DOC_STRING "-*- texinfo -*-\n\
-@defvr {Built-in Variable} NaN\n\
-@defvrx {Built-in Variable} nan\n\
+@defvr {Built-in Constant} NaN\n\
+@defvrx {Built-in Constant} nan\n\
 Not a number.  This is the result of an operation like\n\
 @iftex\n\
 @tex\n\
@@ -1882,7 +1882,7 @@
 
   DEFCONST (NA, lo_ieee_na_value (),
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} NA\n\
+@defvr {Built-in Constant} NA\n\
 Missing value.\n\
 @end defvr");
 
@@ -1897,7 +1897,7 @@
 
   DEFCONST (e, e_val,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} e\n\
+@defvr {Built-in Constant} e\n\
 The base of natural logarithms.  The constant\n\
 @iftex\n\
 @tex\n\
@@ -1920,7 +1920,7 @@
 
   DEFCONST (eps, DBL_EPSILON,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} eps\n\
+@defvr {Built-in Constant} eps\n\
 The machine precision.  More precisely, @code{eps} is the largest\n\
 relative spacing between any two adjacent numbers in the machine's\n\
 floating point system.  This number is obviously system-dependent.  On\n\
@@ -1938,8 +1938,9 @@
 
   DEFCONST (false, false,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} false\n\
+@defvr {Built-in Constant} false\n\
 Logical false value.\n\
+@seealso{true}\n\
 @end defvr");
 
   DEFCONST (i, Complex (0.0, 1.0),
@@ -1962,14 +1963,14 @@
 
   DEFCONST (pi, pi_val,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} pi\n\
+@defvr {Built-in Constant} pi\n\
 The ratio of the circumference of a circle to its diameter.\n\
 Internally, @code{pi} is computed as @samp{4.0 * atan (1.0)}.\n\
 @end defvr");
 
   DEFCONST (realmax, DBL_MAX,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} realmax\n\
+@defvr {Built-in Constant} realmax\n\
 The largest floating point number that is representable.  The actual\n\
 value is system-dependent.  On machines that support 64-bit IEEE\n\
 floating point arithmetic, @code{realmax} is approximately\n\
@@ -1977,6 +1978,7 @@
  1.7977e+308\n\
 @end ifinfo\n\
 @iftex\n\
+@seealso{realmin}\n\
 @tex\n\
  $1.7977\\times10^{308}$.\n\
 @end tex\n\
@@ -1985,7 +1987,7 @@
 
   DEFCONST (realmin, DBL_MIN,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} realmin\n\
+@defvr {Built-in Constant} realmin\n\
 The smallest normalized floating point number that is representable.\n\
 The actual value is system-dependent.  On machines that support\n\
 64-bit IEEE floating point arithmetic, @code{realmin} is approximately\n\
@@ -1997,12 +1999,14 @@
  $2.2251\\times10^{-308}$.\n\
 @end tex\n\
 @end iftex\n\
+@seealso{realmax}\n\
 @end defvr");
 
   DEFCONST (true, true,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} true\n\
+@defvr {Built-in Constant} true\n\
 Logical true value.\n\
+@seealso{false}\n\
 @end defvr");
 
 }
--- a/src/defaults.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/defaults.cc	Mon May 02 18:16:51 2005 +0000
@@ -714,13 +714,13 @@
 
   DEFCONST (OCTAVE_HOME, Voctave_home,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} OCTAVE_HOME\n\
+@defvr {Built-in Constant} OCTAVE_HOME\n\
 The name of the top-level Octave installation directory.\n\
 @end defvr");
 
   DEFCONSTX ("OCTAVE_VERSION", SBV_OCTAVE_VERSION, OCTAVE_VERSION,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} OCTAVE_VERSION\n\
+@defvr {Built-in Constant} OCTAVE_VERSION\n\
 The version number of Octave, as a string.\n\
 @end defvr");
 
--- a/src/file-io.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/file-io.cc	Mon May 02 18:16:51 2005 +0000
@@ -1751,7 +1751,7 @@
 opened, by @code{tmpnam}, it is possible (though relatively unlikely)\n\
 that it will not be available by the time your program attempts to open it.\n\
 @end deftypefn\n\
-@seealso{tmpfile, mkstemp, and P_tmpdir}")
+@seealso{tmpfile, mkstemp, P_tmpdir}")
 {
   octave_value retval;
 
@@ -1794,7 +1794,7 @@
 string.  Otherwise, @var{fid} is -1 and @var{msg} contains a\n\
 system-dependent error message.\n\
 @end deftypefn\n\
-@seealso{tmpnam, mkstemp, and P_tmpdir}")
+@seealso{tmpnam, mkstemp, P_tmpdir}")
 {
   octave_value_list retval;
 
@@ -1854,7 +1854,7 @@
 is -1, @var{name} is empty, and @var{msg} contains a system-dependent\n\
 error message.\n\
 @end deftypefn\n\
-@seealso{tmpfile, tmpnam, and P_tmpdir}")
+@seealso{tmpfile, tmpnam, P_tmpdir}")
 {
   octave_value_list retval;
 
@@ -2014,7 +2014,7 @@
 
   DEFCONSTX ("P_tmpdir", SBV_P_tmpdir, P_tmpdir,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} P_tmpdir\n\
+@defvr {Built-in Constant} P_tmpdir\n\
 The default name of the directory for temporary files on this system.\n\
 The value of this variable is system dependent.\n\
 @end defvr");
@@ -2024,9 +2024,9 @@
 
   DEFCONSTX ("SEEK_SET", SBV_SEEK_SET, -1,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} SEEK_SET\n\
-@defvrx {Built-in Variable} SEEK_CUR\n\
-@defvrx {Built-in Variable} SEEK_END\n\
+@defvr {Built-in Constant} SEEK_SET\n\
+@defvrx {Built-in Constant} SEEK_CUR\n\
+@defvrx {Built-in Constant} SEEK_END\n\
 These variables may be used as the optional third argument for the\n\
 function @code{fseek}.\n\
 \n\
@@ -2044,37 +2044,40 @@
 
   DEFCONSTX ("SEEK_CUR", SBV_SEEK_CUR, 0,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} SEEK_CUR\n\
+@defvr {Built-in Constant} SEEK_CUR\n\
 See SEEK_SET.\n\
 @end defvr");
 
   DEFCONSTX ("SEEK_END", SBV_SEEK_END, 1,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} SEEK_END\n\
+@defvr {Built-in Constant} SEEK_END\n\
 See SEEK_SET.\n\
 @end defvr");
 
   DEFCONSTX ("stdin", SBV_stdin, stdin_file,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} stdin\n\
+@defvr {Built-in Constant} stdin\n\
 The standard input stream (file id 0).  When Octave is used\n\
 interactively, this is filtered through the command line editing\n\
 functions.\n\
+@seealso{stdout, stderr}\n\
 @end defvr");
 
   DEFCONSTX ("stdout", SBV_stdout, stdout_file,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} stdout\n\
+@defvr {Built-in Constant} stdout\n\
 The standard output stream (file id 1).  Data written to the\n\
 standard output is normally filtered through the pager.\n\
+@seealso{stdin, stderr}\n\
 @end defvr");
 
   DEFCONSTX ("stderr", SBV_stderr, stderr_file,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} stderr\n\
+@defvr {Built-in Constant} stderr\n\
 The standard error stream (file id 2).  Even if paging is turned on,\n\
 the standard error is not sent to the pager.  It is useful for error\n\
 messages and prompts.\n\
+@seealso{stdin, stdout}\n\
 @end defvr");
 
 }
--- a/src/mkgendoc	Mon May 02 17:58:53 2005 +0000
+++ b/src/mkgendoc	Mon May 02 18:16:51 2005 +0000
@@ -83,6 +83,13 @@
 int
 main (void)
 {
+  std::cout
+    << "### DO NOT EDIT!\n"
+    << "###\n"
+    << "### This file is generated automatically from the Octave sources.\n"
+    << "### Edit those files instead and run make to update this file.\n"
+    << std::endl;
+
 EOF
 
 for file in $DOC_FILES; do
--- a/src/sighandlers.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/sighandlers.cc	Mon May 02 18:16:51 2005 +0000
@@ -928,7 +928,7 @@
 
   DEFCONST (SIG, make_sig_struct (),
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} SIG\n\
+@defvr {Built-in Constant} SIG\n\
 Structure of Unix signal names and their defined values.\n\
 @end defvr");
 }
--- a/src/syscalls.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/syscalls.cc	Mon May 02 18:16:51 2005 +0000
@@ -984,104 +984,117 @@
 #if defined (F_DUPFD)
   DEFCONSTX ("F_DUPFD", SBV_F_DUPFD, F_DUPFD,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} F_DUPFD\n\
+@defvr {Built-in Constant} F_DUPFD\n\
 Request to @code{fcntl} to return a duplicate file descriptor.\n\
+@seealso{fcntl, F_GETFD, F_GETFL, F_SETFD, F_SETFL}\n\
 @end defvr");
 #endif
 
 #if defined (F_GETFD)
   DEFCONSTX ("F_GETFD", SBV_F_GETFD, F_GETFD,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} F_GETFD\n\
+@defvr {Built-in Constant} F_GETFD\n\
 Request to @code{fcntl} to return the file descriptor flags.\n\
+@seealso{fcntl, F_DUPFD, F_GETFL, F_SETFD, F_SETFL}\n\
 @end defvr");
 #endif
 
 #if defined (F_GETFL)
   DEFCONSTX ("F_GETFL", SBV_F_GETFL, F_GETFL,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} F_GETFL\n\
+@defvr {Built-in Constant} F_GETFL\n\
 Request to @code{fcntl} to return the file status flags.\n\
+@seealso{fcntl, F_DUPFD, F_GETFD, F_SETFD, F_SETFL}\n\
 @end defvr");
 #endif
 
 #if defined (F_SETFD)
   DEFCONSTX ("F_SETFD", SBV_F_SETFD, F_SETFD,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} F_SETFD\n\
+@defvr {Built-in Constant} F_SETFD\n\
 Request to @code{fcntl} to set the file descriptor flags.\n\
+@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFL}\n\
 @end defvr");
 #endif
 
 #if defined (F_SETFL)
   DEFCONSTX ("F_SETFL", SBV_F_SETFL, F_SETFL,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} F_SETFL\n\
+@defvr {Built-in Constant} F_SETFL\n\
 Request to @code{fcntl} to set the file status flags.\n\
+@seealso{fcntl, F_DUPFD, F_GETFD, F_GETFL, F_SETFD}\n\
 @end defvr");
 #endif
 
 #if defined (O_APPEND)
   DEFCONSTX ("O_APPEND", SBV_O_APPEND, O_APPEND,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_APPEND\n\
+@defvr {Built-in Constant} O_APPEND\n\
 File status flag, append on each write.\n\
+@seealso{fcntl, O_ASYNC, O_CREAT, O_EXCL, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
 @end defvr");
 #endif
 
 #if defined (O_ASYNC)
   DEFCONSTX ("O_ASYNC", SBV_O_ASYNC, O_ASYNC,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_ASYNC\n\
+@defvr {Built-in Constant} O_ASYNC\n\
 File status flag, 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 defvr");
 #endif
 
 #if defined (O_CREAT)
   DEFCONSTX ("O_CREAT", SBV_O_CREAT, O_CREAT,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_CREAT\n\
+@defvr {Built-in Constant} O_CREAT\n\
 File status flag, create file if it 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 defvr");
 #endif
 
 #if defined (O_EXCL)
   DEFCONSTX ("O_EXCL", SBV_O_EXCL, O_EXCL,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_EXCL\n\
+@defvr {Built-in Constant} O_EXCL\n\
 File status flag, file locking.\n\
+@seealso{fcntl, O_APPEND, O_ASYNC, O_CREAT, O_NONBLOCK, O_RDONLY, O_RDWR, O_SYNC, O_TRUNC, O_WRONLY}\n\
 @end defvr");
 #endif
 
 #if defined (O_NONBLOCK)
   DEFCONSTX ("O_NONBLOCK", SBV_O_NONBLOCK, O_NONBLOCK,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_NONBLOCK\n\
+@defvr {Built-in Constant} O_NONBLOCK\n\
 File status flag, 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 defvr");
 #endif
 
 #if defined (O_RDONLY)
   DEFCONSTX ("O_RDONLY", SBV_O_RDONLY, O_RDONLY,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_RDONLY\n\
+@defvr {Built-in Constant} O_RDONLY\n\
 File status flag, file opened 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 defvr");
 #endif
 
 #if defined (O_RDWR)
   DEFCONSTX ("O_RDWR", SBV_O_RDWR, O_RDWR,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_RDWR\n\
+@defvr {Built-in Constant} O_RDWR\n\
 File status flag, file open for both reading 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 defvr");
 #endif
 
 #if defined (O_SYNC)
   DEFCONSTX ("O_SYNC", SBV_O_SYNC, O_SYNC,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_SYNC\n\
+@defvr {Built-in Constant} O_SYNC\n\
 File status flag, file opened for synchronous 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 defvr");
 #endif
 
@@ -1090,14 +1103,16 @@
     "-*- texinfo -*-\n\
 @defvr {Built-in Variable} O_TRUNC\n\
 File status flag, if file exists, truncate it 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 defvr");
 #endif
 
 #if defined (O_WRONLY)
   DEFCONSTX ("O_WRONLY", SBV_O_WRONLY, O_WRONLY,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} O_WRONLY\n\
+@defvr {Built-in Constant} O_WRONLY\n\
 File status flag, file opened 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 defvr");
 #endif
 
--- a/src/toplev.cc	Mon May 02 17:58:53 2005 +0000
+++ b/src/toplev.cc	Mon May 02 18:16:51 2005 +0000
@@ -846,7 +846,7 @@
 {
   DEFCONST (argv, ,
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} argv\n\
+@defvr {Built-in Constant} argv\n\
 The command line arguments passed to Octave are available in this\n\
 variable.  For example, if you invoked Octave using the command\n\
 \n\
@@ -866,8 +866,8 @@
   DEFCONST (program_invocation_name,
 	    octave_env::get_program_invocation_name (),
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} program_invocation_name\n\
-@defvrx {Built-in Variable} program_name\n\
+@defvr {Built-in Constant} program_invocation_name\n\
+@defvrx {Built-in Constant} program_name\n\
 When Octave starts, the value of the built-in variable\n\
 @code{program_invocation_name} is automatically set to the name that was\n\
 typed at the shell prompt to run Octave, and the value of\n\
@@ -886,22 +886,8 @@
 
   DEFCONST (program_name, octave_env::get_program_name (),
     "-*- texinfo -*-\n\
-@defvr {Built-in Variable} program_invocation_name\n\
-@defvrx {Built-in Variable} program_name\n\
-When Octave starts, the value of the built-in variable\n\
-@code{program_invocation_name} is automatically set to the name that was\n\
-typed at the shell prompt to run Octave, and the value of\n\
-@code{program_name} is automatically set to the final component of\n\
-@code{program_invocation_name}.  For example, if you typed\n\
-@samp{@value{OCTAVEHOME}/bin/octave} to start Octave,\n\
-@code{program_invocation_name} would have the value\n\
-@code{\"@value{OCTAVEHOME}/bin/octave\"}, and @code{program_name} would\n\
-have the value @code{\"octave\"}.\n\
-\n\
-If executing a script from the command line (e.g., @code{octave foo.m})\n\
-or using an executable Octave script, the program name is set to the\n\
-name of the script.  @xref{Executable Octave Programs}, for an example of\n\
-how to create an executable Octave script.\n\
+@defvr {Built-in Variable} program_name\n\
+See: program_invocation_name.\n\
 @end defvr");
 
 }