aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--build-aux/ChangeLog4
-rwxr-xr-xbuild-aux/config.guess186
-rwxr-xr-xbuild-aux/config.sub40
-rwxr-xr-xbuild-aux/install-sh35
-rw-r--r--doc/ChangeLog11
-rw-r--r--doc/gawk.info784
-rw-r--r--doc/gawk.texi2
-rw-r--r--doc/gawktexi.in2
8 files changed, 556 insertions, 508 deletions
diff --git a/build-aux/ChangeLog b/build-aux/ChangeLog
index 313c9f9f..ed59e3db 100644
--- a/build-aux/ChangeLog
+++ b/build-aux/ChangeLog
@@ -1,3 +1,7 @@
+2020-11-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * config.guess, config.sub, install-sh: Updated from GNULIB.
+
2020-10-31 Arnold D. Robbins <arnold@skeeve.com>
* config.guess: Updated from GNULIB.
diff --git a/build-aux/config.guess b/build-aux/config.guess
index 12dd5b42..0fc11edb 100755
--- a/build-aux/config.guess
+++ b/build-aux/config.guess
@@ -2,7 +2,7 @@
# Attempt to guess a canonical system name.
# Copyright 1992-2020 Free Software Foundation, Inc.
-timestamp='2020-10-22'
+timestamp='2020-11-07'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -32,7 +32,7 @@ timestamp='2020-10-22'
# Please send patches to <config-patches@gnu.org>.
-me=`echo "$0" | sed -e 's,.*/,,'`
+me=$(echo "$0" | sed -e 's,.*/,,')
usage="\
Usage: $0 [OPTION]
@@ -103,7 +103,7 @@ set_cc_for_build() {
test "$tmp" && return 0
: "${TMPDIR=/tmp}"
# shellcheck disable=SC2039
- { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { tmp=$( (umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null) && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir "$tmp" 2>/dev/null) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir "$tmp" 2>/dev/null) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; }
@@ -131,10 +131,10 @@ if test -f /.attbin/uname ; then
PATH=$PATH:/.attbin ; export PATH
fi
-UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
-UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
-UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
-UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+UNAME_MACHINE=$( (uname -m) 2>/dev/null) || UNAME_MACHINE=unknown
+UNAME_RELEASE=$( (uname -r) 2>/dev/null) || UNAME_RELEASE=unknown
+UNAME_SYSTEM=$( (uname -s) 2>/dev/null) || UNAME_SYSTEM=unknown
+UNAME_VERSION=$( (uname -v) 2>/dev/null) || UNAME_VERSION=unknown
case "$UNAME_SYSTEM" in
Linux|GNU|GNU/*)
@@ -158,7 +158,7 @@ Linux|GNU|GNU/*)
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`"
+ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^LIBC' | sed 's, ,,g')"
;;
esac
@@ -177,10 +177,10 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
- UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
+ UNAME_MACHINE_ARCH=$( (uname -p 2>/dev/null || \
"/sbin/$sysctl" 2>/dev/null || \
"/usr/sbin/$sysctl" 2>/dev/null || \
- echo unknown)`
+ echo unknown))
case "$UNAME_MACHINE_ARCH" in
aarch64eb) machine=aarch64_be-unknown ;;
armeb) machine=armeb-unknown ;;
@@ -189,8 +189,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
earmv*)
- arch=`echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
- endian=`echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p'`
+ arch=$(echo "$UNAME_MACHINE_ARCH" | sed -e 's,^e\(armv[0-9]\).*$,\1,')
+ endian=$(echo "$UNAME_MACHINE_ARCH" | sed -ne 's,^.*\(eb\)$,\1,p')
machine="${arch}${endian}"-unknown
;;
*) machine="$UNAME_MACHINE_ARCH"-unknown ;;
@@ -221,7 +221,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
case "$UNAME_MACHINE_ARCH" in
earm*)
expr='s/^earmv[0-9]/-eabi/;s/eb$//'
- abi=`echo "$UNAME_MACHINE_ARCH" | sed -e "$expr"`
+ abi=$(echo "$UNAME_MACHINE_ARCH" | sed -e "$expr")
;;
esac
# The OS release
@@ -234,7 +234,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
release='-gnu'
;;
*)
- release=`echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2`
+ release=$(echo "$UNAME_RELEASE" | sed -e 's/[-_].*//' | cut -d. -f1,2)
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
@@ -243,15 +243,15 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
echo "$machine-${os}${release}${abi-}"
exit ;;
*:Bitrig:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ UNAME_MACHINE_ARCH=$(arch | sed 's/Bitrig.//')
echo "$UNAME_MACHINE_ARCH"-unknown-bitrig"$UNAME_RELEASE"
exit ;;
*:OpenBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
+ UNAME_MACHINE_ARCH=$(arch | sed 's/OpenBSD.//')
echo "$UNAME_MACHINE_ARCH"-unknown-openbsd"$UNAME_RELEASE"
exit ;;
*:LibertyBSD:*:*)
- UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
+ UNAME_MACHINE_ARCH=$(arch | sed 's/^.*BSD\.//')
echo "$UNAME_MACHINE_ARCH"-unknown-libertybsd"$UNAME_RELEASE"
exit ;;
*:MidnightBSD:*:*)
@@ -287,17 +287,17 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $3}')
;;
*5.*)
- UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ UNAME_RELEASE=$(/usr/sbin/sizer -v | awk '{print $4}')
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
- ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ ALPHA_CPU_TYPE=$(/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1)
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
UNAME_MACHINE=alpha ;;
@@ -335,7 +335,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
- echo "$UNAME_MACHINE"-dec-osf"`echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`"
+ echo "$UNAME_MACHINE"-dec-osf"$(echo "$UNAME_RELEASE" | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)"
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
@@ -369,7 +369,7 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
- if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ if test "$( (/bin/universe) 2>/dev/null)" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
@@ -382,17 +382,17 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
echo sparc-icl-nx6
exit ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
- case `/usr/bin/uname -p` in
+ case $(/usr/bin/uname -p) in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
- echo "$UNAME_MACHINE"-ibm-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ echo "$UNAME_MACHINE"-ibm-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
exit ;;
sun4H:SunOS:5.*:*)
- echo sparc-hal-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ echo sparc-hal-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
- echo sparc-sun-solaris2"`echo "$UNAME_RELEASE" | sed -e 's/[^.]*//'`"
+ echo sparc-sun-solaris2"$(echo "$UNAME_RELEASE" | sed -e 's/[^.]*//')"
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
echo i386-pc-auroraux"$UNAME_RELEASE"
@@ -411,30 +411,30 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
SUN_ARCH=x86_64
fi
fi
- echo "$SUN_ARCH"-pc-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ echo "$SUN_ARCH"-pc-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
- echo sparc-sun-solaris3"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ echo sparc-sun-solaris3"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
exit ;;
sun4*:SunOS:*:*)
- case "`/usr/bin/arch -k`" in
+ case "$(/usr/bin/arch -k)" in
Series*|S4*)
- UNAME_RELEASE=`uname -v`
+ UNAME_RELEASE=$(uname -v)
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
- echo sparc-sun-sunos"`echo "$UNAME_RELEASE"|sed -e 's/-/_/'`"
+ echo sparc-sun-sunos"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/')"
exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos"$UNAME_RELEASE"
exit ;;
sun*:*:4.2BSD:*)
- UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ UNAME_RELEASE=$( (sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null)
test "x$UNAME_RELEASE" = x && UNAME_RELEASE=3
- case "`/bin/arch`" in
+ case "$(/bin/arch)" in
sun3)
echo m68k-sun-sunos"$UNAME_RELEASE"
;;
@@ -514,8 +514,8 @@ case "$UNAME_MACHINE:$UNAME_SYSTEM:$UNAME_RELEASE:$UNAME_VERSION" in
}
EOF
$CC_FOR_BUILD -o "$dummy" "$dummy.c" &&
- dummyarg=`echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p'` &&
- SYSTEM_NAME=`"$dummy" "$dummyarg"` &&
+ dummyarg=$(echo "$UNAME_RELEASE" | sed -n 's/\([0-9]*\).*/\1/p') &&
+ SYSTEM_NAME=$("$dummy" "$dummyarg") &&
{ echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos"$UNAME_RELEASE"
exit ;;
@@ -542,7 +542,7 @@ EOF
exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ UNAME_PROCESSOR=$(/usr/bin/uname -p)
if test "$UNAME_PROCESSOR" = mc88100 || test "$UNAME_PROCESSOR" = mc88110
then
if test "$TARGET_BINARY_INTERFACE"x = m88kdguxelfx || \
@@ -570,17 +570,17 @@ EOF
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
- echo mips-sgi-irix"`echo "$UNAME_RELEASE"|sed -e 's/-/_/g'`"
+ echo mips-sgi-irix"$(echo "$UNAME_RELEASE"|sed -e 's/-/_/g')"
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
- exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ exit ;; # Note that: echo "'$(uname -s)'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit ;;
ia64:AIX:*:*)
if test -x /usr/bin/oslevel ; then
- IBM_REV=`/usr/bin/oslevel`
+ IBM_REV=$(/usr/bin/oslevel)
else
IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
@@ -600,7 +600,7 @@ EOF
exit(0);
}
EOF
- if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"`
+ if $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy")
then
echo "$SYSTEM_NAME"
else
@@ -613,15 +613,15 @@ EOF
fi
exit ;;
*:AIX:*:[4567])
- IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ IBM_CPU_ID=$(/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }')
if /usr/sbin/lsattr -El "$IBM_CPU_ID" | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if test -x /usr/bin/lslpp ; then
- IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
- awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
+ IBM_REV=$(/usr/bin/lslpp -Lqc bos.rte.libc |
+ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/)
else
IBM_REV="$UNAME_VERSION.$UNAME_RELEASE"
fi
@@ -649,14 +649,14 @@ EOF
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
case "$UNAME_MACHINE" in
9000/31?) HP_ARCH=m68000 ;;
9000/[34]??) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if test -x /usr/bin/getconf; then
- sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
- sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ sc_cpu_version=$(/usr/bin/getconf SC_CPU_VERSION 2>/dev/null)
+ sc_kernel_bits=$(/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null)
case "$sc_cpu_version" in
523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
@@ -703,7 +703,7 @@ EOF
exit (0);
}
EOF
- (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=`"$dummy"`
+ (CCOPTS="" $CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null) && HP_ARCH=$("$dummy")
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
@@ -731,7 +731,7 @@ EOF
echo "$HP_ARCH"-hp-hpux"$HPUX_REV"
exit ;;
ia64:HP-UX:*:*)
- HPUX_REV=`echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//'`
+ HPUX_REV=$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*.[0B]*//')
echo ia64-hp-hpux"$HPUX_REV"
exit ;;
3050*:HI-UX:*:*)
@@ -761,7 +761,7 @@ EOF
exit (0);
}
EOF
- $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=`"$dummy"` &&
+ $CC_FOR_BUILD -o "$dummy" "$dummy.c" && SYSTEM_NAME=$("$dummy") &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
@@ -830,14 +830,14 @@ EOF
echo craynv-cray-unicosmp"$UNAME_RELEASE" | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
- FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo "$UNAME_RELEASE" | sed -e 's/ /_/'`
+ FUJITSU_PROC=$(uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz)
+ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
+ FUJITSU_REL=$(echo "$UNAME_RELEASE" | sed -e 's/ /_/')
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
- FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
- FUJITSU_REL=`echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
+ FUJITSU_SYS=$(uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///')
+ FUJITSU_REL=$(echo "$UNAME_RELEASE" | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/')
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
@@ -850,25 +850,25 @@ EOF
echo "$UNAME_MACHINE"-unknown-bsdi"$UNAME_RELEASE"
exit ;;
arm:FreeBSD:*:*)
- UNAME_PROCESSOR=`uname -p`
+ UNAME_PROCESSOR=$(uname -p)
set_cc_for_build
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabi
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabi
else
- echo "${UNAME_PROCESSOR}"-unknown-freebsd"`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`"-gnueabihf
+ echo "${UNAME_PROCESSOR}"-unknown-freebsd"$(echo ${UNAME_RELEASE}|sed -e 's/[-(].*//')"-gnueabihf
fi
exit ;;
*:FreeBSD:*:*)
- UNAME_PROCESSOR=`/usr/bin/uname -p`
+ UNAME_PROCESSOR=$(/usr/bin/uname -p)
case "$UNAME_PROCESSOR" in
amd64)
UNAME_PROCESSOR=x86_64 ;;
i386)
UNAME_PROCESSOR=i586 ;;
esac
- echo "$UNAME_PROCESSOR"-unknown-freebsd"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
+ echo "$UNAME_PROCESSOR"-unknown-freebsd"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
exit ;;
i*:CYGWIN*:*)
echo "$UNAME_MACHINE"-pc-cygwin
@@ -904,15 +904,15 @@ EOF
echo x86_64-pc-cygwin
exit ;;
prep*:SunOS:5.*:*)
- echo powerpcle-unknown-solaris2"`echo "$UNAME_RELEASE"|sed -e 's/[^.]*//'`"
+ echo powerpcle-unknown-solaris2"$(echo "$UNAME_RELEASE"|sed -e 's/[^.]*//')"
exit ;;
*:GNU:*:*)
# the GNU system
- echo "`echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,'`-unknown-$LIBC`echo "$UNAME_RELEASE"|sed -e 's,/.*$,,'`"
+ echo "$(echo "$UNAME_MACHINE"|sed -e 's,[-/].*$,,')-unknown-$LIBC$(echo "$UNAME_RELEASE"|sed -e 's,/.*$,,')"
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo "$UNAME_MACHINE-unknown-`echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`-$LIBC"
+ echo "$UNAME_MACHINE-unknown-$(echo "$UNAME_SYSTEM" | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]")$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')-$LIBC"
exit ;;
*:Minix:*:*)
echo "$UNAME_MACHINE"-unknown-minix
@@ -925,7 +925,7 @@ EOF
echo "$UNAME_MACHINE"-unknown-linux-"$LIBC"
exit ;;
alpha:Linux:*:*)
- case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null` in
+ case $(sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' /proc/cpuinfo 2>/dev/null) in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
@@ -1034,7 +1034,7 @@ EOF
#endif
#endif
EOF
- eval "`$CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI'`"
+ eval "$($CC_FOR_BUILD -E "$dummy.c" 2>/dev/null | grep '^CPU\|^MIPS_ENDIAN\|^LIBCABI')"
test "x$CPU" != x && { echo "$CPU${MIPS_ENDIAN}-unknown-linux-$LIBCABI"; exit; }
;;
mips64el:Linux:*:*)
@@ -1054,7 +1054,7 @@ EOF
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
- case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ case $(grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2) in
PA7*) echo hppa1.1-unknown-linux-"$LIBC" ;;
PA8*) echo hppa2.0-unknown-linux-"$LIBC" ;;
*) echo hppa-unknown-linux-"$LIBC" ;;
@@ -1144,7 +1144,7 @@ EOF
echo "$UNAME_MACHINE"-pc-msdosdjgpp
exit ;;
i*86:*:4.*:*)
- UNAME_REL=`echo "$UNAME_RELEASE" | sed 's/\/MP$//'`
+ UNAME_REL=$(echo "$UNAME_RELEASE" | sed 's/\/MP$//')
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo "$UNAME_MACHINE"-univel-sysv"$UNAME_REL"
else
@@ -1153,7 +1153,7 @@ EOF
exit ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
- case `/bin/uname -X | grep "^Machine"` in
+ case $(/bin/uname -X | grep "^Machine") in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
@@ -1162,10 +1162,10 @@ EOF
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
- UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ UNAME_REL=$(sed -n 's/.*Version //p' </usr/options/cb.name)
echo "$UNAME_MACHINE"-pc-isc"$UNAME_REL"
elif /bin/uname -X 2>/dev/null >/dev/null ; then
- UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ UNAME_REL=$( (/bin/uname -X|grep Release|sed -e 's/.*= //'))
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
@@ -1215,7 +1215,7 @@ EOF
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
@@ -1226,7 +1226,7 @@ EOF
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
- && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ && OS_REL=.$(sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3"$OS_REL"; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
@@ -1259,7 +1259,7 @@ EOF
exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
echo "$UNAME_MACHINE"-sni-sysv4
else
echo ns32k-sni-sysv
@@ -1345,7 +1345,7 @@ EOF
echo aarch64-apple-darwin"$UNAME_RELEASE"
exit ;;
*:Darwin:*:*)
- UNAME_PROCESSOR=`uname -p`
+ UNAME_PROCESSOR=$(uname -p)
case $UNAME_PROCESSOR in
unknown) UNAME_PROCESSOR=powerpc ;;
esac
@@ -1382,7 +1382,7 @@ EOF
echo "$UNAME_PROCESSOR"-apple-darwin"$UNAME_RELEASE"
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
- UNAME_PROCESSOR=`uname -p`
+ UNAME_PROCESSOR=$(uname -p)
if test "$UNAME_PROCESSOR" = x86; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
@@ -1450,10 +1450,10 @@ EOF
echo mips-sei-seiux"$UNAME_RELEASE"
exit ;;
*:DragonFly:*:*)
- echo "$UNAME_MACHINE"-unknown-dragonfly"`echo "$UNAME_RELEASE"|sed -e 's/[-(].*//'`"
+ echo "$UNAME_MACHINE"-unknown-dragonfly"$(echo "$UNAME_RELEASE"|sed -e 's/[-(].*//')"
exit ;;
*:*VMS:*:*)
- UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ UNAME_MACHINE=$( (uname -p) 2>/dev/null)
case "$UNAME_MACHINE" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
@@ -1463,7 +1463,7 @@ EOF
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
- echo "$UNAME_MACHINE"-pc-skyos"`echo "$UNAME_RELEASE" | sed -e 's/ .*$//'`"
+ echo "$UNAME_MACHINE"-pc-skyos"$(echo "$UNAME_RELEASE" | sed -e 's/ .*$//')"
exit ;;
i*86:rdos:*:*)
echo "$UNAME_MACHINE"-pc-rdos
@@ -1521,7 +1521,7 @@ main ()
#define __ARCHITECTURE__ "m68k"
#endif
int version;
- version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ version=$( (hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null);
if (version < 4)
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
else
@@ -1613,7 +1613,7 @@ main ()
}
EOF
-$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=`$dummy` &&
+$CC_FOR_BUILD -o "$dummy" "$dummy.c" 2>/dev/null && SYSTEM_NAME=$($dummy) &&
{ echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
@@ -1643,9 +1643,9 @@ and
https://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
EOF
-year=`echo $timestamp | sed 's,-.*,,'`
+year=$(echo $timestamp | sed 's,-.*,,')
# shellcheck disable=SC2003
-if test "`expr "\`date +%Y\`" - "$year"`" -lt 3 ; then
+if test "$(expr "$(date +%Y)" - "$year")" -lt 3 ; then
cat >&2 <<EOF
If $0 has already been updated, send the following data and any
@@ -1654,20 +1654,20 @@ provide the necessary information to handle your system.
config.guess timestamp = $timestamp
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
+uname -m = $( (uname -m) 2>/dev/null || echo unknown)
+uname -r = $( (uname -r) 2>/dev/null || echo unknown)
+uname -s = $( (uname -s) 2>/dev/null || echo unknown)
+uname -v = $( (uname -v) 2>/dev/null || echo unknown)
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+/usr/bin/uname -p = $( (/usr/bin/uname -p) 2>/dev/null)
+/bin/uname -X = $( (/bin/uname -X) 2>/dev/null)
-hostinfo = `(hostinfo) 2>/dev/null`
-/bin/universe = `(/bin/universe) 2>/dev/null`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
-/bin/arch = `(/bin/arch) 2>/dev/null`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+hostinfo = $( (hostinfo) 2>/dev/null)
+/bin/universe = $( (/bin/universe) 2>/dev/null)
+/usr/bin/arch -k = $( (/usr/bin/arch -k) 2>/dev/null)
+/bin/arch = $( (/bin/arch) 2>/dev/null)
+/usr/bin/oslevel = $( (/usr/bin/oslevel) 2>/dev/null)
+/usr/convex/getsysinfo = $( (/usr/convex/getsysinfo) 2>/dev/null)
UNAME_MACHINE = "$UNAME_MACHINE"
UNAME_RELEASE = "$UNAME_RELEASE"
diff --git a/build-aux/config.sub b/build-aux/config.sub
index 8167d087..c874b7a9 100755
--- a/build-aux/config.sub
+++ b/build-aux/config.sub
@@ -2,7 +2,7 @@
# Configuration validation subroutine script.
# Copyright 1992-2020 Free Software Foundation, Inc.
-timestamp='2020-10-13'
+timestamp='2020-11-07'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
@@ -50,7 +50,7 @@ timestamp='2020-10-13'
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
-me=`echo "$0" | sed -e 's,.*/,,'`
+me=$(echo "$0" | sed -e 's,.*/,,')
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
@@ -769,22 +769,22 @@ case $basic_machine in
vendor=hp
;;
i*86v32)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=sysv32
;;
i*86v4*)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=sysv4
;;
i*86v)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=sysv
;;
i*86sol2)
- cpu=`echo "$1" | sed -e 's/86.*/86/'`
+ cpu=$(echo "$1" | sed -e 's/86.*/86/')
vendor=pc
basic_os=solaris2
;;
@@ -917,7 +917,7 @@ case $basic_machine in
;;
leon-*|leon[3-9]-*)
cpu=sparc
- vendor=`echo "$basic_machine" | sed 's/-.*//'`
+ vendor=$(echo "$basic_machine" | sed 's/-.*//')
;;
*-*)
@@ -1084,7 +1084,7 @@ case $cpu-$vendor in
cpu=mipsisa64sb1el
;;
sh5e[lb]-*)
- cpu=`echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/'`
+ cpu=$(echo "$cpu" | sed 's/^\(sh.\)e\(.\)$/\1\2e/')
;;
spur-*)
cpu=spur
@@ -1102,7 +1102,7 @@ case $cpu-$vendor in
cpu=x86_64
;;
xscale-* | xscalee[bl]-*)
- cpu=`echo "$cpu" | sed 's/^xscale/arm/'`
+ cpu=$(echo "$cpu" | sed 's/^xscale/arm/')
;;
arm64-*)
cpu=aarch64
@@ -1286,15 +1286,15 @@ then
case $basic_os in
gnu/linux*)
kernel=linux
- os=`echo $basic_os | sed -e 's|gnu/linux|gnu|'`
+ os=$(echo $basic_os | sed -e 's|gnu/linux|gnu|')
;;
os2-emx)
kernel=os2
- os=`echo $basic_os | sed -e 's|os2-emx|emx|'`
+ os=$(echo $basic_os | sed -e 's|os2-emx|emx|')
;;
nto-qnx*)
kernel=nto
- os=`echo $basic_os | sed -e 's|nto-qnx|qnx|'`
+ os=$(echo $basic_os | sed -e 's|nto-qnx|qnx|')
;;
*-*)
# shellcheck disable=SC2162
@@ -1305,11 +1305,11 @@ EOF
# Default OS when just kernel was specified
nto*)
kernel=nto
- os=`echo $basic_os | sed -e 's|nto|qnx|'`
+ os=$(echo $basic_os | sed -e 's|nto|qnx|')
;;
linux*)
kernel=linux
- os=`echo $basic_os | sed -e 's|linux|gnu|'`
+ os=$(echo $basic_os | sed -e 's|linux|gnu|')
;;
*)
kernel=
@@ -1330,7 +1330,7 @@ case $os in
os=cnk
;;
solaris1 | solaris1.*)
- os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ os=$(echo $os | sed -e 's|solaris1|sunos4|')
;;
solaris)
os=solaris2
@@ -1359,7 +1359,7 @@ case $os in
os=sco3.2v4
;;
sco3.2.[4-9]*)
- os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ os=$(echo $os | sed -e 's/sco3.2./sco3.2v/')
;;
sco*v* | scout)
# Don't match below
@@ -1389,7 +1389,7 @@ case $os in
os=lynxos
;;
mac[0-9]*)
- os=`echo "$os" | sed -e 's|mac|macos|'`
+ os=$(echo "$os" | sed -e 's|mac|macos|')
;;
opened*)
os=openedition
@@ -1398,10 +1398,10 @@ case $os in
os=os400
;;
sunos5*)
- os=`echo "$os" | sed -e 's|sunos5|solaris2|'`
+ os=$(echo "$os" | sed -e 's|sunos5|solaris2|')
;;
sunos6*)
- os=`echo "$os" | sed -e 's|sunos6|solaris3|'`
+ os=$(echo "$os" | sed -e 's|sunos6|solaris3|')
;;
wince*)
os=wince
@@ -1435,7 +1435,7 @@ case $os in
;;
# Preserve the version number of sinix5.
sinix5.*)
- os=`echo $os | sed -e 's|sinix|sysv|'`
+ os=$(echo $os | sed -e 's|sinix|sysv|')
;;
sinix*)
os=sysv4
diff --git a/build-aux/install-sh b/build-aux/install-sh
index b34a8fc5..ec298b53 100755
--- a/build-aux/install-sh
+++ b/build-aux/install-sh
@@ -1,7 +1,7 @@
#!/bin/sh
# install - install a program, script, or datafile
-scriptversion=2020-07-26.22; # UTC
+scriptversion=2020-11-14.01; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
@@ -73,6 +73,7 @@ mode=0755
# This is like GNU 'install' as of coreutils 8.32 (2020).
mkdir_umask=22
+backupsuffix=
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
@@ -103,18 +104,28 @@ Options:
--version display version info and exit.
-c (ignored)
- -C install only if different (preserve the last data modification time)
+ -C install only if different (preserve data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
+ -p pass -p to $cpprog.
-s $stripprog installed files.
+ -S SUFFIX attempt to back up existing files, with suffix SUFFIX.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
+
+By default, rm is invoked with -f; when overridden with RMPROG,
+it's up to you to specify -f if you want it.
+
+If -S is not specified, no backups are attempted.
+
+Email bug reports to bug-automake@gnu.org.
+Automake home page: https://www.gnu.org/software/automake/
"
while test $# -ne 0; do
@@ -141,8 +152,13 @@ while test $# -ne 0; do
-o) chowncmd="$chownprog $2"
shift;;
+ -p) cpprog="$cpprog -p";;
+
-s) stripcmd=$stripprog;;
+ -S) backupsuffix="$2"
+ shift;;
+
-t)
is_target_a_directory=always
dst_arg=$2
@@ -259,6 +275,10 @@ do
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
+ # Don't chown directories that already exist.
+ if test $dstdir_status = 0; then
+ chowncmd=""
+ fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
@@ -473,6 +493,13 @@ do
then
rm -f "$dsttmp"
else
+ # If $backupsuffix is set, and the file being installed
+ # already exists, attempt a backup. Don't worry if it fails,
+ # e.g., if mv doesn't support -f.
+ if test -n "$backupsuffix" && test -f "$dst"; then
+ $doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
+ fi
+
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
@@ -487,9 +514,9 @@ do
# file should still install successfully.
{
test ! -f "$dst" ||
- $doit $rmcmd -f "$dst" 2>/dev/null ||
+ $doit $rmcmd "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
- { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
+ { $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
diff --git a/doc/ChangeLog b/doc/ChangeLog
index bf89490e..8d00228d 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2020-11-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Nextfile Statement): Clarify what happens in
+ a BEGINFILE rule.
+
2020-11-15 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Strange values): Add test programs inside
@@ -13,6 +18,12 @@
Update some other bits to point to it.
* wordlist: Updated with more words.
+2020-11-16 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (Nextfile Statement): Clarify what happens in
+ a BEGINFILE rule.
+>>>>>>> master
+
2020-10-31 Arnold D. Robbins <arnold@skeeve.com>
* texinfo.tex: Updated from GNULIB.
diff --git a/doc/gawk.info b/doc/gawk.info
index 244bbd8c..ebae71b7 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -10799,9 +10799,9 @@ statement accomplishes this much more efficiently.
In 'gawk', execution of 'nextfile' causes additional things to
happen: any 'ENDFILE' rules are executed if 'gawk' is not currently in
-an 'END' or 'BEGINFILE' rule, 'ARGIND' is incremented, and any
-'BEGINFILE' rules are executed. ('ARGIND' hasn't been introduced yet.
-*Note Built-in Variables::.)
+an 'END' rule, 'ARGIND' is incremented, and any 'BEGINFILE' rules are
+executed. ('ARGIND' hasn't been introduced yet. *Note Built-in
+Variables::.)
With 'gawk', 'nextfile' is useful inside a 'BEGINFILE' rule to skip
over a file that would otherwise cause 'gawk' to exit with a fatal
@@ -24467,6 +24467,12 @@ others, it returns a positive NaN.
or '+nan', respectively. Here too, 'gawk' accepts those strings as data
input and converts them to the proper floating-point values internally.
+ If you want to dive more deeply into this topic, you can find test
+programs in C, 'awk' and Python in the directory
+'awklib/eg/test-programs' in the 'gawk' distribution. These programs
+enable comparison among programming languages as to how they hanle NaN
+and infinity values.
+
---------- Footnotes ----------
(1) Thanks to Michael Brennan for this description, which we have
@@ -38186,392 +38192,392 @@ Node: Break Statement455132
Node: Continue Statement457224
Node: Next Statement459051
Node: Nextfile Statement461434
-Node: Exit Statement464086
-Node: Built-in Variables466489
-Node: User-modified467622
-Node: Auto-set475389
-Ref: Auto-set-Footnote-1492196
-Ref: Auto-set-Footnote-2492402
-Node: ARGC and ARGV492458
-Node: Pattern Action Summary496671
-Node: Arrays499101
-Node: Array Basics500430
-Node: Array Intro501274
-Ref: figure-array-elements503249
-Ref: Array Intro-Footnote-1505953
-Node: Reference to Elements506081
-Node: Assigning Elements508545
-Node: Array Example509036
-Node: Scanning an Array510795
-Node: Controlling Scanning513817
-Ref: Controlling Scanning-Footnote-1520273
-Node: Numeric Array Subscripts520589
-Node: Uninitialized Subscripts522773
-Node: Delete524392
-Ref: Delete-Footnote-1527144
-Node: Multidimensional527201
-Node: Multiscanning530296
-Node: Arrays of Arrays531887
-Node: Arrays Summary536655
-Node: Functions538748
-Node: Built-in539786
-Node: Calling Built-in540867
-Node: Numeric Functions542863
-Ref: Numeric Functions-Footnote-1546889
-Ref: Numeric Functions-Footnote-2547537
-Ref: Numeric Functions-Footnote-3547585
-Node: String Functions547857
-Ref: String Functions-Footnote-1571998
-Ref: String Functions-Footnote-2572126
-Ref: String Functions-Footnote-3572374
-Node: Gory Details572461
-Ref: table-sub-escapes574252
-Ref: table-sub-proposed575771
-Ref: table-posix-sub577134
-Ref: table-gensub-escapes578675
-Ref: Gory Details-Footnote-1579498
-Node: I/O Functions579652
-Ref: table-system-return-values586106
-Ref: I/O Functions-Footnote-1588186
-Ref: I/O Functions-Footnote-2588334
-Node: Time Functions588454
-Ref: Time Functions-Footnote-1599125
-Ref: Time Functions-Footnote-2599193
-Ref: Time Functions-Footnote-3599351
-Ref: Time Functions-Footnote-4599462
-Ref: Time Functions-Footnote-5599574
-Ref: Time Functions-Footnote-6599801
-Node: Bitwise Functions600067
-Ref: table-bitwise-ops600661
-Ref: Bitwise Functions-Footnote-1606724
-Ref: Bitwise Functions-Footnote-2606897
-Node: Type Functions607088
-Node: I18N Functions609951
-Node: User-defined611602
-Node: Definition Syntax612414
-Ref: Definition Syntax-Footnote-1618108
-Node: Function Example618179
-Ref: Function Example-Footnote-1621101
-Node: Function Calling621123
-Node: Calling A Function621711
-Node: Variable Scope622669
-Node: Pass By Value/Reference625663
-Node: Function Caveats628307
-Ref: Function Caveats-Footnote-1630354
-Node: Return Statement630474
-Node: Dynamic Typing633453
-Node: Indirect Calls634383
-Ref: Indirect Calls-Footnote-1644635
-Node: Functions Summary644763
-Node: Library Functions647468
-Ref: Library Functions-Footnote-1651075
-Ref: Library Functions-Footnote-2651218
-Node: Library Names651389
-Ref: Library Names-Footnote-1655056
-Ref: Library Names-Footnote-2655279
-Node: General Functions655365
-Node: Strtonum Function656468
-Node: Assert Function659490
-Node: Round Function662816
-Node: Cliff Random Function664356
-Node: Ordinal Functions665372
-Ref: Ordinal Functions-Footnote-1668435
-Ref: Ordinal Functions-Footnote-2668687
-Node: Join Function668897
-Ref: Join Function-Footnote-1670667
-Node: Getlocaltime Function670867
-Node: Readfile Function674609
-Node: Shell Quoting676586
-Node: Data File Management677987
-Node: Filetrans Function678619
-Node: Rewind Function682715
-Node: File Checking684624
-Ref: File Checking-Footnote-1685958
-Node: Empty Files686159
-Node: Ignoring Assigns688138
-Node: Getopt Function689688
-Ref: Getopt Function-Footnote-1704899
-Node: Passwd Functions705099
-Ref: Passwd Functions-Footnote-1713938
-Node: Group Functions714026
-Ref: Group Functions-Footnote-1721924
-Node: Walking Arrays722131
-Node: Library Functions Summary725139
-Node: Library Exercises726545
-Node: Sample Programs727010
-Node: Running Examples727780
-Node: Clones728508
-Node: Cut Program729732
-Node: Egrep Program739661
-Node: Id Program748672
-Node: Split Program758619
-Ref: Split Program-Footnote-1768393
-Node: Tee Program768566
-Node: Uniq Program771356
-Node: Wc Program778920
-Node: Bytes vs. Characters779317
-Node: Using extensions780865
-Node: wc program781623
-Node: Miscellaneous Programs786488
-Node: Dupword Program787701
-Node: Alarm Program789731
-Node: Translate Program794586
-Ref: Translate Program-Footnote-1799151
-Node: Labels Program799421
-Ref: Labels Program-Footnote-1802772
-Node: Word Sorting802856
-Node: History Sorting806928
-Node: Extract Program809153
-Node: Simple Sed817207
-Node: Igawk Program820281
-Ref: Igawk Program-Footnote-1834612
-Ref: Igawk Program-Footnote-2834814
-Ref: Igawk Program-Footnote-3834936
-Node: Anagram Program835051
-Node: Signature Program838113
-Node: Programs Summary839360
-Node: Programs Exercises840574
-Ref: Programs Exercises-Footnote-1844704
-Node: Advanced Features844790
-Node: Nondecimal Data846780
-Node: Array Sorting848371
-Node: Controlling Array Traversal849071
-Ref: Controlling Array Traversal-Footnote-1857439
-Node: Array Sorting Functions857557
-Ref: Array Sorting Functions-Footnote-1862648
-Node: Two-way I/O862844
-Ref: Two-way I/O-Footnote-1870565
-Ref: Two-way I/O-Footnote-2870752
-Node: TCP/IP Networking870834
-Node: Profiling873952
-Node: Advanced Features Summary883266
-Node: Internationalization885110
-Node: I18N and L10N886590
-Node: Explaining gettext887277
-Ref: Explaining gettext-Footnote-1893169
-Ref: Explaining gettext-Footnote-2893354
-Node: Programmer i18n893519
-Ref: Programmer i18n-Footnote-1898468
-Node: Translator i18n898517
-Node: String Extraction899311
-Ref: String Extraction-Footnote-1900443
-Node: Printf Ordering900529
-Ref: Printf Ordering-Footnote-1903315
-Node: I18N Portability903379
-Ref: I18N Portability-Footnote-1905835
-Node: I18N Example905898
-Ref: I18N Example-Footnote-1909173
-Ref: I18N Example-Footnote-2909246
-Node: Gawk I18N909355
-Node: I18N Summary910004
-Node: Debugger911345
-Node: Debugging912345
-Node: Debugging Concepts912786
-Node: Debugging Terms914595
-Node: Awk Debugging917170
-Ref: Awk Debugging-Footnote-1918115
-Node: Sample Debugging Session918247
-Node: Debugger Invocation918781
-Node: Finding The Bug920167
-Node: List of Debugger Commands926641
-Node: Breakpoint Control927974
-Node: Debugger Execution Control931668
-Node: Viewing And Changing Data935030
-Node: Execution Stack938571
-Node: Debugger Info940208
-Node: Miscellaneous Debugger Commands944279
-Node: Readline Support949341
-Node: Limitations950237
-Node: Debugging Summary952791
-Node: Namespaces954070
-Node: Global Namespace955181
-Node: Qualified Names956579
-Node: Default Namespace957578
-Node: Changing The Namespace958319
-Node: Naming Rules959933
-Node: Internal Name Management961781
-Node: Namespace Example962823
-Node: Namespace And Features965385
-Node: Namespace Summary966820
-Node: Arbitrary Precision Arithmetic968297
-Node: Computer Arithmetic969784
-Ref: table-numeric-ranges973550
-Ref: table-floating-point-ranges974043
-Ref: Computer Arithmetic-Footnote-1974701
-Node: Math Definitions974758
-Ref: table-ieee-formats977734
-Node: MPFR features978301
-Node: FP Math Caution980019
-Ref: FP Math Caution-Footnote-1981091
-Node: Inexactness of computations981460
-Node: Inexact representation982491
-Node: Comparing FP Values983851
-Node: Errors accumulate985092
-Node: Strange values986548
-Ref: Strange values-Footnote-1988828
-Node: Getting Accuracy988933
-Node: Try To Round991643
-Node: Setting precision992542
-Ref: table-predefined-precision-strings993239
-Node: Setting the rounding mode995069
-Ref: table-gawk-rounding-modes995443
-Ref: Setting the rounding mode-Footnote-1999374
-Node: Arbitrary Precision Integers999553
-Ref: Arbitrary Precision Integers-Footnote-11002728
-Node: Checking for MPFR1002877
-Node: POSIX Floating Point Problems1004351
-Ref: POSIX Floating Point Problems-Footnote-11008636
-Node: Floating point summary1008674
-Node: Dynamic Extensions1010864
-Node: Extension Intro1012417
-Node: Plugin License1013683
-Node: Extension Mechanism Outline1014480
-Ref: figure-load-extension1014919
-Ref: figure-register-new-function1016484
-Ref: figure-call-new-function1017576
-Node: Extension API Description1019638
-Node: Extension API Functions Introduction1021351
-Ref: table-api-std-headers1023187
-Node: General Data Types1027436
-Ref: General Data Types-Footnote-11036066
-Node: Memory Allocation Functions1036365
-Ref: Memory Allocation Functions-Footnote-11040866
-Node: Constructor Functions1040965
-Node: API Ownership of MPFR and GMP Values1044431
-Node: Registration Functions1045744
-Node: Extension Functions1046444
-Node: Exit Callback Functions1051766
-Node: Extension Version String1053016
-Node: Input Parsers1053679
-Node: Output Wrappers1066400
-Node: Two-way processors1070912
-Node: Printing Messages1073177
-Ref: Printing Messages-Footnote-11074348
-Node: Updating ERRNO1074501
-Node: Requesting Values1075240
-Ref: table-value-types-returned1075977
-Node: Accessing Parameters1076913
-Node: Symbol Table Access1078150
-Node: Symbol table by name1078662
-Ref: Symbol table by name-Footnote-11081686
-Node: Symbol table by cookie1081814
-Ref: Symbol table by cookie-Footnote-11085999
-Node: Cached values1086063
-Ref: Cached values-Footnote-11089599
-Node: Array Manipulation1089752
-Ref: Array Manipulation-Footnote-11090843
-Node: Array Data Types1090880
-Ref: Array Data Types-Footnote-11093538
-Node: Array Functions1093630
-Node: Flattening Arrays1098128
-Node: Creating Arrays1105104
-Node: Redirection API1109871
-Node: Extension API Variables1112704
-Node: Extension Versioning1113415
-Ref: gawk-api-version1113844
-Node: Extension GMP/MPFR Versioning1115575
-Node: Extension API Informational Variables1117203
-Node: Extension API Boilerplate1118276
-Node: Changes from API V11122250
-Node: Finding Extensions1123822
-Node: Extension Example1124381
-Node: Internal File Description1125179
-Node: Internal File Ops1129259
-Ref: Internal File Ops-Footnote-11140609
-Node: Using Internal File Ops1140749
-Ref: Using Internal File Ops-Footnote-11143132
-Node: Extension Samples1143406
-Node: Extension Sample File Functions1144935
-Node: Extension Sample Fnmatch1152584
-Node: Extension Sample Fork1154071
-Node: Extension Sample Inplace1155289
-Node: Extension Sample Ord1158915
-Node: Extension Sample Readdir1159751
-Ref: table-readdir-file-types1160640
-Node: Extension Sample Revout1161707
-Node: Extension Sample Rev2way1162296
-Node: Extension Sample Read write array1163036
-Node: Extension Sample Readfile1164978
-Node: Extension Sample Time1166073
-Node: Extension Sample API Tests1167825
-Node: gawkextlib1168317
-Node: Extension summary1171235
-Node: Extension Exercises1174937
-Node: Language History1176179
-Node: V7/SVR3.11177835
-Node: SVR41179987
-Node: POSIX1181421
-Node: BTL1182802
-Node: POSIX/GNU1183531
-Node: Feature History1189309
-Node: Common Extensions1205628
-Node: Ranges and Locales1206911
-Ref: Ranges and Locales-Footnote-11211527
-Ref: Ranges and Locales-Footnote-21211554
-Ref: Ranges and Locales-Footnote-31211789
-Node: Contributors1212012
-Node: History summary1218009
-Node: Installation1219389
-Node: Gawk Distribution1220333
-Node: Getting1220817
-Node: Extracting1221780
-Node: Distribution contents1223418
-Node: Unix Installation1229898
-Node: Quick Installation1230580
-Node: Shell Startup Files1232994
-Node: Additional Configuration Options1234083
-Node: Configuration Philosophy1236398
-Node: Non-Unix Installation1238767
-Node: PC Installation1239227
-Node: PC Binary Installation1240065
-Node: PC Compiling1240500
-Node: PC Using1241617
-Node: Cygwin1245170
-Node: MSYS1246394
-Node: VMS Installation1246996
-Node: VMS Compilation1247787
-Ref: VMS Compilation-Footnote-11249016
-Node: VMS Dynamic Extensions1249074
-Node: VMS Installation Details1250759
-Node: VMS Running1253012
-Node: VMS GNV1257291
-Node: VMS Old Gawk1258026
-Node: Bugs1258497
-Node: Bug address1259160
-Node: Usenet1262142
-Node: Maintainers1263146
-Node: Other Versions1264331
-Node: Installation summary1271419
-Node: Notes1272628
-Node: Compatibility Mode1273422
-Node: Additions1274204
-Node: Accessing The Source1275129
-Node: Adding Code1276566
-Node: New Ports1282785
-Node: Derived Files1287160
-Ref: Derived Files-Footnote-11292820
-Ref: Derived Files-Footnote-21292855
-Ref: Derived Files-Footnote-31293453
-Node: Future Extensions1293567
-Node: Implementation Limitations1294225
-Node: Extension Design1295435
-Node: Old Extension Problems1296579
-Ref: Old Extension Problems-Footnote-11298097
-Node: Extension New Mechanism Goals1298154
-Ref: Extension New Mechanism Goals-Footnote-11301518
-Node: Extension Other Design Decisions1301707
-Node: Extension Future Growth1303820
-Node: Notes summary1304426
-Node: Basic Concepts1305584
-Node: Basic High Level1306265
-Ref: figure-general-flow1306547
-Ref: figure-process-flow1307232
-Ref: Basic High Level-Footnote-11310533
-Node: Basic Data Typing1310718
-Node: Glossary1314046
-Node: Copying1345931
-Node: GNU Free Documentation License1383474
-Node: Index1408594
+Node: Exit Statement464072
+Node: Built-in Variables466475
+Node: User-modified467608
+Node: Auto-set475375
+Ref: Auto-set-Footnote-1492182
+Ref: Auto-set-Footnote-2492388
+Node: ARGC and ARGV492444
+Node: Pattern Action Summary496657
+Node: Arrays499087
+Node: Array Basics500416
+Node: Array Intro501260
+Ref: figure-array-elements503235
+Ref: Array Intro-Footnote-1505939
+Node: Reference to Elements506067
+Node: Assigning Elements508531
+Node: Array Example509022
+Node: Scanning an Array510781
+Node: Controlling Scanning513803
+Ref: Controlling Scanning-Footnote-1520259
+Node: Numeric Array Subscripts520575
+Node: Uninitialized Subscripts522759
+Node: Delete524378
+Ref: Delete-Footnote-1527130
+Node: Multidimensional527187
+Node: Multiscanning530282
+Node: Arrays of Arrays531873
+Node: Arrays Summary536641
+Node: Functions538734
+Node: Built-in539772
+Node: Calling Built-in540853
+Node: Numeric Functions542849
+Ref: Numeric Functions-Footnote-1546875
+Ref: Numeric Functions-Footnote-2547523
+Ref: Numeric Functions-Footnote-3547571
+Node: String Functions547843
+Ref: String Functions-Footnote-1571984
+Ref: String Functions-Footnote-2572112
+Ref: String Functions-Footnote-3572360
+Node: Gory Details572447
+Ref: table-sub-escapes574238
+Ref: table-sub-proposed575757
+Ref: table-posix-sub577120
+Ref: table-gensub-escapes578661
+Ref: Gory Details-Footnote-1579484
+Node: I/O Functions579638
+Ref: table-system-return-values586092
+Ref: I/O Functions-Footnote-1588172
+Ref: I/O Functions-Footnote-2588320
+Node: Time Functions588440
+Ref: Time Functions-Footnote-1599111
+Ref: Time Functions-Footnote-2599179
+Ref: Time Functions-Footnote-3599337
+Ref: Time Functions-Footnote-4599448
+Ref: Time Functions-Footnote-5599560
+Ref: Time Functions-Footnote-6599787
+Node: Bitwise Functions600053
+Ref: table-bitwise-ops600647
+Ref: Bitwise Functions-Footnote-1606710
+Ref: Bitwise Functions-Footnote-2606883
+Node: Type Functions607074
+Node: I18N Functions609937
+Node: User-defined611588
+Node: Definition Syntax612400
+Ref: Definition Syntax-Footnote-1618094
+Node: Function Example618165
+Ref: Function Example-Footnote-1621087
+Node: Function Calling621109
+Node: Calling A Function621697
+Node: Variable Scope622655
+Node: Pass By Value/Reference625649
+Node: Function Caveats628293
+Ref: Function Caveats-Footnote-1630340
+Node: Return Statement630460
+Node: Dynamic Typing633439
+Node: Indirect Calls634369
+Ref: Indirect Calls-Footnote-1644621
+Node: Functions Summary644749
+Node: Library Functions647454
+Ref: Library Functions-Footnote-1651061
+Ref: Library Functions-Footnote-2651204
+Node: Library Names651375
+Ref: Library Names-Footnote-1655042
+Ref: Library Names-Footnote-2655265
+Node: General Functions655351
+Node: Strtonum Function656454
+Node: Assert Function659476
+Node: Round Function662802
+Node: Cliff Random Function664342
+Node: Ordinal Functions665358
+Ref: Ordinal Functions-Footnote-1668421
+Ref: Ordinal Functions-Footnote-2668673
+Node: Join Function668883
+Ref: Join Function-Footnote-1670653
+Node: Getlocaltime Function670853
+Node: Readfile Function674595
+Node: Shell Quoting676572
+Node: Data File Management677973
+Node: Filetrans Function678605
+Node: Rewind Function682701
+Node: File Checking684610
+Ref: File Checking-Footnote-1685944
+Node: Empty Files686145
+Node: Ignoring Assigns688124
+Node: Getopt Function689674
+Ref: Getopt Function-Footnote-1704885
+Node: Passwd Functions705085
+Ref: Passwd Functions-Footnote-1713924
+Node: Group Functions714012
+Ref: Group Functions-Footnote-1721910
+Node: Walking Arrays722117
+Node: Library Functions Summary725125
+Node: Library Exercises726531
+Node: Sample Programs726996
+Node: Running Examples727766
+Node: Clones728494
+Node: Cut Program729718
+Node: Egrep Program739647
+Node: Id Program748658
+Node: Split Program758605
+Ref: Split Program-Footnote-1768379
+Node: Tee Program768552
+Node: Uniq Program771342
+Node: Wc Program778906
+Node: Bytes vs. Characters779303
+Node: Using extensions780851
+Node: wc program781609
+Node: Miscellaneous Programs786474
+Node: Dupword Program787687
+Node: Alarm Program789717
+Node: Translate Program794572
+Ref: Translate Program-Footnote-1799137
+Node: Labels Program799407
+Ref: Labels Program-Footnote-1802758
+Node: Word Sorting802842
+Node: History Sorting806914
+Node: Extract Program809139
+Node: Simple Sed817193
+Node: Igawk Program820267
+Ref: Igawk Program-Footnote-1834598
+Ref: Igawk Program-Footnote-2834800
+Ref: Igawk Program-Footnote-3834922
+Node: Anagram Program835037
+Node: Signature Program838099
+Node: Programs Summary839346
+Node: Programs Exercises840560
+Ref: Programs Exercises-Footnote-1844690
+Node: Advanced Features844776
+Node: Nondecimal Data846766
+Node: Array Sorting848357
+Node: Controlling Array Traversal849057
+Ref: Controlling Array Traversal-Footnote-1857425
+Node: Array Sorting Functions857543
+Ref: Array Sorting Functions-Footnote-1862634
+Node: Two-way I/O862830
+Ref: Two-way I/O-Footnote-1870551
+Ref: Two-way I/O-Footnote-2870738
+Node: TCP/IP Networking870820
+Node: Profiling873938
+Node: Advanced Features Summary883252
+Node: Internationalization885096
+Node: I18N and L10N886576
+Node: Explaining gettext887263
+Ref: Explaining gettext-Footnote-1893155
+Ref: Explaining gettext-Footnote-2893340
+Node: Programmer i18n893505
+Ref: Programmer i18n-Footnote-1898454
+Node: Translator i18n898503
+Node: String Extraction899297
+Ref: String Extraction-Footnote-1900429
+Node: Printf Ordering900515
+Ref: Printf Ordering-Footnote-1903301
+Node: I18N Portability903365
+Ref: I18N Portability-Footnote-1905821
+Node: I18N Example905884
+Ref: I18N Example-Footnote-1909159
+Ref: I18N Example-Footnote-2909232
+Node: Gawk I18N909341
+Node: I18N Summary909990
+Node: Debugger911331
+Node: Debugging912331
+Node: Debugging Concepts912772
+Node: Debugging Terms914581
+Node: Awk Debugging917156
+Ref: Awk Debugging-Footnote-1918101
+Node: Sample Debugging Session918233
+Node: Debugger Invocation918767
+Node: Finding The Bug920153
+Node: List of Debugger Commands926627
+Node: Breakpoint Control927960
+Node: Debugger Execution Control931654
+Node: Viewing And Changing Data935016
+Node: Execution Stack938557
+Node: Debugger Info940194
+Node: Miscellaneous Debugger Commands944265
+Node: Readline Support949327
+Node: Limitations950223
+Node: Debugging Summary952777
+Node: Namespaces954056
+Node: Global Namespace955167
+Node: Qualified Names956565
+Node: Default Namespace957564
+Node: Changing The Namespace958305
+Node: Naming Rules959919
+Node: Internal Name Management961767
+Node: Namespace Example962809
+Node: Namespace And Features965371
+Node: Namespace Summary966806
+Node: Arbitrary Precision Arithmetic968283
+Node: Computer Arithmetic969770
+Ref: table-numeric-ranges973536
+Ref: table-floating-point-ranges974029
+Ref: Computer Arithmetic-Footnote-1974687
+Node: Math Definitions974744
+Ref: table-ieee-formats977720
+Node: MPFR features978287
+Node: FP Math Caution980005
+Ref: FP Math Caution-Footnote-1981077
+Node: Inexactness of computations981446
+Node: Inexact representation982477
+Node: Comparing FP Values983837
+Node: Errors accumulate985078
+Node: Strange values986534
+Ref: Strange values-Footnote-1989096
+Node: Getting Accuracy989201
+Node: Try To Round991911
+Node: Setting precision992810
+Ref: table-predefined-precision-strings993507
+Node: Setting the rounding mode995337
+Ref: table-gawk-rounding-modes995711
+Ref: Setting the rounding mode-Footnote-1999642
+Node: Arbitrary Precision Integers999821
+Ref: Arbitrary Precision Integers-Footnote-11002996
+Node: Checking for MPFR1003145
+Node: POSIX Floating Point Problems1004619
+Ref: POSIX Floating Point Problems-Footnote-11008904
+Node: Floating point summary1008942
+Node: Dynamic Extensions1011132
+Node: Extension Intro1012685
+Node: Plugin License1013951
+Node: Extension Mechanism Outline1014748
+Ref: figure-load-extension1015187
+Ref: figure-register-new-function1016752
+Ref: figure-call-new-function1017844
+Node: Extension API Description1019906
+Node: Extension API Functions Introduction1021619
+Ref: table-api-std-headers1023455
+Node: General Data Types1027704
+Ref: General Data Types-Footnote-11036334
+Node: Memory Allocation Functions1036633
+Ref: Memory Allocation Functions-Footnote-11041134
+Node: Constructor Functions1041233
+Node: API Ownership of MPFR and GMP Values1044699
+Node: Registration Functions1046012
+Node: Extension Functions1046712
+Node: Exit Callback Functions1052034
+Node: Extension Version String1053284
+Node: Input Parsers1053947
+Node: Output Wrappers1066668
+Node: Two-way processors1071180
+Node: Printing Messages1073445
+Ref: Printing Messages-Footnote-11074616
+Node: Updating ERRNO1074769
+Node: Requesting Values1075508
+Ref: table-value-types-returned1076245
+Node: Accessing Parameters1077181
+Node: Symbol Table Access1078418
+Node: Symbol table by name1078930
+Ref: Symbol table by name-Footnote-11081954
+Node: Symbol table by cookie1082082
+Ref: Symbol table by cookie-Footnote-11086267
+Node: Cached values1086331
+Ref: Cached values-Footnote-11089867
+Node: Array Manipulation1090020
+Ref: Array Manipulation-Footnote-11091111
+Node: Array Data Types1091148
+Ref: Array Data Types-Footnote-11093806
+Node: Array Functions1093898
+Node: Flattening Arrays1098396
+Node: Creating Arrays1105372
+Node: Redirection API1110139
+Node: Extension API Variables1112972
+Node: Extension Versioning1113683
+Ref: gawk-api-version1114112
+Node: Extension GMP/MPFR Versioning1115843
+Node: Extension API Informational Variables1117471
+Node: Extension API Boilerplate1118544
+Node: Changes from API V11122518
+Node: Finding Extensions1124090
+Node: Extension Example1124649
+Node: Internal File Description1125447
+Node: Internal File Ops1129527
+Ref: Internal File Ops-Footnote-11140877
+Node: Using Internal File Ops1141017
+Ref: Using Internal File Ops-Footnote-11143400
+Node: Extension Samples1143674
+Node: Extension Sample File Functions1145203
+Node: Extension Sample Fnmatch1152852
+Node: Extension Sample Fork1154339
+Node: Extension Sample Inplace1155557
+Node: Extension Sample Ord1159183
+Node: Extension Sample Readdir1160019
+Ref: table-readdir-file-types1160908
+Node: Extension Sample Revout1161975
+Node: Extension Sample Rev2way1162564
+Node: Extension Sample Read write array1163304
+Node: Extension Sample Readfile1165246
+Node: Extension Sample Time1166341
+Node: Extension Sample API Tests1168093
+Node: gawkextlib1168585
+Node: Extension summary1171503
+Node: Extension Exercises1175205
+Node: Language History1176447
+Node: V7/SVR3.11178103
+Node: SVR41180255
+Node: POSIX1181689
+Node: BTL1183070
+Node: POSIX/GNU1183799
+Node: Feature History1189577
+Node: Common Extensions1205896
+Node: Ranges and Locales1207179
+Ref: Ranges and Locales-Footnote-11211795
+Ref: Ranges and Locales-Footnote-21211822
+Ref: Ranges and Locales-Footnote-31212057
+Node: Contributors1212280
+Node: History summary1218277
+Node: Installation1219657
+Node: Gawk Distribution1220601
+Node: Getting1221085
+Node: Extracting1222048
+Node: Distribution contents1223686
+Node: Unix Installation1230166
+Node: Quick Installation1230848
+Node: Shell Startup Files1233262
+Node: Additional Configuration Options1234351
+Node: Configuration Philosophy1236666
+Node: Non-Unix Installation1239035
+Node: PC Installation1239495
+Node: PC Binary Installation1240333
+Node: PC Compiling1240768
+Node: PC Using1241885
+Node: Cygwin1245438
+Node: MSYS1246662
+Node: VMS Installation1247264
+Node: VMS Compilation1248055
+Ref: VMS Compilation-Footnote-11249284
+Node: VMS Dynamic Extensions1249342
+Node: VMS Installation Details1251027
+Node: VMS Running1253280
+Node: VMS GNV1257559
+Node: VMS Old Gawk1258294
+Node: Bugs1258765
+Node: Bug address1259428
+Node: Usenet1262410
+Node: Maintainers1263414
+Node: Other Versions1264599
+Node: Installation summary1271687
+Node: Notes1272896
+Node: Compatibility Mode1273690
+Node: Additions1274472
+Node: Accessing The Source1275397
+Node: Adding Code1276834
+Node: New Ports1283053
+Node: Derived Files1287428
+Ref: Derived Files-Footnote-11293088
+Ref: Derived Files-Footnote-21293123
+Ref: Derived Files-Footnote-31293721
+Node: Future Extensions1293835
+Node: Implementation Limitations1294493
+Node: Extension Design1295703
+Node: Old Extension Problems1296847
+Ref: Old Extension Problems-Footnote-11298365
+Node: Extension New Mechanism Goals1298422
+Ref: Extension New Mechanism Goals-Footnote-11301786
+Node: Extension Other Design Decisions1301975
+Node: Extension Future Growth1304088
+Node: Notes summary1304694
+Node: Basic Concepts1305852
+Node: Basic High Level1306533
+Ref: figure-general-flow1306815
+Ref: figure-process-flow1307500
+Ref: Basic High Level-Footnote-11310801
+Node: Basic Data Typing1310986
+Node: Glossary1314314
+Node: Copying1346199
+Node: GNU Free Documentation License1383742
+Node: Index1408862

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 7c855f0d..c69d591d 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -15509,7 +15509,7 @@ statement accomplishes this much more efficiently.
In @command{gawk}, execution of @code{nextfile} causes additional things
to happen: any @code{ENDFILE} rules are executed if @command{gawk} is
-not currently in an @code{END} or @code{BEGINFILE} rule, @code{ARGIND} is
+not currently in an @code{END} rule, @code{ARGIND} is
incremented, and any @code{BEGINFILE} rules are executed. (@code{ARGIND}
hasn't been introduced yet. @xref{Built-in Variables}.)
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 1822bc0b..8b35bf32 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -14780,7 +14780,7 @@ statement accomplishes this much more efficiently.
In @command{gawk}, execution of @code{nextfile} causes additional things
to happen: any @code{ENDFILE} rules are executed if @command{gawk} is
-not currently in an @code{END} or @code{BEGINFILE} rule, @code{ARGIND} is
+not currently in an @code{END} rule, @code{ARGIND} is
incremented, and any @code{BEGINFILE} rules are executed. (@code{ARGIND}
hasn't been introduced yet. @xref{Built-in Variables}.)