summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2022-11-17 18:38:11 +0200
committerArnold D. Robbins <arnold@skeeve.com>2022-11-17 18:38:11 +0200
commit879b461db751d9d7ce0621f20680882108cbce59 (patch)
treedabff62c42fa173cdecb9f946d5912958c037f72
parent299f6d4eabd53b29d6b02dab510d5d74108bef5c (diff)
downloadgawk-879b461db751d9d7ce0621f20680882108cbce59.tar.gz
Prep for release.
-rw-r--r--ChangeLog5
-rw-r--r--README6
-rw-r--r--build-aux/ChangeLog4
-rwxr-xr-xbuild-aux/depcomp4
-rw-r--r--build-aux/texinfo.tex109
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--doc/ChangeLog7
-rw-r--r--doc/awkcard.in2
-rw-r--r--doc/gawk.info1259
-rw-r--r--doc/gawk.texi11
-rw-r--r--doc/gawktexi.in11
-rw-r--r--doc/texinfo.tex109
-rw-r--r--doc/wordlist8
-rw-r--r--doc/wordlist62
-rw-r--r--extension/ChangeLog4
-rwxr-xr-xextension/configure20
-rw-r--r--extension/configure.ac2
-rw-r--r--support/ChangeLog4
-rw-r--r--support/pma.c1
20 files changed, 830 insertions, 760 deletions
diff --git a/ChangeLog b/ChangeLog
index f45cd9e4..0b5c186b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * configure.ac: Update version.
+ * README: Updated.
+
2022-11-01 Arnold D. Robbins <arnold@skeeve.com>
* NEWS: Updated.
diff --git a/README b/README
index 599154d3..9d12828d 100644
--- a/README
+++ b/README
@@ -7,11 +7,11 @@
README:
-This is GNU Awk 5.2.0. It is upwardly compatible with Brian Kernighan's
+This is GNU Awk 5.2.1. It is upwardly compatible with Brian Kernighan's
version of Unix awk. It is almost completely compliant with the
2018 POSIX 1003.1 standard for awk. (See the note below about POSIX.)
-This is a major release. See NEWS and ChangeLog for details.
+This is a bug-fix release. See NEWS and ChangeLog for details.
Work to be done is described briefly in the TODO file, which is available
only in the 'master' branch in the Git repo.
@@ -91,7 +91,7 @@ MS-Windows with MinGW:
Eli Zaretskii
eliz@gnu.org
-VMS:
+OpenVMS:
John Malmberg
wb8tyw@qsl.net
diff --git a/build-aux/ChangeLog b/build-aux/ChangeLog
index 22adabac..b73629d3 100644
--- a/build-aux/ChangeLog
+++ b/build-aux/ChangeLog
@@ -1,3 +1,7 @@
+2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * depcomp, texinfo.tex: Updated from GNULIB.
+
2022-10-15 Arnold D. Robbins <arnold@skeeve.com>
* config.guess, config.sub, texinfo.tex: Updated from GNULIB.
diff --git a/build-aux/depcomp b/build-aux/depcomp
index 75323b73..703eed27 100755
--- a/build-aux/depcomp
+++ b/build-aux/depcomp
@@ -1,7 +1,7 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
-scriptversion=2018-03-07.03; # UTC
+scriptversion=2022-09-18.14; # UTC
# Copyright (C) 1999-2022 Free Software Foundation, Inc.
@@ -197,7 +197,7 @@ gcc3)
;;
gcc)
-## Note that this doesn't just cater to obsosete pre-3.x GCC compilers.
+## Note that this doesn't just cater to obsolete pre-3.x GCC compilers.
## but also to in-use compilers like IMB xlc/xlC and the HP C compiler.
## (see the conditional assignment to $gccflag above).
## There are various ways to get dependency output from gcc. Here's
diff --git a/build-aux/texinfo.tex b/build-aux/texinfo.tex
index 9ad8fafc..cfc77a84 100644
--- a/build-aux/texinfo.tex
+++ b/build-aux/texinfo.tex
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2022-10-01.15}
+\def\texinfoversion{2022-11-12.22}
%
% Copyright 1985, 1986, 1988, 1990-2022 Free Software Foundation, Inc.
%
@@ -3691,7 +3691,10 @@ $$%
% @textdegree - the normal degrees sign.
%
-\def\textdegree{$^\circ$}
+\def\textdegree{%
+ \ifmmode ^\circ
+ \else {\tcfont \char 176}%
+ \fi}
% Laurent Siebenmann reports \Orb undefined with:
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
@@ -5270,7 +5273,10 @@ $$%
\xdef\trimmed{\segment}%
\xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
\xdef\indexsortkey{\trimmed}%
- \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi
+ \ifx\indexsortkey\empty
+ \message{Empty index sort key near line \the\inputlineno}%
+ \xdef\indexsortkey{ }%
+ \fi
}\fi
%
% Append to \fullindexsortkey.
@@ -6399,6 +6405,16 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\Yappendixkeyword{Yappendix}
\def\Yomitfromtockeyword{Yomitfromtoc}
%
+%
+% Definitions for @thischapter. These can be overridden in translation
+% files.
+\def\thischapterAppendix{%
+ \putwordAppendix{} \thischapternum: \thischaptername}
+
+\def\thischapterChapter{%
+ \putwordChapter{} \thischapternum: \thischaptername}
+%
+%
\def\chapmacro#1#2#3{%
\expandafter\ifx\thisenv\titlepage\else
\checkenv{}% chapters, etc., should not start inside an environment.
@@ -6421,22 +6437,14 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xdef\currentchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\appendixletter}%
- % \noexpand\putwordAppendix avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
- \noexpand\thischapternum:
- \noexpand\thischaptername}%
+ \let\noexpand\thischapter\noexpand\thischapterAppendix
}%
\else
\toks0={#1}%
\xdef\currentchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\the\chapno}%
- % \noexpand\putwordChapter avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
- \noexpand\thischapternum:
- \noexpand\thischaptername}%
+ \let\noexpand\thischapter\noexpand\thischapterChapter
}%
\fi\fi\fi
%
@@ -6522,6 +6530,12 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\subsubsecheadingskip{\subsecheadingskip}
\def\subsubsecheadingbreak{\subsecheadingbreak}
+% Definition for @thissection. This can be overridden in translation
+% files.
+\def\thissectionDef{%
+ \putwordSection{} \thissectionnum: \thissectionname}
+%
+
% Print any size, any type, section title.
%
@@ -6563,11 +6577,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xdef\currentsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- % \noexpand\putwordSection avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thissection{\noexpand\putwordSection{}
- \noexpand\thissectionnum:
- \noexpand\thissectionname}%
+ \let\noexpand\thissection\noexpand\thissectionDef
}%
\fi
\else
@@ -6576,11 +6586,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xdef\currentsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- % \noexpand\putwordSection avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thissection{\noexpand\putwordSection{}
- \noexpand\thissectionnum:
- \noexpand\thissectionname}%
+ \let\noexpand\thissection\noexpand\thissectionDef
}%
\fi
\fi\fi\fi
@@ -7120,12 +7126,19 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\startsavinginserts
\lskip=\leftskip \rskip=\rightskip
\leftskip=0pt\rightskip=0pt % we want these *outside*.
+ %
+ % Set paragraph width for text inside cartouche. There are
+ % left and right margins of 3pt each plus two vrules 0.4pt each.
\cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
+ \advance\cartinner by -6.8pt
+ %
+ % For drawing top and bottom of cartouche. Each corner char
+ % adds 6pt and we take off the width of a rule to line up with the
+ % right boundary perfectly.
\cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
- % side, and for 6pt waste from
- % each corner char, and rule thickness
+ \advance\cartouter by 11.6pt
+ %
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
%
% If this cartouche directly follows a sectioning command, we need the
@@ -8418,21 +8431,21 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\ifcase\paramno
% 0
\expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup
+ \begingroup
\noexpand\spaceisspace
\noexpand\endlineisspace
\noexpand\expandafter % skip any whitespace after the macro name.
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname{%
- \egroup
+ \endgroup
\noexpand\scanmacro{\macrobody}}%
\or % 1
\expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup
+ \begingroup
\noexpand\braceorline
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname##1{%
- \egroup
+ \endgroup
\noexpand\scanmacro{\macrobody}%
}%
\else % at most 9
@@ -8443,7 +8456,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @MACNAME@@@ removes braces surrounding the argument list.
% @MACNAME@@@@ scans the macro body with arguments substituted.
\expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup
+ \begingroup
\noexpand\expandafter % This \expandafter skip any spaces after the
\noexpand\macroargctxt % macro before we change the catcode of space.
\noexpand\expandafter
@@ -8457,7 +8470,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\expandafter\xdef
\expandafter\expandafter
\csname\the\macname @@@@\endcsname\paramlist{%
- \egroup\noexpand\scanmacro{\macrobody}}%
+ \endgroup\noexpand\scanmacro{\macrobody}}%
\else % 10 or more:
\expandafter\xdef\csname\the\macname\endcsname{%
\noexpand\getargvals@{\the\macname}{\argl}%
@@ -8900,11 +8913,10 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xrefprintnodename\printedrefname
%
\ifflagclear{txiomitxrefpg}{%
- % But we always want a comma and a space:
- ,\space
- %
+ % We always want a comma
+ ,%
% output the `page 3'.
- \turnoffactive \putwordpage\tie\refx{#1-pg}%
+ \turnoffactive \putpageref{#1}%
% Add a , if xref followed by a space
\if\space\noexpand\tokenafterxref ,%
\else\ifx\ \tokenafterxref ,% @TAB
@@ -8920,6 +8932,10 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\endlink
\endgroup}
+% can be overridden in translation files
+\def\putpageref#1{%
+ \space\putwordpage\tie\refx{#1-pg}}
+
% Output a cross-manual xref to #1. Used just above (twice).
%
% Only include the text "Section ``foo'' in" if the foo is neither
@@ -10050,7 +10066,7 @@ directory should work if nowhere else does.}
\gdefchar^^ae{\v Z}
\gdefchar^^af{\dotaccent Z}
%
- \gdefchar^^b0{\textdegree{}}
+ \gdefchar^^b0{\textdegree}
\gdefchar^^b1{\ogonek{a}}
\gdefchar^^b2{\ogonek{ }}
\gdefchar^^b3{\l}
@@ -10473,7 +10489,7 @@ directory should work if nowhere else does.}
\DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}%
\DeclareUnicodeCharacter{00AF}{\={ }}%
%
- \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}%
+ \DeclareUnicodeCharacter{00B0}{\textdegree}
\DeclareUnicodeCharacter{00B1}{\ensuremath\pm}%
\DeclareUnicodeCharacter{00B2}{$^2$}%
\DeclareUnicodeCharacter{00B3}{$^3$}%
@@ -10977,7 +10993,7 @@ directory should work if nowhere else does.}
%
\DeclareUnicodeCharacter{20AC}{\euro{}}%
%
- \DeclareUnicodeCharacter{2192}{\expansion{}}%
+ \DeclareUnicodeCharacter{2192}{\arrow}%
\DeclareUnicodeCharacter{21D2}{\result{}}%
%
% Mathematical symbols
@@ -11438,17 +11454,18 @@ directory should work if nowhere else does.}
\mtadjustprotcode#1\relax
}
+\newcount\countC
\def\mtadjustprotcode#1{%
- \countA=0
+ \countC=0
\loop
- \ifcase\lpcode#1\countA\else
- \mtadjustcp\lpcode#1\countA
+ \ifcase\lpcode#1\countC\else
+ \mtadjustcp\lpcode#1\countC
\fi
- \ifcase\rpcode#1\countA\else
- \mtadjustcp\rpcode#1\countA
+ \ifcase\rpcode#1\countC\else
+ \mtadjustcp\rpcode#1\countC
\fi
- \advance\countA 1
- \ifnum\countA < 256 \repeat
+ \advance\countC 1
+ \ifnum\countC < 256 \repeat
}
\newcount\countB
diff --git a/configure b/configure
index 8dfff5e9..84024e9d 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for GNU Awk 5.2.0b.
+# Generated by GNU Autoconf 2.71 for GNU Awk 5.2.1.
#
# Report bugs to <bug-gawk@gnu.org>.
#
@@ -611,8 +611,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU Awk'
PACKAGE_TARNAME='gawk'
-PACKAGE_VERSION='5.2.0b'
-PACKAGE_STRING='GNU Awk 5.2.0b'
+PACKAGE_VERSION='5.2.1'
+PACKAGE_STRING='GNU Awk 5.2.1'
PACKAGE_BUGREPORT='bug-gawk@gnu.org'
PACKAGE_URL='https://www.gnu.org/software/gawk/'
@@ -1374,7 +1374,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Awk 5.2.0b to adapt to many kinds of systems.
+\`configure' configures GNU Awk 5.2.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1445,7 +1445,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Awk 5.2.0b:";;
+ short | recursive ) echo "Configuration of GNU Awk 5.2.1:";;
esac
cat <<\_ACEOF
@@ -1570,7 +1570,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Awk configure 5.2.0b
+GNU Awk configure 5.2.1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2227,7 +2227,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Awk $as_me 5.2.0b, which was
+It was created by GNU Awk $as_me 5.2.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3522,7 +3522,7 @@ fi
# Define the identity of the package.
PACKAGE='gawk'
- VERSION='5.2.0b'
+ VERSION='5.2.1'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -14377,7 +14377,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Awk $as_me 5.2.0b, which was
+This file was extended by GNU Awk $as_me 5.2.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -14447,7 +14447,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-GNU Awk config.status 5.2.0b
+GNU Awk config.status 5.2.1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/configure.ac b/configure.ac
index a11323ed..18b42bc4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,7 +23,7 @@ dnl
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([GNU Awk],[5.2.0b],[bug-gawk@gnu.org],[gawk])
+AC_INIT([GNU Awk],[5.2.1],[bug-gawk@gnu.org],[gawk])
# This is a hack. Different versions of install on different systems
# are just too different. Chuck it and use install-sh.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 20da3b43..b0963cec 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,5 +1,12 @@
2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
+ * awkcard.in: Update patchlevel.
+ * gawktexi.in: Ditto.
+ * texinfo.tex: Sync from GNULIB.
+ * wordlist, wordlist6: Updated.
+
+2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
+
* gawktexi.in (Persistent Memory): Document that the CIFS filesystem
doesn't work for backing files.
* pm-gawk.1: Ditto.
diff --git a/doc/awkcard.in b/doc/awkcard.in
index 5c68cb5b..9ece92e6 100644
--- a/doc/awkcard.in
+++ b/doc/awkcard.in
@@ -1983,7 +1983,7 @@ The default for \*(FIcat\*(FR is \*(FC"LC_MESSAGES"\*(FR.\*(CB
.ES
.nf
\*(CDHost: \*(FCftp.gnu.org\*(FR
-File: \*(FC/gnu/gawk/gawk-5.2.0.tar.gz\fP
+File: \*(FC/gnu/gawk/gawk-5.2.1.tar.gz\fP
.in +.2i
.fi
GNU \*(AK (\*(GK). There may be a later version.
diff --git a/doc/gawk.info b/doc/gawk.info
index 91e95499..a2e84c77 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -5,7 +5,7 @@ Free Software Foundation, Inc.
This is Edition 5.2 of 'GAWK: Effective AWK Programming: A User's
-Guide for GNU Awk', for the 5.2.0 (or later) version of the GNU
+Guide for GNU Awk', for the 5.2.1 (or later) version of the GNU
implementation of AWK.
Permission is granted to copy, distribute and/or modify this document
@@ -42,7 +42,7 @@ Free Software Foundation, Inc.
This is Edition 5.2 of 'GAWK: Effective AWK Programming: A User's
-Guide for GNU Awk', for the 5.2.0 (or later) version of the GNU
+Guide for GNU Awk', for the 5.2.1 (or later) version of the GNU
implementation of AWK.
Permission is granted to copy, distribute and/or modify this document
@@ -689,7 +689,8 @@ in (a) below. A copy of the license is included in the section entitled
extensions on OpenVMS.
* OpenVMS Installation Details:: How to install 'gawk' under
OpenVMS.
-* OpenVMS Running:: How to run 'gawk' under OpenVMS.
+* OpenVMS Running:: How to run 'gawk' under
+ OpenVMS.
* OpenVMS GNV:: The OpenVMS GNV Project.
* Bugs:: Reporting Problems and Bugs.
* Bug definition:: Defining what is and is not a bug.
@@ -31018,7 +31019,7 @@ There are two ways to get GNU software:
supported. If you have the 'wget' program, you can use a command
like the following:
- wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.0.tar.gz
+ wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.1.tar.gz
The GNU software archive is mirrored around the world. The
up-to-date list of mirror sites is available from the main FSF website
@@ -31040,25 +31041,25 @@ compression programs: 'gzip', 'bzip2', and 'xz'. For simplicity, the
rest of these instructions assume you are using the one compressed with
the GNU Gzip program ('gzip').
- Once you have the distribution (e.g., 'gawk-5.2.0.tar.gz'), use
+ Once you have the distribution (e.g., 'gawk-5.2.1.tar.gz'), use
'gzip' to expand the file and then use 'tar' to extract it. You can use
the following pipeline to produce the 'gawk' distribution:
- gzip -d -c gawk-5.2.0.tar.gz | tar -xvpf -
+ gzip -d -c gawk-5.2.1.tar.gz | tar -xvpf -
On a system with GNU 'tar', you can let 'tar' do the decompression
for you:
- tar -xvpzf gawk-5.2.0.tar.gz
+ tar -xvpzf gawk-5.2.1.tar.gz
-Extracting the archive creates a directory named 'gawk-5.2.0' in the
+Extracting the archive creates a directory named 'gawk-5.2.1' in the
current directory.
The distribution file name is of the form 'gawk-V.R.P.tar.gz'. The V
represents the major version of 'gawk', the R represents the current
release of version V, and the P represents a "patch level", meaning that
minor bugs have been fixed in the release. The current patch level is
-0, but when retrieving distributions, you should get the version with
+1, but when retrieving distributions, you should get the version with
the highest version, release, and patch level. (Note, however, that
patch levels greater than or equal to 60 denote "beta" or nonproduction
software; you might not want to retrieve such a version unless you don't
@@ -31315,7 +31316,7 @@ Unix-derived systems, GNU/Linux, BSD-based systems, and the Cygwin
environment for MS-Windows.
After you have extracted the 'gawk' distribution, 'cd' to
-'gawk-5.2.0'. As with most GNU software, you configure 'gawk' for your
+'gawk-5.2.1'. As with most GNU software, you configure 'gawk' for your
system by running the 'configure' program. This program is a Bourne
shell script that is generated automatically using GNU Autoconf. (The
Autoconf software is described fully starting with *note Autoconf:
@@ -31735,8 +31736,8 @@ environment provides an excellent simulation of GNU/Linux, using Bash,
GCC, GNU Make, and other GNU programs. Compilation and installation for
Cygwin is the same as for a Unix system:
- tar -xvpzf gawk-5.2.0.tar.gz
- cd gawk-5.2.0
+ tar -xvpzf gawk-5.2.1.tar.gz
+ cd gawk-5.2.1
./configure
make && make check
@@ -31783,8 +31784,8 @@ This node describes how to compile and install 'gawk' under OpenVMS.
* Menu:
* OpenVMS Compilation:: How to compile 'gawk' under OpenVMS.
-* OpenVMS Dynamic Extensions:: Compiling 'gawk' dynamic extensions on
- OpenVMS.
+* OpenVMS Dynamic Extensions:: Compiling 'gawk' dynamic extensions
+ on OpenVMS.
* OpenVMS Installation Details:: How to install 'gawk' under OpenVMS.
* OpenVMS Running:: How to run 'gawk' under OpenVMS.
* OpenVMS GNV:: The OpenVMS GNV Project.
@@ -32625,9 +32626,9 @@ B.6 Summary
* The 'gawk' distribution is available from the GNU Project's main
distribution site, 'ftp.gnu.org'. The canonical build recipe is:
- wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.0.tar.gz
- tar -xvpzf gawk-5.2.0.tar.gz
- cd gawk-5.2.0
+ wget https://ftp.gnu.org/gnu/gawk/gawk-5.2.1.tar.gz
+ tar -xvpzf gawk-5.2.1.tar.gz
+ cd gawk-5.2.1
./configure && make && make check
NOTE: Because of the 'https://' URL, you may have to supply
@@ -39254,618 +39255,618 @@ Index

Tag Table:
Node: Top1200
-Node: Foreword345814
-Node: Foreword450256
-Node: Preface51788
-Ref: Preface-Footnote-154650
-Ref: Preface-Footnote-254759
-Ref: Preface-Footnote-354993
-Node: History55135
-Node: Names57487
-Ref: Names-Footnote-158591
-Node: This Manual58738
-Ref: This Manual-Footnote-165377
-Node: Conventions65477
-Node: Manual History67846
-Ref: Manual History-Footnote-170843
-Ref: Manual History-Footnote-270884
-Node: How To Contribute70958
-Node: Acknowledgments71880
-Node: Getting Started76817
-Node: Running gawk79256
-Node: One-shot80446
-Node: Read Terminal81709
-Node: Long83702
-Node: Executable Scripts85215
-Ref: Executable Scripts-Footnote-187848
-Node: Comments87951
-Node: Quoting90435
-Node: DOS Quoting95961
-Node: Sample Data Files98017
-Node: Very Simple100612
-Node: Two Rules106714
-Node: More Complex108599
-Node: Statements/Lines110931
-Ref: Statements/Lines-Footnote-1115699
-Node: Other Features115964
-Node: When116900
-Ref: When-Footnote-1118654
-Node: Intro Summary118719
-Node: Invoking Gawk119603
-Node: Command Line121117
-Node: Options121915
-Ref: Options-Footnote-1140164
-Ref: Options-Footnote-2140395
-Node: Other Arguments140420
-Node: Naming Standard Input144431
-Node: Environment Variables145641
-Node: AWKPATH Variable146199
-Ref: AWKPATH Variable-Footnote-1149611
-Ref: AWKPATH Variable-Footnote-2149645
-Node: AWKLIBPATH Variable150016
-Ref: AWKLIBPATH Variable-Footnote-1151713
-Node: Other Environment Variables152088
-Node: Exit Status156376
-Node: Include Files157053
-Node: Loading Shared Libraries160743
-Node: Obsolete162171
-Node: Undocumented162791
-Node: Invoking Summary163088
-Node: Regexp165929
-Node: Regexp Usage167383
-Node: Escape Sequences169420
-Node: Regexp Operators175662
-Node: Regexp Operator Details176147
-Ref: Regexp Operator Details-Footnote-1183511
-Node: Interval Expressions183658
-Ref: Interval Expressions-Footnote-1185833
-Node: Bracket Expressions185931
-Ref: table-char-classes188407
-Node: Leftmost Longest191734
-Node: Computed Regexps193037
-Node: GNU Regexp Operators196464
-Node: Case-sensitivity200260
-Ref: Case-sensitivity-Footnote-1203126
-Ref: Case-sensitivity-Footnote-2203361
-Node: Regexp Summary203469
-Node: Reading Files204935
-Node: Records207204
-Node: awk split records208279
-Node: gawk split records212979
-Ref: gawk split records-Footnote-1218053
-Node: Fields218090
-Node: Nonconstant Fields220831
-Ref: Nonconstant Fields-Footnote-1223067
-Node: Changing Fields223271
-Node: Field Separators229302
-Node: Default Field Splitting232000
-Node: Regexp Field Splitting233118
-Node: Single Character Fields236795
-Node: Command Line Field Separator237855
-Node: Full Line Fields241073
-Ref: Full Line Fields-Footnote-1242595
-Ref: Full Line Fields-Footnote-2242641
-Node: Field Splitting Summary242742
-Node: Constant Size244816
-Node: Fixed width data245548
-Node: Skipping intervening249015
-Node: Allowing trailing data249813
-Node: Fields with fixed data250850
-Node: Splitting By Content252368
-Ref: Splitting By Content-Footnote-1256204
-Node: More CSV256367
-Node: FS versus FPAT257982
-Node: Testing field creation259142
-Node: Multiple Line260767
-Node: Getline267044
-Node: Plain Getline269513
-Node: Getline/Variable272086
-Node: Getline/File273237
-Node: Getline/Variable/File274625
-Ref: Getline/Variable/File-Footnote-1276230
-Node: Getline/Pipe276318
-Node: Getline/Variable/Pipe279022
-Node: Getline/Coprocess280157
-Node: Getline/Variable/Coprocess281424
-Node: Getline Notes282166
-Node: Getline Summary284963
-Ref: table-getline-variants285387
-Node: Read Timeout286136
-Ref: Read Timeout-Footnote-1290052
-Node: Retrying Input290110
-Node: Command-line directories291309
-Node: Input Summary292215
-Node: Input Exercises295387
-Node: Printing295821
-Node: Print297655
-Node: Print Examples299112
-Node: Output Separators301892
-Node: OFMT303909
-Node: Printf305265
-Node: Basic Printf306050
-Node: Control Letters307624
-Node: Format Modifiers312786
-Node: Printf Examples318801
-Node: Redirection321287
-Node: Special FD328128
-Ref: Special FD-Footnote-1331296
-Node: Special Files331370
-Node: Other Inherited Files331987
-Node: Special Network332988
-Node: Special Caveats333848
-Node: Close Files And Pipes334797
-Ref: table-close-pipe-return-values341704
-Ref: Close Files And Pipes-Footnote-1342518
-Ref: Close Files And Pipes-Footnote-2342666
-Node: Nonfatal342818
-Node: Output Summary345156
-Node: Output Exercises346378
-Node: Expressions347057
-Node: Values348245
-Node: Constants348923
-Node: Scalar Constants349614
-Ref: Scalar Constants-Footnote-1352124
-Node: Nondecimal-numbers352374
-Node: Regexp Constants355375
-Node: Using Constant Regexps355901
-Node: Standard Regexp Constants356523
-Node: Strong Regexp Constants359711
-Node: Variables363426
-Node: Using Variables364083
-Node: Assignment Options365993
-Node: Conversion368464
-Node: Strings And Numbers368988
-Ref: Strings And Numbers-Footnote-1372051
-Node: Locale influences conversions372160
-Ref: table-locale-affects374918
-Node: All Operators375537
-Node: Arithmetic Ops376166
-Node: Concatenation378882
-Ref: Concatenation-Footnote-1381729
-Node: Assignment Ops381836
-Ref: table-assign-ops386827
-Node: Increment Ops388141
-Node: Truth Values and Conditions391601
-Node: Truth Values392675
-Node: Typing and Comparison393723
-Node: Variable Typing394543
-Ref: Variable Typing-Footnote-1401006
-Ref: Variable Typing-Footnote-2401078
-Node: Comparison Operators401155
-Ref: table-relational-ops401574
-Node: POSIX String Comparison405070
-Ref: POSIX String Comparison-Footnote-1406765
-Ref: POSIX String Comparison-Footnote-2406904
-Node: Boolean Ops406988
-Ref: Boolean Ops-Footnote-1411470
-Node: Conditional Exp411562
-Node: Function Calls413298
-Node: Precedence417175
-Node: Locales420834
-Node: Expressions Summary422466
-Node: Patterns and Actions425039
-Node: Pattern Overview426159
-Node: Regexp Patterns427836
-Node: Expression Patterns428378
-Node: Ranges432159
-Node: BEGIN/END435267
-Node: Using BEGIN/END436028
-Ref: Using BEGIN/END-Footnote-1438782
-Node: I/O And BEGIN/END438888
-Node: BEGINFILE/ENDFILE441201
-Node: Empty444432
-Node: Using Shell Variables444749
-Node: Action Overview447023
-Node: Statements449348
-Node: If Statement451196
-Node: While Statement452691
-Node: Do Statement454719
-Node: For Statement455867
-Node: Switch Statement459122
-Node: Break Statement461563
-Node: Continue Statement463655
-Node: Next Statement465482
-Node: Nextfile Statement467865
-Node: Exit Statement470554
-Node: Built-in Variables472957
-Node: User-modified474090
-Node: Auto-set481857
-Ref: Auto-set-Footnote-1498566
-Ref: Auto-set-Footnote-2498772
-Node: ARGC and ARGV498828
-Node: Pattern Action Summary503041
-Node: Arrays505471
-Node: Array Basics506800
-Node: Array Intro507644
-Ref: figure-array-elements509619
-Ref: Array Intro-Footnote-1512324
-Node: Reference to Elements512452
-Node: Assigning Elements514916
-Node: Array Example515407
-Node: Scanning an Array517361
-Node: Controlling Scanning520383
-Ref: Controlling Scanning-Footnote-1526839
-Node: Numeric Array Subscripts527155
-Node: Uninitialized Subscripts529339
-Node: Delete530958
-Ref: Delete-Footnote-1533710
-Node: Multidimensional533767
-Node: Multiscanning536862
-Node: Arrays of Arrays538453
-Node: Arrays Summary543221
-Node: Functions545314
-Node: Built-in546352
-Node: Calling Built-in547505
-Node: Boolean Functions549501
-Node: Numeric Functions550055
-Ref: Numeric Functions-Footnote-1554082
-Ref: Numeric Functions-Footnote-2554730
-Ref: Numeric Functions-Footnote-3554778
-Node: String Functions555050
-Ref: String Functions-Footnote-1579892
-Ref: String Functions-Footnote-2580020
-Ref: String Functions-Footnote-3580268
-Node: Gory Details580355
-Ref: table-sub-escapes582146
-Ref: table-sub-proposed583666
-Ref: table-posix-sub585030
-Ref: table-gensub-escapes586572
-Ref: Gory Details-Footnote-1587396
-Node: I/O Functions587550
-Ref: table-system-return-values594004
-Ref: I/O Functions-Footnote-1596085
-Ref: I/O Functions-Footnote-2596233
-Node: Time Functions596353
-Ref: Time Functions-Footnote-1607024
-Ref: Time Functions-Footnote-2607092
-Ref: Time Functions-Footnote-3607250
-Ref: Time Functions-Footnote-4607361
-Ref: Time Functions-Footnote-5607473
-Ref: Time Functions-Footnote-6607700
-Node: Bitwise Functions607966
-Ref: table-bitwise-ops608560
-Ref: Bitwise Functions-Footnote-1614624
-Ref: Bitwise Functions-Footnote-2614797
-Node: Type Functions614988
-Node: I18N Functions618509
-Node: User-defined620160
-Node: Definition Syntax620972
-Ref: Definition Syntax-Footnote-1626666
-Node: Function Example626737
-Ref: Function Example-Footnote-1629659
-Node: Function Calling629681
-Node: Calling A Function630269
-Node: Variable Scope631227
-Node: Pass By Value/Reference634221
-Node: Function Caveats636865
-Ref: Function Caveats-Footnote-1638912
-Node: Return Statement639032
-Node: Dynamic Typing642011
-Node: Indirect Calls642941
-Node: Functions Summary653868
-Node: Library Functions656573
-Ref: Library Functions-Footnote-1660057
-Ref: Library Functions-Footnote-2660200
-Node: Library Names660371
-Ref: Library Names-Footnote-1664038
-Ref: Library Names-Footnote-2664261
-Node: General Functions664347
-Node: Strtonum Function665529
-Node: Assert Function668551
-Node: Round Function671877
-Node: Cliff Random Function673417
-Node: Ordinal Functions674433
-Ref: Ordinal Functions-Footnote-1677496
-Ref: Ordinal Functions-Footnote-2677748
-Node: Join Function677958
-Ref: Join Function-Footnote-1679728
-Node: Getlocaltime Function679928
-Node: Readfile Function683670
-Node: Shell Quoting685647
-Node: Isnumeric Function687075
-Node: Data File Management688463
-Node: Filetrans Function689095
-Node: Rewind Function693191
-Node: File Checking695100
-Ref: File Checking-Footnote-1696434
-Node: Empty Files696635
-Node: Ignoring Assigns698614
-Node: Getopt Function700164
-Ref: Getopt Function-Footnote-1715461
-Node: Passwd Functions715661
-Ref: Passwd Functions-Footnote-1724500
-Node: Group Functions724588
-Ref: Group Functions-Footnote-1732486
-Node: Walking Arrays732693
-Node: Library Functions Summary735701
-Node: Library Exercises737107
-Node: Sample Programs737572
-Node: Running Examples738342
-Node: Clones739070
-Node: Cut Program740294
-Node: Egrep Program750434
-Node: Id Program759435
-Node: Split Program769370
-Ref: Split Program-Footnote-1779263
-Node: Tee Program779436
-Node: Uniq Program782226
-Node: Wc Program789814
-Node: Bytes vs. Characters790201
-Node: Using extensions791749
-Node: wc program792503
-Node: Miscellaneous Programs797368
-Node: Dupword Program798581
-Node: Alarm Program800611
-Node: Translate Program805466
-Ref: Translate Program-Footnote-1810031
-Node: Labels Program810301
-Ref: Labels Program-Footnote-1813652
-Node: Word Sorting813736
-Node: History Sorting817808
-Node: Extract Program820033
-Node: Simple Sed828046
-Node: Igawk Program831120
-Ref: Igawk Program-Footnote-1845749
-Ref: Igawk Program-Footnote-2845951
-Ref: Igawk Program-Footnote-3846073
-Node: Anagram Program846188
-Node: Signature Program849250
-Node: Programs Summary850497
-Node: Programs Exercises851711
-Ref: Programs Exercises-Footnote-1855841
-Node: Advanced Features855927
-Node: Nondecimal Data858324
-Node: Boolean Typed Values859922
-Node: Array Sorting861803
-Node: Controlling Array Traversal862508
-Ref: Controlling Array Traversal-Footnote-1870876
-Node: Array Sorting Functions870994
-Ref: Array Sorting Functions-Footnote-1876905
-Node: Two-way I/O877101
-Ref: Two-way I/O-Footnote-1884827
-Ref: Two-way I/O-Footnote-2885014
-Node: TCP/IP Networking885096
-Node: Profiling888172
-Node: Persistent Memory897478
-Ref: Persistent Memory-Footnote-1905784
-Ref: Persistent Memory-Footnote-2905923
-Node: Extension Philosophy906050
-Node: Advanced Features Summary907537
-Node: Internationalization909709
-Node: I18N and L10N911383
-Node: Explaining gettext912070
-Ref: Explaining gettext-Footnote-1917962
-Ref: Explaining gettext-Footnote-2918147
-Node: Programmer i18n918312
-Ref: Programmer i18n-Footnote-1923261
-Node: Translator i18n923310
-Node: String Extraction924104
-Ref: String Extraction-Footnote-1925236
-Node: Printf Ordering925322
-Ref: Printf Ordering-Footnote-1928108
-Node: I18N Portability928172
-Ref: I18N Portability-Footnote-1930628
-Node: I18N Example930691
-Ref: I18N Example-Footnote-1933966
-Ref: I18N Example-Footnote-2934039
-Node: Gawk I18N934148
-Node: I18N Summary934770
-Node: Debugger936111
-Node: Debugging937111
-Node: Debugging Concepts937552
-Node: Debugging Terms939361
-Node: Awk Debugging941936
-Ref: Awk Debugging-Footnote-1942881
-Node: Sample Debugging Session943013
-Node: Debugger Invocation943547
-Node: Finding The Bug944933
-Node: List of Debugger Commands951407
-Node: Breakpoint Control952740
-Node: Debugger Execution Control956434
-Node: Viewing And Changing Data959796
-Node: Execution Stack963337
-Node: Debugger Info964974
-Node: Miscellaneous Debugger Commands969045
-Node: Readline Support974107
-Node: Limitations975003
-Node: Debugging Summary977557
-Node: Namespaces978836
-Node: Global Namespace979947
-Node: Qualified Names981345
-Node: Default Namespace982344
-Node: Changing The Namespace983085
-Node: Naming Rules984699
-Node: Internal Name Management986547
-Node: Namespace Example987589
-Node: Namespace And Features990151
-Node: Namespace Summary991586
-Node: Arbitrary Precision Arithmetic993063
-Node: Computer Arithmetic994550
-Ref: table-numeric-ranges998316
-Ref: table-floating-point-ranges998810
-Ref: Computer Arithmetic-Footnote-1999469
-Node: Math Definitions999526
-Ref: table-ieee-formats1002502
-Node: MPFR features1003070
-Node: MPFR On Parole1003515
-Ref: MPFR On Parole-Footnote-11004344
-Node: MPFR Intro1004499
-Node: FP Math Caution1006150
-Ref: FP Math Caution-Footnote-11007222
-Node: Inexactness of computations1007591
-Node: Inexact representation1008622
-Node: Comparing FP Values1009982
-Node: Errors accumulate1011223
-Node: Strange values1012679
-Ref: Strange values-Footnote-11015267
-Node: Getting Accuracy1015372
-Node: Try To Round1018082
-Node: Setting precision1018981
-Ref: table-predefined-precision-strings1019678
-Node: Setting the rounding mode1021509
-Ref: table-gawk-rounding-modes1021883
-Ref: Setting the rounding mode-Footnote-11025815
-Node: Arbitrary Precision Integers1025994
-Ref: Arbitrary Precision Integers-Footnote-11029169
-Node: Checking for MPFR1029318
-Node: POSIX Floating Point Problems1030792
-Ref: POSIX Floating Point Problems-Footnote-11035445
-Node: Floating point summary1035483
-Node: Dynamic Extensions1037673
-Node: Extension Intro1039226
-Node: Plugin License1040492
-Node: Extension Mechanism Outline1041289
-Ref: figure-load-extension1041728
-Ref: figure-register-new-function1043294
-Ref: figure-call-new-function1044387
-Node: Extension API Description1046450
-Node: Extension API Functions Introduction1048163
-Ref: table-api-std-headers1049999
-Node: General Data Types1054249
-Ref: General Data Types-Footnote-11062955
-Node: Memory Allocation Functions1063254
-Ref: Memory Allocation Functions-Footnote-11067755
-Node: Constructor Functions1067854
-Node: API Ownership of MPFR and GMP Values1071507
-Node: Registration Functions1073040
-Node: Extension Functions1073740
-Node: Exit Callback Functions1079062
-Node: Extension Version String1080312
-Node: Input Parsers1080975
-Node: Output Wrappers1093696
-Node: Two-way processors1098208
-Node: Printing Messages1100473
-Ref: Printing Messages-Footnote-11101644
-Node: Updating ERRNO1101797
-Node: Requesting Values1102536
-Ref: table-value-types-returned1103273
-Node: Accessing Parameters1104382
-Node: Symbol Table Access1105619
-Node: Symbol table by name1106131
-Ref: Symbol table by name-Footnote-11109156
-Node: Symbol table by cookie1109284
-Ref: Symbol table by cookie-Footnote-11113469
-Node: Cached values1113533
-Ref: Cached values-Footnote-11117069
-Node: Array Manipulation1117222
-Ref: Array Manipulation-Footnote-11118313
-Node: Array Data Types1118350
-Ref: Array Data Types-Footnote-11121008
-Node: Array Functions1121100
-Node: Flattening Arrays1125885
-Node: Creating Arrays1132861
-Node: Redirection API1137628
-Node: Extension API Variables1140461
-Node: Extension Versioning1141172
-Ref: gawk-api-version1141601
-Node: Extension GMP/MPFR Versioning1143333
-Node: Extension API Informational Variables1144961
-Node: Extension API Boilerplate1146034
-Node: Changes from API V11150008
-Node: Finding Extensions1151580
-Node: Extension Example1152139
-Node: Internal File Description1152937
-Node: Internal File Ops1157017
-Ref: Internal File Ops-Footnote-11168367
-Node: Using Internal File Ops1168507
-Ref: Using Internal File Ops-Footnote-11170890
-Node: Extension Samples1171164
-Node: Extension Sample File Functions1172693
-Node: Extension Sample Fnmatch1180342
-Node: Extension Sample Fork1181829
-Node: Extension Sample Inplace1183047
-Node: Extension Sample Ord1186673
-Node: Extension Sample Readdir1187509
-Ref: table-readdir-file-types1188398
-Node: Extension Sample Revout1189466
-Node: Extension Sample Rev2way1190055
-Node: Extension Sample Read write array1190795
-Node: Extension Sample Readfile1193981
-Node: Extension Sample Time1195076
-Node: Extension Sample API Tests1196828
-Node: gawkextlib1197320
-Node: Extension summary1200238
-Node: Extension Exercises1203940
-Node: Language History1205182
-Node: V7/SVR3.11206838
-Node: SVR41208990
-Node: POSIX1210424
-Node: BTL1211805
-Node: POSIX/GNU1212534
-Node: Feature History1218451
-Node: Common Extensions1236190
-Node: Ranges and Locales1237473
-Ref: Ranges and Locales-Footnote-11242089
-Ref: Ranges and Locales-Footnote-21242116
-Ref: Ranges and Locales-Footnote-31242351
-Node: Contributors1242574
-Node: History summary1248571
-Node: Installation1249951
-Node: Gawk Distribution1250895
-Node: Getting1251379
-Node: Extracting1252342
-Node: Distribution contents1253980
-Node: Unix Installation1261478
-Node: Quick Installation1262282
-Node: Compiling with MPFR1264702
-Node: Shell Startup Files1265392
-Node: Additional Configuration Options1266481
-Node: Configuration Philosophy1268796
-Node: Compiling from Git1271192
-Node: Building the Documentation1271747
-Node: Non-Unix Installation1273131
-Node: PC Installation1273595
-Node: PC Binary Installation1274440
-Node: PC Compiling1275313
-Node: PC Using1276419
-Node: Cygwin1279915
-Node: MSYS1281139
-Node: OpenVMS Installation1281741
-Node: OpenVMS Compilation1282404
-Ref: OpenVMS Compilation-Footnote-11283827
-Node: OpenVMS Dynamic Extensions1283885
-Node: OpenVMS Installation Details1285497
-Node: OpenVMS Running1287792
-Node: OpenVMS GNV1291793
-Node: Bugs1292536
-Node: Bug definition1293448
-Node: Bug address1296950
-Node: Usenet1300469
-Node: Performance bugs1301658
-Node: Asking for help1304579
-Node: Maintainers1306546
-Node: Other Versions1307553
-Node: Installation summary1316132
-Node: Notes1317472
-Node: Compatibility Mode1318266
-Node: Additions1319048
-Node: Accessing The Source1319973
-Node: Adding Code1321410
-Node: New Ports1328225
-Node: Derived Files1332600
-Ref: Derived Files-Footnote-11338259
-Ref: Derived Files-Footnote-21338294
-Ref: Derived Files-Footnote-31338889
-Node: Future Extensions1339003
-Node: Implementation Limitations1339661
-Node: Extension Design1340871
-Node: Old Extension Problems1342015
-Ref: Old Extension Problems-Footnote-11343533
-Node: Extension New Mechanism Goals1343590
-Ref: Extension New Mechanism Goals-Footnote-11346954
-Node: Extension Other Design Decisions1347143
-Node: Extension Future Growth1349256
-Node: Notes summary1349862
-Node: Basic Concepts1351020
-Node: Basic High Level1351701
-Ref: figure-general-flow1351983
-Ref: figure-process-flow1352669
-Ref: Basic High Level-Footnote-11355971
-Node: Basic Data Typing1356156
-Node: Glossary1359484
-Node: Copying1391371
-Node: GNU Free Documentation License1428914
-Node: Index1454034
+Node: Foreword345854
+Node: Foreword450296
+Node: Preface51828
+Ref: Preface-Footnote-154690
+Ref: Preface-Footnote-254799
+Ref: Preface-Footnote-355033
+Node: History55175
+Node: Names57527
+Ref: Names-Footnote-158631
+Node: This Manual58778
+Ref: This Manual-Footnote-165417
+Node: Conventions65517
+Node: Manual History67886
+Ref: Manual History-Footnote-170883
+Ref: Manual History-Footnote-270924
+Node: How To Contribute70998
+Node: Acknowledgments71920
+Node: Getting Started76857
+Node: Running gawk79296
+Node: One-shot80486
+Node: Read Terminal81749
+Node: Long83742
+Node: Executable Scripts85255
+Ref: Executable Scripts-Footnote-187888
+Node: Comments87991
+Node: Quoting90475
+Node: DOS Quoting96001
+Node: Sample Data Files98057
+Node: Very Simple100652
+Node: Two Rules106754
+Node: More Complex108639
+Node: Statements/Lines110971
+Ref: Statements/Lines-Footnote-1115739
+Node: Other Features116004
+Node: When116940
+Ref: When-Footnote-1118694
+Node: Intro Summary118759
+Node: Invoking Gawk119643
+Node: Command Line121157
+Node: Options121955
+Ref: Options-Footnote-1140204
+Ref: Options-Footnote-2140435
+Node: Other Arguments140460
+Node: Naming Standard Input144471
+Node: Environment Variables145681
+Node: AWKPATH Variable146239
+Ref: AWKPATH Variable-Footnote-1149651
+Ref: AWKPATH Variable-Footnote-2149685
+Node: AWKLIBPATH Variable150056
+Ref: AWKLIBPATH Variable-Footnote-1151753
+Node: Other Environment Variables152128
+Node: Exit Status156416
+Node: Include Files157093
+Node: Loading Shared Libraries160783
+Node: Obsolete162211
+Node: Undocumented162831
+Node: Invoking Summary163128
+Node: Regexp165969
+Node: Regexp Usage167423
+Node: Escape Sequences169460
+Node: Regexp Operators175702
+Node: Regexp Operator Details176187
+Ref: Regexp Operator Details-Footnote-1183551
+Node: Interval Expressions183698
+Ref: Interval Expressions-Footnote-1185873
+Node: Bracket Expressions185971
+Ref: table-char-classes188447
+Node: Leftmost Longest191774
+Node: Computed Regexps193077
+Node: GNU Regexp Operators196504
+Node: Case-sensitivity200300
+Ref: Case-sensitivity-Footnote-1203166
+Ref: Case-sensitivity-Footnote-2203401
+Node: Regexp Summary203509
+Node: Reading Files204975
+Node: Records207244
+Node: awk split records208319
+Node: gawk split records213019
+Ref: gawk split records-Footnote-1218093
+Node: Fields218130
+Node: Nonconstant Fields220871
+Ref: Nonconstant Fields-Footnote-1223107
+Node: Changing Fields223311
+Node: Field Separators229342
+Node: Default Field Splitting232040
+Node: Regexp Field Splitting233158
+Node: Single Character Fields236835
+Node: Command Line Field Separator237895
+Node: Full Line Fields241113
+Ref: Full Line Fields-Footnote-1242635
+Ref: Full Line Fields-Footnote-2242681
+Node: Field Splitting Summary242782
+Node: Constant Size244856
+Node: Fixed width data245588
+Node: Skipping intervening249055
+Node: Allowing trailing data249853
+Node: Fields with fixed data250890
+Node: Splitting By Content252408
+Ref: Splitting By Content-Footnote-1256244
+Node: More CSV256407
+Node: FS versus FPAT258022
+Node: Testing field creation259182
+Node: Multiple Line260807
+Node: Getline267084
+Node: Plain Getline269553
+Node: Getline/Variable272126
+Node: Getline/File273277
+Node: Getline/Variable/File274665
+Ref: Getline/Variable/File-Footnote-1276270
+Node: Getline/Pipe276358
+Node: Getline/Variable/Pipe279062
+Node: Getline/Coprocess280197
+Node: Getline/Variable/Coprocess281464
+Node: Getline Notes282206
+Node: Getline Summary285003
+Ref: table-getline-variants285427
+Node: Read Timeout286176
+Ref: Read Timeout-Footnote-1290092
+Node: Retrying Input290150
+Node: Command-line directories291349
+Node: Input Summary292255
+Node: Input Exercises295427
+Node: Printing295861
+Node: Print297695
+Node: Print Examples299152
+Node: Output Separators301932
+Node: OFMT303949
+Node: Printf305305
+Node: Basic Printf306090
+Node: Control Letters307664
+Node: Format Modifiers312826
+Node: Printf Examples318841
+Node: Redirection321327
+Node: Special FD328168
+Ref: Special FD-Footnote-1331336
+Node: Special Files331410
+Node: Other Inherited Files332027
+Node: Special Network333028
+Node: Special Caveats333888
+Node: Close Files And Pipes334837
+Ref: table-close-pipe-return-values341744
+Ref: Close Files And Pipes-Footnote-1342558
+Ref: Close Files And Pipes-Footnote-2342706
+Node: Nonfatal342858
+Node: Output Summary345196
+Node: Output Exercises346418
+Node: Expressions347097
+Node: Values348285
+Node: Constants348963
+Node: Scalar Constants349654
+Ref: Scalar Constants-Footnote-1352164
+Node: Nondecimal-numbers352414
+Node: Regexp Constants355415
+Node: Using Constant Regexps355941
+Node: Standard Regexp Constants356563
+Node: Strong Regexp Constants359751
+Node: Variables363466
+Node: Using Variables364123
+Node: Assignment Options366033
+Node: Conversion368504
+Node: Strings And Numbers369028
+Ref: Strings And Numbers-Footnote-1372091
+Node: Locale influences conversions372200
+Ref: table-locale-affects374958
+Node: All Operators375577
+Node: Arithmetic Ops376206
+Node: Concatenation378922
+Ref: Concatenation-Footnote-1381769
+Node: Assignment Ops381876
+Ref: table-assign-ops386867
+Node: Increment Ops388181
+Node: Truth Values and Conditions391641
+Node: Truth Values392715
+Node: Typing and Comparison393763
+Node: Variable Typing394583
+Ref: Variable Typing-Footnote-1401046
+Ref: Variable Typing-Footnote-2401118
+Node: Comparison Operators401195
+Ref: table-relational-ops401614
+Node: POSIX String Comparison405110
+Ref: POSIX String Comparison-Footnote-1406805
+Ref: POSIX String Comparison-Footnote-2406944
+Node: Boolean Ops407028
+Ref: Boolean Ops-Footnote-1411510
+Node: Conditional Exp411602
+Node: Function Calls413338
+Node: Precedence417215
+Node: Locales420874
+Node: Expressions Summary422506
+Node: Patterns and Actions425079
+Node: Pattern Overview426199
+Node: Regexp Patterns427876
+Node: Expression Patterns428418
+Node: Ranges432199
+Node: BEGIN/END435307
+Node: Using BEGIN/END436068
+Ref: Using BEGIN/END-Footnote-1438822
+Node: I/O And BEGIN/END438928
+Node: BEGINFILE/ENDFILE441241
+Node: Empty444472
+Node: Using Shell Variables444789
+Node: Action Overview447063
+Node: Statements449388
+Node: If Statement451236
+Node: While Statement452731
+Node: Do Statement454759
+Node: For Statement455907
+Node: Switch Statement459162
+Node: Break Statement461603
+Node: Continue Statement463695
+Node: Next Statement465522
+Node: Nextfile Statement467905
+Node: Exit Statement470594
+Node: Built-in Variables472997
+Node: User-modified474130
+Node: Auto-set481897
+Ref: Auto-set-Footnote-1498606
+Ref: Auto-set-Footnote-2498812
+Node: ARGC and ARGV498868
+Node: Pattern Action Summary503081
+Node: Arrays505511
+Node: Array Basics506840
+Node: Array Intro507684
+Ref: figure-array-elements509659
+Ref: Array Intro-Footnote-1512364
+Node: Reference to Elements512492
+Node: Assigning Elements514956
+Node: Array Example515447
+Node: Scanning an Array517401
+Node: Controlling Scanning520423
+Ref: Controlling Scanning-Footnote-1526879
+Node: Numeric Array Subscripts527195
+Node: Uninitialized Subscripts529379
+Node: Delete530998
+Ref: Delete-Footnote-1533750
+Node: Multidimensional533807
+Node: Multiscanning536902
+Node: Arrays of Arrays538493
+Node: Arrays Summary543261
+Node: Functions545354
+Node: Built-in546392
+Node: Calling Built-in547545
+Node: Boolean Functions549541
+Node: Numeric Functions550095
+Ref: Numeric Functions-Footnote-1554122
+Ref: Numeric Functions-Footnote-2554770
+Ref: Numeric Functions-Footnote-3554818
+Node: String Functions555090
+Ref: String Functions-Footnote-1579932
+Ref: String Functions-Footnote-2580060
+Ref: String Functions-Footnote-3580308
+Node: Gory Details580395
+Ref: table-sub-escapes582186
+Ref: table-sub-proposed583706
+Ref: table-posix-sub585070
+Ref: table-gensub-escapes586612
+Ref: Gory Details-Footnote-1587436
+Node: I/O Functions587590
+Ref: table-system-return-values594044
+Ref: I/O Functions-Footnote-1596125
+Ref: I/O Functions-Footnote-2596273
+Node: Time Functions596393
+Ref: Time Functions-Footnote-1607064
+Ref: Time Functions-Footnote-2607132
+Ref: Time Functions-Footnote-3607290
+Ref: Time Functions-Footnote-4607401
+Ref: Time Functions-Footnote-5607513
+Ref: Time Functions-Footnote-6607740
+Node: Bitwise Functions608006
+Ref: table-bitwise-ops608600
+Ref: Bitwise Functions-Footnote-1614664
+Ref: Bitwise Functions-Footnote-2614837
+Node: Type Functions615028
+Node: I18N Functions618549
+Node: User-defined620200
+Node: Definition Syntax621012
+Ref: Definition Syntax-Footnote-1626706
+Node: Function Example626777
+Ref: Function Example-Footnote-1629699
+Node: Function Calling629721
+Node: Calling A Function630309
+Node: Variable Scope631267
+Node: Pass By Value/Reference634261
+Node: Function Caveats636905
+Ref: Function Caveats-Footnote-1638952
+Node: Return Statement639072
+Node: Dynamic Typing642051
+Node: Indirect Calls642981
+Node: Functions Summary653908
+Node: Library Functions656613
+Ref: Library Functions-Footnote-1660097
+Ref: Library Functions-Footnote-2660240
+Node: Library Names660411
+Ref: Library Names-Footnote-1664078
+Ref: Library Names-Footnote-2664301
+Node: General Functions664387
+Node: Strtonum Function665569
+Node: Assert Function668591
+Node: Round Function671917
+Node: Cliff Random Function673457
+Node: Ordinal Functions674473
+Ref: Ordinal Functions-Footnote-1677536
+Ref: Ordinal Functions-Footnote-2677788
+Node: Join Function677998
+Ref: Join Function-Footnote-1679768
+Node: Getlocaltime Function679968
+Node: Readfile Function683710
+Node: Shell Quoting685687
+Node: Isnumeric Function687115
+Node: Data File Management688503
+Node: Filetrans Function689135
+Node: Rewind Function693231
+Node: File Checking695140
+Ref: File Checking-Footnote-1696474
+Node: Empty Files696675
+Node: Ignoring Assigns698654
+Node: Getopt Function700204
+Ref: Getopt Function-Footnote-1715501
+Node: Passwd Functions715701
+Ref: Passwd Functions-Footnote-1724540
+Node: Group Functions724628
+Ref: Group Functions-Footnote-1732526
+Node: Walking Arrays732733
+Node: Library Functions Summary735741
+Node: Library Exercises737147
+Node: Sample Programs737612
+Node: Running Examples738382
+Node: Clones739110
+Node: Cut Program740334
+Node: Egrep Program750474
+Node: Id Program759475
+Node: Split Program769410
+Ref: Split Program-Footnote-1779303
+Node: Tee Program779476
+Node: Uniq Program782266
+Node: Wc Program789854
+Node: Bytes vs. Characters790241
+Node: Using extensions791789
+Node: wc program792543
+Node: Miscellaneous Programs797408
+Node: Dupword Program798621
+Node: Alarm Program800651
+Node: Translate Program805506
+Ref: Translate Program-Footnote-1810071
+Node: Labels Program810341
+Ref: Labels Program-Footnote-1813692
+Node: Word Sorting813776
+Node: History Sorting817848
+Node: Extract Program820073
+Node: Simple Sed828086
+Node: Igawk Program831160
+Ref: Igawk Program-Footnote-1845789
+Ref: Igawk Program-Footnote-2845991
+Ref: Igawk Program-Footnote-3846113
+Node: Anagram Program846228
+Node: Signature Program849290
+Node: Programs Summary850537
+Node: Programs Exercises851751
+Ref: Programs Exercises-Footnote-1855881
+Node: Advanced Features855967
+Node: Nondecimal Data858364
+Node: Boolean Typed Values859962
+Node: Array Sorting861843
+Node: Controlling Array Traversal862548
+Ref: Controlling Array Traversal-Footnote-1870916
+Node: Array Sorting Functions871034
+Ref: Array Sorting Functions-Footnote-1876945
+Node: Two-way I/O877141
+Ref: Two-way I/O-Footnote-1884867
+Ref: Two-way I/O-Footnote-2885054
+Node: TCP/IP Networking885136
+Node: Profiling888212
+Node: Persistent Memory897518
+Ref: Persistent Memory-Footnote-1905824
+Ref: Persistent Memory-Footnote-2905963
+Node: Extension Philosophy906090
+Node: Advanced Features Summary907577
+Node: Internationalization909749
+Node: I18N and L10N911423
+Node: Explaining gettext912110
+Ref: Explaining gettext-Footnote-1918002
+Ref: Explaining gettext-Footnote-2918187
+Node: Programmer i18n918352
+Ref: Programmer i18n-Footnote-1923301
+Node: Translator i18n923350
+Node: String Extraction924144
+Ref: String Extraction-Footnote-1925276
+Node: Printf Ordering925362
+Ref: Printf Ordering-Footnote-1928148
+Node: I18N Portability928212
+Ref: I18N Portability-Footnote-1930668
+Node: I18N Example930731
+Ref: I18N Example-Footnote-1934006
+Ref: I18N Example-Footnote-2934079
+Node: Gawk I18N934188
+Node: I18N Summary934810
+Node: Debugger936151
+Node: Debugging937151
+Node: Debugging Concepts937592
+Node: Debugging Terms939401
+Node: Awk Debugging941976
+Ref: Awk Debugging-Footnote-1942921
+Node: Sample Debugging Session943053
+Node: Debugger Invocation943587
+Node: Finding The Bug944973
+Node: List of Debugger Commands951447
+Node: Breakpoint Control952780
+Node: Debugger Execution Control956474
+Node: Viewing And Changing Data959836
+Node: Execution Stack963377
+Node: Debugger Info965014
+Node: Miscellaneous Debugger Commands969085
+Node: Readline Support974147
+Node: Limitations975043
+Node: Debugging Summary977597
+Node: Namespaces978876
+Node: Global Namespace979987
+Node: Qualified Names981385
+Node: Default Namespace982384
+Node: Changing The Namespace983125
+Node: Naming Rules984739
+Node: Internal Name Management986587
+Node: Namespace Example987629
+Node: Namespace And Features990191
+Node: Namespace Summary991626
+Node: Arbitrary Precision Arithmetic993103
+Node: Computer Arithmetic994590
+Ref: table-numeric-ranges998356
+Ref: table-floating-point-ranges998850
+Ref: Computer Arithmetic-Footnote-1999509
+Node: Math Definitions999566
+Ref: table-ieee-formats1002542
+Node: MPFR features1003110
+Node: MPFR On Parole1003555
+Ref: MPFR On Parole-Footnote-11004384
+Node: MPFR Intro1004539
+Node: FP Math Caution1006190
+Ref: FP Math Caution-Footnote-11007262
+Node: Inexactness of computations1007631
+Node: Inexact representation1008662
+Node: Comparing FP Values1010022
+Node: Errors accumulate1011263
+Node: Strange values1012719
+Ref: Strange values-Footnote-11015307
+Node: Getting Accuracy1015412
+Node: Try To Round1018122
+Node: Setting precision1019021
+Ref: table-predefined-precision-strings1019718
+Node: Setting the rounding mode1021549
+Ref: table-gawk-rounding-modes1021923
+Ref: Setting the rounding mode-Footnote-11025855
+Node: Arbitrary Precision Integers1026034
+Ref: Arbitrary Precision Integers-Footnote-11029209
+Node: Checking for MPFR1029358
+Node: POSIX Floating Point Problems1030832
+Ref: POSIX Floating Point Problems-Footnote-11035485
+Node: Floating point summary1035523
+Node: Dynamic Extensions1037713
+Node: Extension Intro1039266
+Node: Plugin License1040532
+Node: Extension Mechanism Outline1041329
+Ref: figure-load-extension1041768
+Ref: figure-register-new-function1043334
+Ref: figure-call-new-function1044427
+Node: Extension API Description1046490
+Node: Extension API Functions Introduction1048203
+Ref: table-api-std-headers1050039
+Node: General Data Types1054289
+Ref: General Data Types-Footnote-11062995
+Node: Memory Allocation Functions1063294
+Ref: Memory Allocation Functions-Footnote-11067795
+Node: Constructor Functions1067894
+Node: API Ownership of MPFR and GMP Values1071547
+Node: Registration Functions1073080
+Node: Extension Functions1073780
+Node: Exit Callback Functions1079102
+Node: Extension Version String1080352
+Node: Input Parsers1081015
+Node: Output Wrappers1093736
+Node: Two-way processors1098248
+Node: Printing Messages1100513
+Ref: Printing Messages-Footnote-11101684
+Node: Updating ERRNO1101837
+Node: Requesting Values1102576
+Ref: table-value-types-returned1103313
+Node: Accessing Parameters1104422
+Node: Symbol Table Access1105659
+Node: Symbol table by name1106171
+Ref: Symbol table by name-Footnote-11109196
+Node: Symbol table by cookie1109324
+Ref: Symbol table by cookie-Footnote-11113509
+Node: Cached values1113573
+Ref: Cached values-Footnote-11117109
+Node: Array Manipulation1117262
+Ref: Array Manipulation-Footnote-11118353
+Node: Array Data Types1118390
+Ref: Array Data Types-Footnote-11121048
+Node: Array Functions1121140
+Node: Flattening Arrays1125925
+Node: Creating Arrays1132901
+Node: Redirection API1137668
+Node: Extension API Variables1140501
+Node: Extension Versioning1141212
+Ref: gawk-api-version1141641
+Node: Extension GMP/MPFR Versioning1143373
+Node: Extension API Informational Variables1145001
+Node: Extension API Boilerplate1146074
+Node: Changes from API V11150048
+Node: Finding Extensions1151620
+Node: Extension Example1152179
+Node: Internal File Description1152977
+Node: Internal File Ops1157057
+Ref: Internal File Ops-Footnote-11168407
+Node: Using Internal File Ops1168547
+Ref: Using Internal File Ops-Footnote-11170930
+Node: Extension Samples1171204
+Node: Extension Sample File Functions1172733
+Node: Extension Sample Fnmatch1180382
+Node: Extension Sample Fork1181869
+Node: Extension Sample Inplace1183087
+Node: Extension Sample Ord1186713
+Node: Extension Sample Readdir1187549
+Ref: table-readdir-file-types1188438
+Node: Extension Sample Revout1189506
+Node: Extension Sample Rev2way1190095
+Node: Extension Sample Read write array1190835
+Node: Extension Sample Readfile1194021
+Node: Extension Sample Time1195116
+Node: Extension Sample API Tests1196868
+Node: gawkextlib1197360
+Node: Extension summary1200278
+Node: Extension Exercises1203980
+Node: Language History1205222
+Node: V7/SVR3.11206878
+Node: SVR41209030
+Node: POSIX1210464
+Node: BTL1211845
+Node: POSIX/GNU1212574
+Node: Feature History1218491
+Node: Common Extensions1236230
+Node: Ranges and Locales1237513
+Ref: Ranges and Locales-Footnote-11242129
+Ref: Ranges and Locales-Footnote-21242156
+Ref: Ranges and Locales-Footnote-31242391
+Node: Contributors1242614
+Node: History summary1248611
+Node: Installation1249991
+Node: Gawk Distribution1250935
+Node: Getting1251419
+Node: Extracting1252382
+Node: Distribution contents1254020
+Node: Unix Installation1261518
+Node: Quick Installation1262322
+Node: Compiling with MPFR1264742
+Node: Shell Startup Files1265432
+Node: Additional Configuration Options1266521
+Node: Configuration Philosophy1268836
+Node: Compiling from Git1271232
+Node: Building the Documentation1271787
+Node: Non-Unix Installation1273171
+Node: PC Installation1273635
+Node: PC Binary Installation1274480
+Node: PC Compiling1275353
+Node: PC Using1276459
+Node: Cygwin1279955
+Node: MSYS1281179
+Node: OpenVMS Installation1281781
+Node: OpenVMS Compilation1282442
+Ref: OpenVMS Compilation-Footnote-11283865
+Node: OpenVMS Dynamic Extensions1283923
+Node: OpenVMS Installation Details1285535
+Node: OpenVMS Running1287830
+Node: OpenVMS GNV1291831
+Node: Bugs1292574
+Node: Bug definition1293486
+Node: Bug address1296988
+Node: Usenet1300507
+Node: Performance bugs1301696
+Node: Asking for help1304617
+Node: Maintainers1306584
+Node: Other Versions1307591
+Node: Installation summary1316170
+Node: Notes1317510
+Node: Compatibility Mode1318304
+Node: Additions1319086
+Node: Accessing The Source1320011
+Node: Adding Code1321448
+Node: New Ports1328263
+Node: Derived Files1332638
+Ref: Derived Files-Footnote-11338297
+Ref: Derived Files-Footnote-21338332
+Ref: Derived Files-Footnote-31338927
+Node: Future Extensions1339041
+Node: Implementation Limitations1339699
+Node: Extension Design1340909
+Node: Old Extension Problems1342053
+Ref: Old Extension Problems-Footnote-11343571
+Node: Extension New Mechanism Goals1343628
+Ref: Extension New Mechanism Goals-Footnote-11346992
+Node: Extension Other Design Decisions1347181
+Node: Extension Future Growth1349294
+Node: Notes summary1349900
+Node: Basic Concepts1351058
+Node: Basic High Level1351739
+Ref: figure-general-flow1352021
+Ref: figure-process-flow1352707
+Ref: Basic High Level-Footnote-11356009
+Node: Basic Data Typing1356194
+Node: Glossary1359522
+Node: Copying1391409
+Node: GNU Free Documentation License1428952
+Node: Index1454072

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 04b78b4c..def8dc8a 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -59,9 +59,9 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH August, 2022
+@set UPDATE-MONTH November, 2022
@set VERSION 5.2
-@set PATCHLEVEL 0
+@set PATCHLEVEL 1
@set GAWKINETTITLE TCP/IP Internetworking with @command{gawk}
@set GAWKWORKFLOWTITLE Participating in @command{gawk} Development
@@ -1064,7 +1064,8 @@ particular records in a file and perform operations upon them.
extensions on OpenVMS.
* OpenVMS Installation Details:: How to install @command{gawk} under
OpenVMS.
-* OpenVMS Running:: How to run @command{gawk} under OpenVMS.
+* OpenVMS Running:: How to run @command{gawk} under
+ OpenVMS.
* OpenVMS GNV:: The OpenVMS GNV Project.
* Bugs:: Reporting Problems and Bugs.
* Bug definition:: Defining what is and is not a bug.
@@ -43498,8 +43499,8 @@ This @value{SUBSECTION} describes how to compile and install @command{gawk} unde
@menu
* OpenVMS Compilation:: How to compile @command{gawk} under OpenVMS.
-* OpenVMS Dynamic Extensions:: Compiling @command{gawk} dynamic extensions on
- OpenVMS.
+* OpenVMS Dynamic Extensions:: Compiling @command{gawk} dynamic extensions
+ on OpenVMS.
* OpenVMS Installation Details:: How to install @command{gawk} under OpenVMS.
* OpenVMS Running:: How to run @command{gawk} under OpenVMS.
* OpenVMS GNV:: The OpenVMS GNV Project.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 63936675..66b7dce6 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -54,9 +54,9 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH August, 2022
+@set UPDATE-MONTH November, 2022
@set VERSION 5.2
-@set PATCHLEVEL 0
+@set PATCHLEVEL 1
@set GAWKINETTITLE TCP/IP Internetworking with @command{gawk}
@set GAWKWORKFLOWTITLE Participating in @command{gawk} Development
@@ -1059,7 +1059,8 @@ particular records in a file and perform operations upon them.
extensions on OpenVMS.
* OpenVMS Installation Details:: How to install @command{gawk} under
OpenVMS.
-* OpenVMS Running:: How to run @command{gawk} under OpenVMS.
+* OpenVMS Running:: How to run @command{gawk} under
+ OpenVMS.
* OpenVMS GNV:: The OpenVMS GNV Project.
* Bugs:: Reporting Problems and Bugs.
* Bug definition:: Defining what is and is not a bug.
@@ -42341,8 +42342,8 @@ This @value{SUBSECTION} describes how to compile and install @command{gawk} unde
@menu
* OpenVMS Compilation:: How to compile @command{gawk} under OpenVMS.
-* OpenVMS Dynamic Extensions:: Compiling @command{gawk} dynamic extensions on
- OpenVMS.
+* OpenVMS Dynamic Extensions:: Compiling @command{gawk} dynamic extensions
+ on OpenVMS.
* OpenVMS Installation Details:: How to install @command{gawk} under OpenVMS.
* OpenVMS Running:: How to run @command{gawk} under OpenVMS.
* OpenVMS GNV:: The OpenVMS GNV Project.
diff --git a/doc/texinfo.tex b/doc/texinfo.tex
index 9ad8fafc..cfc77a84 100644
--- a/doc/texinfo.tex
+++ b/doc/texinfo.tex
@@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
-\def\texinfoversion{2022-10-01.15}
+\def\texinfoversion{2022-11-12.22}
%
% Copyright 1985, 1986, 1988, 1990-2022 Free Software Foundation, Inc.
%
@@ -3691,7 +3691,10 @@ $$%
% @textdegree - the normal degrees sign.
%
-\def\textdegree{$^\circ$}
+\def\textdegree{%
+ \ifmmode ^\circ
+ \else {\tcfont \char 176}%
+ \fi}
% Laurent Siebenmann reports \Orb undefined with:
% Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38
@@ -5270,7 +5273,10 @@ $$%
\xdef\trimmed{\segment}%
\xdef\trimmed{\expandafter\eatspaces\expandafter{\trimmed}}%
\xdef\indexsortkey{\trimmed}%
- \ifx\indexsortkey\empty\xdef\indexsortkey{ }\fi
+ \ifx\indexsortkey\empty
+ \message{Empty index sort key near line \the\inputlineno}%
+ \xdef\indexsortkey{ }%
+ \fi
}\fi
%
% Append to \fullindexsortkey.
@@ -6399,6 +6405,16 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\Yappendixkeyword{Yappendix}
\def\Yomitfromtockeyword{Yomitfromtoc}
%
+%
+% Definitions for @thischapter. These can be overridden in translation
+% files.
+\def\thischapterAppendix{%
+ \putwordAppendix{} \thischapternum: \thischaptername}
+
+\def\thischapterChapter{%
+ \putwordChapter{} \thischapternum: \thischaptername}
+%
+%
\def\chapmacro#1#2#3{%
\expandafter\ifx\thisenv\titlepage\else
\checkenv{}% chapters, etc., should not start inside an environment.
@@ -6421,22 +6437,14 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xdef\currentchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\appendixletter}%
- % \noexpand\putwordAppendix avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thischapter{\noexpand\putwordAppendix{}
- \noexpand\thischapternum:
- \noexpand\thischaptername}%
+ \let\noexpand\thischapter\noexpand\thischapterAppendix
}%
\else
\toks0={#1}%
\xdef\currentchapterdefs{%
\gdef\noexpand\thischaptername{\the\toks0}%
\gdef\noexpand\thischapternum{\the\chapno}%
- % \noexpand\putwordChapter avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thischapter{\noexpand\putwordChapter{}
- \noexpand\thischapternum:
- \noexpand\thischaptername}%
+ \let\noexpand\thischapter\noexpand\thischapterChapter
}%
\fi\fi\fi
%
@@ -6522,6 +6530,12 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\def\subsubsecheadingskip{\subsecheadingskip}
\def\subsubsecheadingbreak{\subsecheadingbreak}
+% Definition for @thissection. This can be overridden in translation
+% files.
+\def\thissectionDef{%
+ \putwordSection{} \thissectionnum: \thissectionname}
+%
+
% Print any size, any type, section title.
%
@@ -6563,11 +6577,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xdef\currentsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- % \noexpand\putwordSection avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thissection{\noexpand\putwordSection{}
- \noexpand\thissectionnum:
- \noexpand\thissectionname}%
+ \let\noexpand\thissection\noexpand\thissectionDef
}%
\fi
\else
@@ -6576,11 +6586,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xdef\currentsectiondefs{%
\gdef\noexpand\thissectionname{\the\toks0}%
\gdef\noexpand\thissectionnum{#4}%
- % \noexpand\putwordSection avoids expanding indigestible
- % commands in some of the translations.
- \gdef\noexpand\thissection{\noexpand\putwordSection{}
- \noexpand\thissectionnum:
- \noexpand\thissectionname}%
+ \let\noexpand\thissection\noexpand\thissectionDef
}%
\fi
\fi\fi\fi
@@ -7120,12 +7126,19 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\startsavinginserts
\lskip=\leftskip \rskip=\rightskip
\leftskip=0pt\rightskip=0pt % we want these *outside*.
+ %
+ % Set paragraph width for text inside cartouche. There are
+ % left and right margins of 3pt each plus two vrules 0.4pt each.
\cartinner=\hsize \advance\cartinner by-\lskip
\advance\cartinner by-\rskip
+ \advance\cartinner by -6.8pt
+ %
+ % For drawing top and bottom of cartouche. Each corner char
+ % adds 6pt and we take off the width of a rule to line up with the
+ % right boundary perfectly.
\cartouter=\hsize
- \advance\cartouter by 18.4pt % allow for 3pt kerns on either
- % side, and for 6pt waste from
- % each corner char, and rule thickness
+ \advance\cartouter by 11.6pt
+ %
\normbskip=\baselineskip \normpskip=\parskip \normlskip=\lineskip
%
% If this cartouche directly follows a sectioning command, we need the
@@ -8418,21 +8431,21 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\ifcase\paramno
% 0
\expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup
+ \begingroup
\noexpand\spaceisspace
\noexpand\endlineisspace
\noexpand\expandafter % skip any whitespace after the macro name.
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname{%
- \egroup
+ \endgroup
\noexpand\scanmacro{\macrobody}}%
\or % 1
\expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup
+ \begingroup
\noexpand\braceorline
\expandafter\noexpand\csname\the\macname @@@\endcsname}%
\expandafter\xdef\csname\the\macname @@@\endcsname##1{%
- \egroup
+ \endgroup
\noexpand\scanmacro{\macrobody}%
}%
\else % at most 9
@@ -8443,7 +8456,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
% @MACNAME@@@ removes braces surrounding the argument list.
% @MACNAME@@@@ scans the macro body with arguments substituted.
\expandafter\xdef\csname\the\macname\endcsname{%
- \bgroup
+ \begingroup
\noexpand\expandafter % This \expandafter skip any spaces after the
\noexpand\macroargctxt % macro before we change the catcode of space.
\noexpand\expandafter
@@ -8457,7 +8470,7 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\expandafter\xdef
\expandafter\expandafter
\csname\the\macname @@@@\endcsname\paramlist{%
- \egroup\noexpand\scanmacro{\macrobody}}%
+ \endgroup\noexpand\scanmacro{\macrobody}}%
\else % 10 or more:
\expandafter\xdef\csname\the\macname\endcsname{%
\noexpand\getargvals@{\the\macname}{\argl}%
@@ -8900,11 +8913,10 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\xrefprintnodename\printedrefname
%
\ifflagclear{txiomitxrefpg}{%
- % But we always want a comma and a space:
- ,\space
- %
+ % We always want a comma
+ ,%
% output the `page 3'.
- \turnoffactive \putwordpage\tie\refx{#1-pg}%
+ \turnoffactive \putpageref{#1}%
% Add a , if xref followed by a space
\if\space\noexpand\tokenafterxref ,%
\else\ifx\ \tokenafterxref ,% @TAB
@@ -8920,6 +8932,10 @@ might help (with 'rm \jobname.?? \jobname.??s')%
\endlink
\endgroup}
+% can be overridden in translation files
+\def\putpageref#1{%
+ \space\putwordpage\tie\refx{#1-pg}}
+
% Output a cross-manual xref to #1. Used just above (twice).
%
% Only include the text "Section ``foo'' in" if the foo is neither
@@ -10050,7 +10066,7 @@ directory should work if nowhere else does.}
\gdefchar^^ae{\v Z}
\gdefchar^^af{\dotaccent Z}
%
- \gdefchar^^b0{\textdegree{}}
+ \gdefchar^^b0{\textdegree}
\gdefchar^^b1{\ogonek{a}}
\gdefchar^^b2{\ogonek{ }}
\gdefchar^^b3{\l}
@@ -10473,7 +10489,7 @@ directory should work if nowhere else does.}
\DeclareUnicodeCharacter{00AE}{\registeredsymbol{}}%
\DeclareUnicodeCharacter{00AF}{\={ }}%
%
- \DeclareUnicodeCharacter{00B0}{\ringaccent{ }}%
+ \DeclareUnicodeCharacter{00B0}{\textdegree}
\DeclareUnicodeCharacter{00B1}{\ensuremath\pm}%
\DeclareUnicodeCharacter{00B2}{$^2$}%
\DeclareUnicodeCharacter{00B3}{$^3$}%
@@ -10977,7 +10993,7 @@ directory should work if nowhere else does.}
%
\DeclareUnicodeCharacter{20AC}{\euro{}}%
%
- \DeclareUnicodeCharacter{2192}{\expansion{}}%
+ \DeclareUnicodeCharacter{2192}{\arrow}%
\DeclareUnicodeCharacter{21D2}{\result{}}%
%
% Mathematical symbols
@@ -11438,17 +11454,18 @@ directory should work if nowhere else does.}
\mtadjustprotcode#1\relax
}
+\newcount\countC
\def\mtadjustprotcode#1{%
- \countA=0
+ \countC=0
\loop
- \ifcase\lpcode#1\countA\else
- \mtadjustcp\lpcode#1\countA
+ \ifcase\lpcode#1\countC\else
+ \mtadjustcp\lpcode#1\countC
\fi
- \ifcase\rpcode#1\countA\else
- \mtadjustcp\rpcode#1\countA
+ \ifcase\rpcode#1\countC\else
+ \mtadjustcp\rpcode#1\countC
\fi
- \advance\countA 1
- \ifnum\countA < 256 \repeat
+ \advance\countC 1
+ \ifnum\countC < 256 \repeat
}
\newcount\countB
diff --git a/doc/wordlist b/doc/wordlist
index 398c4c2d..e4563fef 100644
--- a/doc/wordlist
+++ b/doc/wordlist
@@ -76,6 +76,7 @@ CEST
CFLAGS
CGI
CHEM
+CIFS
COMFOLLOW
COMMONEXT
CONFIG
@@ -182,6 +183,7 @@ Fnmatch
Formfeed
FreeBSD
Friedl
+Fuzzers
GAWKINETTITLE
GAWKWORKFLOWTITLE
GCC
@@ -651,6 +653,7 @@ awf
awk
awka
awkcard
+awkcc
awkforai
awkgo
awkgram
@@ -1009,6 +1012,8 @@ func
funcp
funcs
funstuff
+fuzzer
+fuzzers
fw
fwrite
ga
@@ -1258,6 +1263,8 @@ lvalue
lvalues
lwall
lwcm
+macOS
+macosx
madronabluff
mailx
makeinfo
@@ -1372,6 +1379,7 @@ noalign
noassign
nogroup
noindent
+nokia
nologin
nonalphabetic
nonalphanumeric
diff --git a/doc/wordlist6 b/doc/wordlist6
index af667f09..3e022af2 100644
--- a/doc/wordlist6
+++ b/doc/wordlist6
@@ -1,7 +1,9 @@
AWK
+CIFS
CW
Haris
Jianan
+Nov
Volos
Zi
acm
diff --git a/extension/ChangeLog b/extension/ChangeLog
index 04d6b35c..f32b16b6 100644
--- a/extension/ChangeLog
+++ b/extension/ChangeLog
@@ -1,3 +1,7 @@
+2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * configure.ac: Update version.
+
2022-10-28 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (DEBUG): New variable with debug compilation flags.
diff --git a/extension/configure b/extension/configure
index 477aa0ed..f6c9394b 100755
--- a/extension/configure
+++ b/extension/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.71 for GNU Awk Bundled Extensions 5.2.0.
+# Generated by GNU Autoconf 2.71 for GNU Awk Bundled Extensions 5.2.1.
#
# Report bugs to <bug-gawk@gnu.org>.
#
@@ -621,8 +621,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='GNU Awk Bundled Extensions'
PACKAGE_TARNAME='gawk-extensions'
-PACKAGE_VERSION='5.2.0'
-PACKAGE_STRING='GNU Awk Bundled Extensions 5.2.0'
+PACKAGE_VERSION='5.2.1'
+PACKAGE_STRING='GNU Awk Bundled Extensions 5.2.1'
PACKAGE_BUGREPORT='bug-gawk@gnu.org'
PACKAGE_URL='https://www.gnu.org/software/gawk-extensions/'
@@ -1383,7 +1383,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures GNU Awk Bundled Extensions 5.2.0 to adapt to many kinds of systems.
+\`configure' configures GNU Awk Bundled Extensions 5.2.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1454,7 +1454,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of GNU Awk Bundled Extensions 5.2.0:";;
+ short | recursive ) echo "Configuration of GNU Awk Bundled Extensions 5.2.1:";;
esac
cat <<\_ACEOF
@@ -1579,7 +1579,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-GNU Awk Bundled Extensions configure 5.2.0
+GNU Awk Bundled Extensions configure 5.2.1
generated by GNU Autoconf 2.71
Copyright (C) 2021 Free Software Foundation, Inc.
@@ -2179,7 +2179,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by GNU Awk Bundled Extensions $as_me 5.2.0, which was
+It was created by GNU Awk Bundled Extensions $as_me 5.2.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
$ $0$ac_configure_args_raw
@@ -3458,7 +3458,7 @@ fi
# Define the identity of the package.
PACKAGE='gawk-extensions'
- VERSION='5.2.0'
+ VERSION='5.2.1'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -18334,7 +18334,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by GNU Awk Bundled Extensions $as_me 5.2.0, which was
+This file was extended by GNU Awk Bundled Extensions $as_me 5.2.1, which was
generated by GNU Autoconf 2.71. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -18404,7 +18404,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-GNU Awk Bundled Extensions config.status 5.2.0
+GNU Awk Bundled Extensions config.status 5.2.1
configured by $0, generated by GNU Autoconf 2.71,
with options \\"\$ac_cs_config\\"
diff --git a/extension/configure.ac b/extension/configure.ac
index 412db25c..0f86caeb 100644
--- a/extension/configure.ac
+++ b/extension/configure.ac
@@ -23,7 +23,7 @@ dnl
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([GNU Awk Bundled Extensions],[5.2.0],[bug-gawk@gnu.org],[gawk-extensions])
+AC_INIT([GNU Awk Bundled Extensions],[5.2.1],[bug-gawk@gnu.org],[gawk-extensions])
AC_PREREQ([2.71])
diff --git a/support/ChangeLog b/support/ChangeLog
index e8f72569..1891e0c7 100644
--- a/support/ChangeLog
+++ b/support/ChangeLog
@@ -1,3 +1,7 @@
+2022-11-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * pma.c: Small sync with upstream.
+
2022-11-01 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (libsupport_a_SOURCES): Add intprops-internal.h.
diff --git a/support/pma.c b/support/pma.c
index 9f582a26..6221e752 100644
--- a/support/pma.c
+++ b/support/pma.c
@@ -43,7 +43,6 @@
#include "pma.h"
-
// Software version; not the same as backing file format version.
const char pma_version[] = "2022.10Oct.30.1667172241 (Avon 8-g1)";