aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawktexi.in
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2013-12-23 21:53:37 +0200
committerArnold D. Robbins <arnold@skeeve.com>2013-12-23 21:53:37 +0200
commit9beee977ccb0703656504c070ab85e54537f8f95 (patch)
tree0dd1636d79223b91b23fd43cba0581fea63e295d /doc/gawktexi.in
parentd3e8016ffd4de45fb8ea5a76a1aa2048f3facaa9 (diff)
downloadegawk-9beee977ccb0703656504c070ab85e54537f8f95.tar.gz
egawk-9beee977ccb0703656504c070ab85e54537f8f95.tar.bz2
egawk-9beee977ccb0703656504c070ab85e54537f8f95.zip
More doc updates, fix initialization on VAX/VMS.
Diffstat (limited to 'doc/gawktexi.in')
-rw-r--r--doc/gawktexi.in46
1 files changed, 40 insertions, 6 deletions
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 51b90877..fc465648 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -34012,7 +34012,7 @@ The older designation ``VMS'' is used throughout to refer to OpenVMS.
To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
that issues all the necessary @code{CC} and @code{LINK} commands. There is
-also a @file{Makefile} for use with the @code{MMS} or @code{MMK} utility.
+also a @file{Makefile} for use with the @code{MMS} and @code{MMK} utilities.
From the source directory, use either:
@example
@@ -34033,8 +34033,8 @@ or:
$ @kbd{MMK/DESCRIPTION=[.vms]descrip.mms gawk}
@end example
-@code{MMK} is an open source freeware near clone of @code{MMS} and
-can better handle @code{ODS-5} volumes with upper- and lower-case filenames.
+@code{MMK} is an open source, free, near-clone of @code{MMS} and
+can better handle @code{ODS-5} volumes with upper- and lowercase filenames.
@code{MMK} is available from @uref{https://github.com/endlesssoftware/mmk}.
With @code{ODS-5} volumes and extended parsing enabled, the case of the target
@@ -34060,9 +34060,10 @@ a PCSI kit for compatible with the GNV product.
@appendixsubsubsec Compiling @command{gawk} Dynamic Extensions on VMS
Dynamic extensions need to be compiled with the same compiler options for
-floating point, pointer size, and symbol name handling as @command{gawk}.
+floating point, pointer size, and symbol name handling as were used
+to compile @command{gawk} itself.
Alpha and Itanium should use IEEE floating point. The pointer size is 32 bits,
-and the symbol name handling is to be exact case with CRC shortening for
+and the symbol name handling should be exact case with CRC shortening for
symbols longer than 32 bits.
For Alpha and Itanium:
@@ -34176,6 +34177,39 @@ flag is required to force Unix-style parsing rather than @code{DCL} parsing. If
other dash-type options (or multiple parameters such as data files to
process) are present, there is no ambiguity and @option{--} can be omitted.
+@cindex exit status, of VMS
+The @code{exit} value is a Unix-style value and is encoded to a VMS exit
+status value when the program exits.
+
+The VMS severity bits will be set based on the @code{exit} value.
+A failure is indicated by 1 and VMS sets the @code{ERROR} status.
+A fatal error is indicated by 2 and VMS will set the @code{FATAL} status.
+All other values will have the @code{SUCCESS} status. The exit value is
+encoded to comply with VMS coding standards and will have the
+@code{C_FACILITY_NO} of @code{0x350000} with the constant @code{0xA000}
+added to the number shifted over by 3 bits to make room for the severity codes.
+
+To extract the actual @command{gawk} exit code from the VMS status use:
+
+@example
+unix_status = (vms_status .and. &x7f8) / 8
+@end example
+
+@noindent
+A C program that uses @code{exec()} to call @command{gawk} will get the original
+Unix-style exit value.
+
+Older versions of @command{gawk} treated a Unix exit code 0 as 1, a failure
+as 2, a fatal error as 4, and passed all the other numbers through.
+This violated the VMS exit status coding requirements.
+
+@cindex floating-point, VAX/VMS
+VAX/VMS floating point uses unbiased rounding. @xref{Round Function}.
+
+VMS reports time values in GMT unless one of the @code{SYS$TIMEZONE_RULE}
+or @code{TZ} logical names is set. Older versions of VMS, such as VAX/VMS
+7.3 do not set these logical names.
+
@c @cindex directory search
@c @cindex path, search
@cindex search paths
@@ -34193,7 +34227,7 @@ translation and not a multitranslation @code{RMS} searchlist.
The VMS GNV package provides a build environment similar to POSIX with ports
of a collection of open source tools. The @command{gawk} found in the GNV
base kit is an older port. Currently the GNV project is being reorganized
-to be individual PCSI packages for each component.
+to supply individual PCSI packages for each component.
See @uref{https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.
The normal build procedure for @command{gawk} produces a program that