diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2020-11-16 06:15:50 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2020-11-16 06:15:50 +0200 |
commit | eabd0e4c1a72da3d164d0c0a8c335d583c6f698d (patch) | |
tree | 58dcd60ab076790c428ca2069073c3470f330aaf | |
parent | 6d1274d1d0c9b2f0feb109876c7c250951035a3c (diff) | |
parent | 476b183d4f70a098aae0943a16ead5b59ffe6e4b (diff) | |
download | egawk-eabd0e4c1a72da3d164d0c0a8c335d583c6f698d.tar.gz egawk-eabd0e4c1a72da3d164d0c0a8c335d583c6f698d.tar.bz2 egawk-eabd0e4c1a72da3d164d0c0a8c335d583c6f698d.zip |
Merge branch 'master' into feature/cmp_scalars
-rw-r--r-- | build-aux/ChangeLog | 4 | ||||
-rwxr-xr-x | build-aux/config.guess | 186 | ||||
-rwxr-xr-x | build-aux/config.sub | 40 | ||||
-rwxr-xr-x | build-aux/install-sh | 35 | ||||
-rw-r--r-- | doc/ChangeLog | 11 | ||||
-rw-r--r-- | doc/gawk.info | 784 | ||||
-rw-r--r-- | doc/gawk.texi | 2 | ||||
-rw-r--r-- | doc/gawktexi.in | 2 |
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}.) |