summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2022-06-20 08:38:06 +0300
committerArnold D. Robbins <arnold@skeeve.com>2022-06-20 08:38:06 +0300
commit03f79dcb6aff98574c32609c80ecdd6e52730244 (patch)
tree6324e693e427eef402338a418e9a9f9e1e2625d1
parentf2e718519ec9759fa0f2f5cc329fb4d5102d37c6 (diff)
downloadgawk-03f79dcb6aff98574c32609c80ecdd6e52730244.tar.gz
MPFR now "on parole" instead of deprecated.
-rw-r--r--ChangeLog6
-rw-r--r--NEWS12
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.117
-rw-r--r--doc/gawk.info1367
-rw-r--r--doc/gawk.texi40
-rw-r--r--doc/gawktexi.in40
-rw-r--r--main.c6
8 files changed, 777 insertions, 716 deletions
diff --git a/ChangeLog b/ChangeLog
index c279ad25..85101e98 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2022-06-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * NEWS: MPFR is now "on parole" instead of deprecated.
+ * main.c (deprecate_mpfr): ifdef'ed out.
+ (parse_args): Comment out call to deprecate_mpfr().
+
2022-06-15 Andrew J. Schorr <aschorr@telemetry-investments.com>
* main.c (load_environ): Init ENVIRON_node before filling
diff --git a/NEWS b/NEWS
index 89807bd4..abd396e7 100644
--- a/NEWS
+++ b/NEWS
@@ -7,12 +7,12 @@
Changes from 5.1.x to 5.2.0
---------------------------
-***********************************************************************
-* MPFR mode (the -M option) is now DEPRECATED. This feature will be *
-* removed in 2024. Using -M produces a warning message unless you *
-* set GAWK_NO_MPFR_WARN in the environment. For more information see *
-* https://...... *
-***********************************************************************
+*****************************************************************************
+* MPFR mode (the -M option) is now ON PAROLE. This feature is now being *
+* supported by a volunteer in the development team and not by the primary *
+* maintainer. If this situation changes, then the feature will be removed. *
+* For more information see https://...... *
+*****************************************************************************
1. Numeric scalars now compare in the same way as C for the relational
operators. Comparison order for sorting has not changed. This only
diff --git a/doc/ChangeLog b/doc/ChangeLog
index eee7808f..eea6a919 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2022-06-20 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawk.1: MPFR is now "on parole" instead of deprecated.
+ * gawktexi.in: Ditto. Update copyright year.
+
2022-06-06 Andrew J. Schorr <aschorr@telemetry-investments.com>
* gawktexi.in (Array Functions): Add new function destroy_array.
diff --git a/doc/gawk.1 b/doc/gawk.1
index 98bdff8a..8e7b8794 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -13,7 +13,7 @@
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
-.TH GAWK 1 "May 03 2022" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Jun 08 2022" "Free Software Foundation" "Utility Commands"
.SH NAME
gawk \- pattern scanning and processing language
.SH SYNOPSIS
@@ -267,12 +267,19 @@ issues a warning.)
.sp
.B NOTE:
This feature is
-.IR deprecated .
-It will be removed from
+.IR "on parole" .
+The primary
.I gawk
-in 2024 and its use produces a warning messge. Set
+maintainer is no longer supporting it, although there is
+a member of the development team who is. If this situation
+changes, the feature
+will be removed from
+.IR gawk .
+.ig
+Set
.B GAWK_NO_MPFR_WARN
in the environment to silence the warning.
+..
.TP
.BR \-n ", "\c
.B \-\^\-non\-decimal\-data
@@ -2315,11 +2322,13 @@ If
has been specified,
.I gawk
issues a warning message to this effect.
+.ig
.PP
Set
.B GAWK_NO_MPFR_WARN
in the environment to silence the warning about MPFR mode
being deprecated.
+..
.SH EXIT STATUS
If the
.B exit
diff --git a/doc/gawk.info b/doc/gawk.info
index 804caf15..4d87e3e1 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1,6 +1,6 @@
This is gawk.info, produced by makeinfo version 6.8 from gawk.texi.
-Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2021
+Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2022
Free Software Foundation, Inc.
@@ -37,7 +37,7 @@ General Introduction
This file documents 'awk', a program that you can use to select
particular records in a file and perform operations upon them.
- Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2021
+ Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2022
Free Software Foundation, Inc.
@@ -552,7 +552,7 @@ in (a) below. A copy of the license is included in the section entitled
* Computer Arithmetic:: A quick intro to computer math.
* Math Definitions:: Defining terms used.
* MPFR features:: The MPFR features in 'gawk'.
-* MPFR Deprecated:: MPFR features are deprecated!
+* MPFR On Parole:: MPFR features are on parole!
* MPFR Intro:: MPFR General introduction.
* FP Math Caution:: Things to know.
* Inexactness of computations:: Floating point math is not exact.
@@ -2751,10 +2751,11 @@ The following list describes options mandated by the POSIX standard:
libraries (*note Arbitrary Precision Arithmetic::).
As of version 5.2, the arbitrary precision arithmetic features in
- 'gawk' are _deprecated_. They will be removed from 'gawk' in 2024.
- If you use this option, 'gawk' generates a warning message. Create
- the environment variable 'GAWK_NO_MPFR_WARN' with an arbitrary
- value in order to silence the warning.
+ 'gawk' are "on parole." The primary maintainer is no longer
+ willing to support this feature, but another member of the
+ development team has stepped up to take it over. As long as this
+ situation reamins stable, MPFR will be supported. If it changes,
+ the MPFR support will be removed from 'gawk'.
'-n'
'--non-decimal-data'
@@ -3207,10 +3208,6 @@ used by regular users:
On systems that do not support the 'usleep()' system call, the
value is rounded up to an integral number of seconds.
-'GAWK_NO_MPFR_WARN'
- Specifies that 'gawk' should not print a deprecation warning when
- used with the '-M'/'--bignum' options.
-
'GAWK_READ_TIMEOUT'
Specifies the time, in milliseconds, for 'gawk' to wait for input
before returning with an error. *Note Read Timeout::.
@@ -24590,29 +24587,29 @@ This minor node briefly describes arbitrary-precision arithmetic in
* Menu:
-* MPFR Deprecated:: MPFR features are deprecated!
+* MPFR On Parole:: MPFR features are on parole!
* MPFR Intro:: MPFR General introduction.

-File: gawk.info, Node: MPFR Deprecated, Next: MPFR Intro, Up: MPFR features
+File: gawk.info, Node: MPFR On Parole, Next: MPFR Intro, Up: MPFR features
-16.3.1 Arbitrary Precision Arithmetic is Deprecated!
-----------------------------------------------------
+16.3.1 Arbitrary Precision Arithmetic is On Parole!
+---------------------------------------------------
-As of version 5.2, arbitrary precision arithmetic in 'gawk' is
-_deprecated_. It will be removed from 'gawk' in 2024.
+As of version 5.2, arbitrary precision arithmetic in 'gawk' is "on
+parole." The primary 'gawk' maintainer is no longer maintaining it.
+Fortunately, a volunteer from the development team has agreed to take it
+over.
- This feature is deprecated because its inclusion was a mistake. It
+ This feature is on parole because its inclusion was a mistake. It
has led to endless bug reports, misuse of the feature and public abuse
of the maintainer, for no real increased value.
- If you use this feature, you should start working now to find a
-different toolset with which to accomplish your goals.(1)
+ If the situation with support changes, the feature will be removed
+from 'gawk'.
- If the feature is very important to you, then consider if you are
-willing to volunteer to maintain it, so that it can continue to be
-included in 'gawk'. If that is the case, contact the maintainer to
-discuss it with him. You may do so by submitting a bug report.
+ If you use this feature, you should consider finding a different
+toolset with which to accomplish your goals.(1)
---------- Footnotes ----------
@@ -24621,7 +24618,7 @@ that still supports arbitrary precision arithmetic. It simply will be
unmaintained.

-File: gawk.info, Node: MPFR Intro, Prev: MPFR Deprecated, Up: MPFR features
+File: gawk.info, Node: MPFR Intro, Prev: MPFR On Parole, Up: MPFR features
16.3.2 Arbitrary Precision Introduction
---------------------------------------
@@ -35402,7 +35399,7 @@ Index
* + (plus sign), += operator <1>: Precedence. (line 94)
* , (comma), in range patterns: Ranges. (line 6)
* - (hyphen), file names beginning with: Options. (line 63)
-* - (hyphen), -- end of options marker: Options. (line 353)
+* - (hyphen), -- end of options marker: Options. (line 354)
* - (hyphen), in bracket expressions: Bracket Expressions. (line 25)
* - (hyphen), -= operator: Assignment Ops. (line 129)
* - (hyphen), -- operator: Increment Ops. (line 48)
@@ -35438,21 +35435,21 @@ Index
* --include option: Options. (line 180)
* --lint option: Command Line. (line 20)
* --lint option <1>: Options. (line 215)
-* --lint-old option: Options. (line 343)
+* --lint-old option: Options. (line 344)
* --load option: Options. (line 203)
-* --no-optimize option: Options. (line 328)
-* --non-decimal-data option: Options. (line 254)
+* --no-optimize option: Options. (line 329)
+* --non-decimal-data option: Options. (line 255)
* --non-decimal-data option <1>: Nondecimal Data. (line 6)
* --non-decimal-data option, strtonum() function and: Nondecimal Data.
(line 35)
-* --optimize option: Options. (line 279)
-* --posix option: Options. (line 301)
-* --posix option, --traditional option and: Options. (line 316)
-* --pretty-print option: Options. (line 268)
-* --profile option: Options. (line 289)
+* --optimize option: Options. (line 280)
+* --posix option: Options. (line 302)
+* --posix option, --traditional option and: Options. (line 317)
+* --pretty-print option: Options. (line 269)
+* --profile option: Options. (line 290)
* --profile option <1>: Profiling. (line 12)
-* --re-interval option: Options. (line 322)
-* --sandbox option: Options. (line 333)
+* --re-interval option: Options. (line 323)
+* --sandbox option: Options. (line 334)
* --sandbox option, input redirection with getline: Getline. (line 19)
* --sandbox option, output redirection with print, printf: Redirection.
(line 6)
@@ -35461,9 +35458,9 @@ Index
* --source option: Options. (line 120)
* --trace option: Options. (line 197)
* --traditional option: Options. (line 85)
-* --traditional option, --posix option and: Options. (line 316)
-* --use-lc-numeric option: Options. (line 263)
-* --version option: Options. (line 348)
+* --traditional option, --posix option and: Options. (line 317)
+* --use-lc-numeric option: Options. (line 264)
+* --version option: Options. (line 349)
* -b option: Options. (line 72)
* -c option: Options. (line 85)
* -C option: Options. (line 92)
@@ -35471,12 +35468,12 @@ Index
* -D option: Options. (line 111)
* -e option: Options. (line 120)
* -E option: Options. (line 146)
-* -e option <1>: Options. (line 389)
+* -e option <1>: Options. (line 390)
* -f option: Long. (line 12)
* -F option: Options. (line 21)
* -f option <1>: Options. (line 25)
-* -F option, -Ft sets FS to TAB: Options. (line 361)
-* -f option, multiple uses: Options. (line 366)
+* -F option, -Ft sets FS to TAB: Options. (line 362)
+* -f option, multiple uses: Options. (line 367)
* -F option, command-line: Command Line Field Separator.
(line 6)
* -g option: Options. (line 168)
@@ -35485,19 +35482,19 @@ Index
* -I option: Options. (line 197)
* -l option: Options. (line 203)
* -l option <1>: Options. (line 215)
-* -L option: Options. (line 343)
+* -L option: Options. (line 344)
* -M option: Options. (line 242)
-* -n option: Options. (line 254)
-* -N option: Options. (line 263)
-* -o option: Options. (line 268)
-* -O option: Options. (line 279)
-* -p option: Options. (line 289)
-* -P option: Options. (line 301)
-* -r option: Options. (line 322)
-* -s option: Options. (line 328)
-* -S option: Options. (line 333)
+* -n option: Options. (line 255)
+* -N option: Options. (line 264)
+* -o option: Options. (line 269)
+* -O option: Options. (line 280)
+* -p option: Options. (line 290)
+* -P option: Options. (line 302)
+* -r option: Options. (line 323)
+* -s option: Options. (line 329)
+* -S option: Options. (line 334)
* -v option: Options. (line 36)
-* -V option: Options. (line 348)
+* -V option: Options. (line 349)
* -v option <1>: Assignment Options. (line 12)
* -W option: Options. (line 50)
* . (period), regexp operator: Regexp Operator Details.
@@ -35733,7 +35730,7 @@ Index
* arguments, command-line <1>: Auto-set. (line 15)
* arguments, command-line <2>: ARGC and ARGV. (line 6)
* arguments, processing: Getopt Function. (line 6)
-* ARGV array: Options. (line 333)
+* ARGV array: Options. (line 334)
* ARGV array, indexing into: Other Arguments. (line 21)
* arithmetic operators: Arithmetic Ops. (line 6)
* array manipulation in extensions: Array Manipulation. (line 6)
@@ -35857,7 +35854,7 @@ Index
* awk, uses for <1>: Getting Started. (line 12)
* awk, uses for <2>: When. (line 6)
* awk, invoking: Command Line. (line 6)
-* awk, profiling, enabling: Options. (line 289)
+* awk, profiling, enabling: Options. (line 290)
* awk, implementations, limits: Getline Notes. (line 14)
* awk, implementation issues, pipes: Redirection. (line 129)
* awk, new vs. old, OFMT variable: Strings And Numbers. (line 56)
@@ -36307,7 +36304,7 @@ Index
* cosine: Numeric Functions. (line 15)
* counting words, lines, characters, and bytes: Wc Program. (line 6)
* csh utility: Statements/Lines. (line 45)
-* csh utility, POSIXLY_CORRECT environment variable: Options. (line 410)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 411)
* csh utility, |& operator, comparison with: Two-way I/O. (line 27)
* CSV (comma separated values) data, parsing with FPAT: Splitting By Content.
(line 20)
@@ -36541,7 +36538,7 @@ Index
* debugging, example session: Sample Debugging Session.
(line 6)
* debugging gawk, bug reports: Bugs. (line 9)
-* decimal point character, locale specific: Options. (line 313)
+* decimal point character, locale specific: Options. (line 314)
* decrement operators: Increment Ops. (line 35)
* default keyword: Switch Statement. (line 6)
* Deifik, Scott: Acknowledgments. (line 60)
@@ -36738,7 +36735,7 @@ Index
* endpwent() user-defined function: Passwd Functions. (line 210)
* English, Steve: Advanced Features. (line 6)
* ENVIRON array: Auto-set. (line 59)
-* environment variables, POSIXLY_CORRECT: Options. (line 395)
+* environment variables, POSIXLY_CORRECT: Options. (line 396)
* environment variables, used by gawk: Environment Variables.
(line 6)
* environment variables, AWKPATH: AWKPATH Variable. (line 6)
@@ -37031,7 +37028,7 @@ Index
* Free Software Foundation (FSF) <3>: Glossary. (line 403)
* FreeBSD: Glossary. (line 747)
* FS variable, --field-separator option and: Options. (line 21)
-* FS variable, TAB character as: Options. (line 310)
+* FS variable, TAB character as: Options. (line 311)
* FS variable: Field Separators. (line 15)
* FS variable, changing value of: Field Separators. (line 34)
* FS variable, containing ^: Regexp Field Splitting.
@@ -37106,8 +37103,8 @@ Index
* gawk, uses for: Preface. (line 34)
* gawk, awk and <1>: This Manual. (line 14)
* gawk, newlines in: Statements/Lines. (line 12)
-* gawk, extensions, disabling: Options. (line 301)
-* gawk, version of, printing information about: Options. (line 348)
+* gawk, extensions, disabling: Options. (line 302)
+* gawk, version of, printing information about: Options. (line 349)
* gawk, ARGIND variable in: Other Arguments. (line 21)
* gawk, PROCINFO array in: Other Arguments. (line 21)
* gawk, escape sequences: Escape Sequences. (line 120)
@@ -37312,13 +37309,13 @@ Index
* help debugger command: Miscellaneous Debugger Commands.
(line 67)
* hexadecimal numbers: Nondecimal-numbers. (line 6)
-* hexadecimal values, enabling interpretation of: Options. (line 254)
+* hexadecimal values, enabling interpretation of: Options. (line 255)
* history expansion, in debugger: Readline Support. (line 6)
* histsort.awk program: History Sorting. (line 25)
* Hughes, Phil: Acknowledgments. (line 43)
* HUP signal, for dynamic profiling: Profiling. (line 217)
* hyphen (-), file names beginning with: Options. (line 63)
-* hyphen (-), -- end of options marker: Options. (line 353)
+* hyphen (-), -- end of options marker: Options. (line 354)
* hyphen (-), in bracket expressions: Bracket Expressions. (line 25)
* hyphen (-), -= operator: Assignment Ops. (line 129)
* hyphen (-), -- operator: Increment Ops. (line 48)
@@ -37542,7 +37539,7 @@ Index
* lint checking, empty programs: Command Line. (line 16)
* lint checking, issuing warnings: Options. (line 215)
* lint checking, POSIXLY_CORRECT environment variable: Options.
- (line 395)
+ (line 396)
* lint checking: User-modified. (line 90)
* lint checking, array subscripts: Uninitialized Subscripts.
(line 43)
@@ -37561,7 +37558,7 @@ Index
* local variables, in a function: Variable Scope. (line 6)
* local variables, show in debugger: Debugger Info. (line 34)
* locale categories: Explaining gettext. (line 81)
-* locale decimal point character: Options. (line 313)
+* locale decimal point character: Options. (line 314)
* locale, definition of: Locales. (line 6)
* log: Numeric Functions. (line 28)
* log files, timestamps in: Time Functions. (line 6)
@@ -37680,7 +37677,7 @@ Index
* networks, support for: Special Network. (line 6)
* networks, programming: TCP/IP Networking. (line 6)
* newlines: Statements/Lines. (line 6)
-* newlines <1>: Options. (line 307)
+* newlines <1>: Options. (line 308)
* newlines, in dynamic regexps: Computed Regexps. (line 60)
* newlines, in regexp constants: Computed Regexps. (line 70)
* newlines, as record separators: awk split records. (line 12)
@@ -37757,7 +37754,7 @@ Index
* o debugger command (alias for option): Debugger Info. (line 57)
* obsolete features: Obsolete. (line 6)
* octal numbers: Nondecimal-numbers. (line 6)
-* octal values, enabling interpretation of: Options. (line 254)
+* octal values, enabling interpretation of: Options. (line 255)
* OFMT variable: OFMT. (line 15)
* OFMT variable, POSIX awk and: OFMT. (line 27)
* OFMT variable <1>: Strings And Numbers. (line 56)
@@ -37888,7 +37885,7 @@ Index
* portability, #! (executable scripts): Executable Scripts. (line 29)
* portability, ARGV variable: Executable Scripts. (line 55)
* portability, backslash continuation and: Statements/Lines. (line 30)
-* portability, POSIXLY_CORRECT environment variable: Options. (line 415)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 416)
* portability: Escape Sequences. (line 103)
* portability, backslash in escape sequences: Escape Sequences.
(line 108)
@@ -37964,8 +37961,8 @@ Index
* POSIX awk, date utility and: Time Functions. (line 254)
* POSIX awk, function keyword in: Definition Syntax. (line 99)
* POSIX awk, changes in awk versions: POSIX. (line 6)
-* POSIX mode: Options. (line 301)
-* POSIX mode <1>: Options. (line 395)
+* POSIX mode: Options. (line 302)
+* POSIX mode <1>: Options. (line 396)
* POSIX mode <2>: Regexp Operator Details.
(line 47)
* POSIX mode <3>: Input Summary. (line 69)
@@ -37985,7 +37982,7 @@ Index
* POSIX mode <12>: POSIX Floating Point Problems.
(line 83)
* POSIX mode <13>: Feature History. (line 315)
-* POSIXLY_CORRECT environment variable: Options. (line 395)
+* POSIXLY_CORRECT environment variable: Options. (line 396)
* PREC variable: User-modified. (line 126)
* precedence, regexp operators: Regexp Operator Details.
(line 137)
@@ -37997,7 +37994,7 @@ Index
* predefined variables, conveying information: Auto-set. (line 6)
* pretty printer, interaction with namespaces: Namespace And Features.
(line 9)
-* pretty printing: Options. (line 266)
+* pretty printing: Options. (line 267)
* pretty printing <1>: Profiling. (line 228)
* pretty printing, profiling, difference with: Profiling. (line 235)
* print debugger command: Viewing And Changing Data.
@@ -38169,7 +38166,7 @@ Index
(line 149)
* register loadable extension: Registration Functions.
(line 6)
-* regular expressions, interval expressions and: Options. (line 322)
+* regular expressions, interval expressions and: Options. (line 323)
* regular expressions: Regexp. (line 6)
* regular expressions, as patterns: Regexp Usage. (line 6)
* regular expressions, operators: Regexp Usage. (line 19)
@@ -38271,7 +38268,7 @@ Index
(line 68)
* sample debugging session: Sample Debugging Session.
(line 6)
-* sandbox mode: Options. (line 333)
+* sandbox mode: Options. (line 334)
* save debugger options: Debugger Info. (line 85)
* scalar or array: Type Functions. (line 11)
* scalar values: Basic Data Typing. (line 13)
@@ -38631,7 +38628,7 @@ Index
* treating files, as single records: gawk split records. (line 104)
* troubleshooting, typographical errors, global variables: Options.
(line 102)
-* troubleshooting, --non-decimal-data option: Options. (line 254)
+* troubleshooting, --non-decimal-data option: Options. (line 255)
* troubleshooting, backslash before nonspecial character: Escape Sequences.
(line 108)
* troubleshooting, regexp constants vs. string constants: Computed Regexps.
@@ -38819,7 +38816,7 @@ Index
(line 13)
* while statement, use of regexps in: Regexp Usage. (line 19)
* while statement: While Statement. (line 6)
-* whitespace, newlines as: Options. (line 307)
+* whitespace, newlines as: Options. (line 308)
* whitespace, definition of: Fields. (line 6)
* whitespace, as field separators: Default Field Splitting.
(line 6)
@@ -38855,615 +38852,615 @@ Index

Tag Table:
Node: Top1200
-Node: Foreword345721
-Node: Foreword450163
-Node: Preface51695
-Ref: Preface-Footnote-154554
-Ref: Preface-Footnote-254663
-Ref: Preface-Footnote-354897
-Node: History55039
-Node: Names57391
-Ref: Names-Footnote-158495
-Node: This Manual58642
-Ref: This Manual-Footnote-165281
-Node: Conventions65381
-Node: Manual History67750
-Ref: Manual History-Footnote-170747
-Ref: Manual History-Footnote-270788
-Node: How To Contribute70862
-Node: Acknowledgments71784
-Node: Getting Started76721
-Node: Running gawk79160
-Node: One-shot80350
-Node: Read Terminal81613
-Node: Long83606
-Node: Executable Scripts85119
-Ref: Executable Scripts-Footnote-187752
-Node: Comments87855
-Node: Quoting90339
-Node: DOS Quoting95865
-Node: Sample Data Files97921
-Node: Very Simple100516
-Node: Two Rules106618
-Node: More Complex108503
-Node: Statements/Lines110835
-Ref: Statements/Lines-Footnote-1115319
-Node: Other Features115584
-Node: When116520
-Ref: When-Footnote-1118274
-Node: Intro Summary118339
-Node: Invoking Gawk119223
-Node: Command Line120737
-Node: Options121535
-Ref: Options-Footnote-1139719
-Ref: Options-Footnote-2139950
-Node: Other Arguments139975
-Node: Naming Standard Input143986
-Node: Environment Variables145196
-Node: AWKPATH Variable145754
-Ref: AWKPATH Variable-Footnote-1149166
-Ref: AWKPATH Variable-Footnote-2149200
-Node: AWKLIBPATH Variable149571
-Ref: AWKLIBPATH Variable-Footnote-1151268
-Node: Other Environment Variables151643
-Node: Exit Status155731
-Node: Include Files156408
-Node: Loading Shared Libraries160098
-Node: Obsolete161526
-Node: Undocumented162146
-Node: Invoking Summary162443
-Node: Regexp165284
-Node: Regexp Usage166738
-Node: Escape Sequences168775
-Node: Regexp Operators175017
-Node: Regexp Operator Details175502
-Ref: Regexp Operator Details-Footnote-1182866
-Node: Interval Expressions183013
-Ref: Interval Expressions-Footnote-1185188
-Node: Bracket Expressions185286
-Ref: table-char-classes187762
-Node: Leftmost Longest191089
-Node: Computed Regexps192392
-Node: GNU Regexp Operators195819
-Node: Case-sensitivity199497
-Ref: Case-sensitivity-Footnote-1202363
-Ref: Case-sensitivity-Footnote-2202598
-Node: Regexp Summary202706
-Node: Reading Files204172
-Node: Records206441
-Node: awk split records207516
-Node: gawk split records212216
-Ref: gawk split records-Footnote-1217290
-Node: Fields217327
-Node: Nonconstant Fields220068
-Ref: Nonconstant Fields-Footnote-1222304
-Node: Changing Fields222508
-Node: Field Separators228539
-Node: Default Field Splitting231237
-Node: Regexp Field Splitting232355
-Node: Single Character Fields236032
-Node: Command Line Field Separator237092
-Node: Full Line Fields240310
-Ref: Full Line Fields-Footnote-1241832
-Ref: Full Line Fields-Footnote-2241878
-Node: Field Splitting Summary241979
-Node: Constant Size244053
-Node: Fixed width data244785
-Node: Skipping intervening248252
-Node: Allowing trailing data249050
-Node: Fields with fixed data250087
-Node: Splitting By Content251605
-Ref: Splitting By Content-Footnote-1255441
-Node: More CSV255604
-Node: FS versus FPAT257219
-Node: Testing field creation258379
-Node: Multiple Line260004
-Node: Getline266281
-Node: Plain Getline268750
-Node: Getline/Variable271323
-Node: Getline/File272474
-Node: Getline/Variable/File273862
-Ref: Getline/Variable/File-Footnote-1275467
-Node: Getline/Pipe275555
-Node: Getline/Variable/Pipe278259
-Node: Getline/Coprocess279394
-Node: Getline/Variable/Coprocess280661
-Node: Getline Notes281403
-Node: Getline Summary284200
-Ref: table-getline-variants284624
-Node: Read Timeout285373
-Ref: Read Timeout-Footnote-1289289
-Node: Retrying Input289347
-Node: Command-line directories290546
-Node: Input Summary291452
-Node: Input Exercises294624
-Node: Printing295058
-Node: Print296892
-Node: Print Examples298349
-Node: Output Separators301129
-Node: OFMT303146
-Node: Printf304502
-Node: Basic Printf305287
-Node: Control Letters306861
-Node: Format Modifiers312023
-Node: Printf Examples318038
-Node: Redirection320524
-Node: Special FD327365
-Ref: Special FD-Footnote-1330533
-Node: Special Files330607
-Node: Other Inherited Files331224
-Node: Special Network332225
-Node: Special Caveats333085
-Node: Close Files And Pipes334034
-Ref: table-close-pipe-return-values340941
-Ref: Close Files And Pipes-Footnote-1341755
-Ref: Close Files And Pipes-Footnote-2341903
-Node: Nonfatal342055
-Node: Output Summary344393
-Node: Output Exercises345615
-Node: Expressions346294
-Node: Values347482
-Node: Constants348160
-Node: Scalar Constants348851
-Ref: Scalar Constants-Footnote-1351361
-Node: Nondecimal-numbers351611
-Node: Regexp Constants354612
-Node: Using Constant Regexps355138
-Node: Standard Regexp Constants355760
-Node: Strong Regexp Constants358948
-Node: Variables362663
-Node: Using Variables363320
-Node: Assignment Options365230
-Node: Conversion367701
-Node: Strings And Numbers368225
-Ref: Strings And Numbers-Footnote-1371288
-Node: Locale influences conversions371397
-Ref: table-locale-affects374155
-Node: All Operators374774
-Node: Arithmetic Ops375403
-Node: Concatenation378119
-Ref: Concatenation-Footnote-1380966
-Node: Assignment Ops381073
-Ref: table-assign-ops386064
-Node: Increment Ops387378
-Node: Truth Values and Conditions390838
-Node: Truth Values391912
-Node: Typing and Comparison392960
-Node: Variable Typing393780
-Ref: Variable Typing-Footnote-1400243
-Ref: Variable Typing-Footnote-2400315
-Node: Comparison Operators400392
-Ref: table-relational-ops400811
-Node: POSIX String Comparison404307
-Ref: POSIX String Comparison-Footnote-1406002
-Ref: POSIX String Comparison-Footnote-2406141
-Node: Boolean Ops406225
-Ref: Boolean Ops-Footnote-1410707
-Node: Conditional Exp410799
-Node: Function Calls412535
-Node: Precedence416412
-Node: Locales420071
-Node: Expressions Summary421703
-Node: Patterns and Actions424276
-Node: Pattern Overview425396
-Node: Regexp Patterns427073
-Node: Expression Patterns427615
-Node: Ranges431396
-Node: BEGIN/END434504
-Node: Using BEGIN/END435265
-Ref: Using BEGIN/END-Footnote-1438019
-Node: I/O And BEGIN/END438125
-Node: BEGINFILE/ENDFILE440438
-Node: Empty443669
-Node: Using Shell Variables443986
-Node: Action Overview446260
-Node: Statements448585
-Node: If Statement450433
-Node: While Statement451928
-Node: Do Statement453956
-Node: For Statement455104
-Node: Switch Statement458359
-Node: Break Statement460800
-Node: Continue Statement462892
-Node: Next Statement464719
-Node: Nextfile Statement467102
-Node: Exit Statement469791
-Node: Built-in Variables472194
-Node: User-modified473327
-Node: Auto-set481094
-Ref: Auto-set-Footnote-1497901
-Ref: Auto-set-Footnote-2498107
-Node: ARGC and ARGV498163
-Node: Pattern Action Summary502376
-Node: Arrays504806
-Node: Array Basics506135
-Node: Array Intro506979
-Ref: figure-array-elements508954
-Ref: Array Intro-Footnote-1511659
-Node: Reference to Elements511787
-Node: Assigning Elements514251
-Node: Array Example514742
-Node: Scanning an Array516696
-Node: Controlling Scanning519718
-Ref: Controlling Scanning-Footnote-1526174
-Node: Numeric Array Subscripts526490
-Node: Uninitialized Subscripts528674
-Node: Delete530293
-Ref: Delete-Footnote-1533045
-Node: Multidimensional533102
-Node: Multiscanning536197
-Node: Arrays of Arrays537788
-Node: Arrays Summary542556
-Node: Functions544649
-Node: Built-in545687
-Node: Calling Built-in546840
-Node: Boolean Functions548836
-Node: Numeric Functions549390
-Ref: Numeric Functions-Footnote-1553417
-Ref: Numeric Functions-Footnote-2554065
-Ref: Numeric Functions-Footnote-3554113
-Node: String Functions554385
-Ref: String Functions-Footnote-1579227
-Ref: String Functions-Footnote-2579355
-Ref: String Functions-Footnote-3579603
-Node: Gory Details579690
-Ref: table-sub-escapes581481
-Ref: table-sub-proposed583001
-Ref: table-posix-sub584365
-Ref: table-gensub-escapes585907
-Ref: Gory Details-Footnote-1586731
-Node: I/O Functions586885
-Ref: table-system-return-values593339
-Ref: I/O Functions-Footnote-1595420
-Ref: I/O Functions-Footnote-2595568
-Node: Time Functions595688
-Ref: Time Functions-Footnote-1606359
-Ref: Time Functions-Footnote-2606427
-Ref: Time Functions-Footnote-3606585
-Ref: Time Functions-Footnote-4606696
-Ref: Time Functions-Footnote-5606808
-Ref: Time Functions-Footnote-6607035
-Node: Bitwise Functions607301
-Ref: table-bitwise-ops607895
-Ref: Bitwise Functions-Footnote-1613959
-Ref: Bitwise Functions-Footnote-2614132
-Node: Type Functions614323
-Node: I18N Functions617743
-Node: User-defined619394
-Node: Definition Syntax620206
-Ref: Definition Syntax-Footnote-1625900
-Node: Function Example625971
-Ref: Function Example-Footnote-1628893
-Node: Function Calling628915
-Node: Calling A Function629503
-Node: Variable Scope630461
-Node: Pass By Value/Reference633455
-Node: Function Caveats636099
-Ref: Function Caveats-Footnote-1638146
-Node: Return Statement638266
-Node: Dynamic Typing641245
-Node: Indirect Calls642175
-Node: Functions Summary653102
-Node: Library Functions655807
-Ref: Library Functions-Footnote-1659414
-Ref: Library Functions-Footnote-2659557
-Node: Library Names659728
-Ref: Library Names-Footnote-1663395
-Ref: Library Names-Footnote-2663618
-Node: General Functions663704
-Node: Strtonum Function664886
-Node: Assert Function667908
-Node: Round Function671234
-Node: Cliff Random Function672774
-Node: Ordinal Functions673790
-Ref: Ordinal Functions-Footnote-1676853
-Ref: Ordinal Functions-Footnote-2677105
-Node: Join Function677315
-Ref: Join Function-Footnote-1679085
-Node: Getlocaltime Function679285
-Node: Readfile Function683027
-Node: Shell Quoting685004
-Node: Isnumeric Function686432
-Node: Data File Management687820
-Node: Filetrans Function688452
-Node: Rewind Function692548
-Node: File Checking694457
-Ref: File Checking-Footnote-1695791
-Node: Empty Files695992
-Node: Ignoring Assigns697971
-Node: Getopt Function699521
-Ref: Getopt Function-Footnote-1714818
-Node: Passwd Functions715018
-Ref: Passwd Functions-Footnote-1723857
-Node: Group Functions723945
-Ref: Group Functions-Footnote-1731843
-Node: Walking Arrays732050
-Node: Library Functions Summary735058
-Node: Library Exercises736464
-Node: Sample Programs736929
-Node: Running Examples737699
-Node: Clones738427
-Node: Cut Program739651
-Node: Egrep Program749791
-Node: Id Program758792
-Node: Split Program768727
-Ref: Split Program-Footnote-1778620
-Node: Tee Program778793
-Node: Uniq Program781583
-Node: Wc Program789171
-Node: Bytes vs. Characters789558
-Node: Using extensions791106
-Node: wc program791860
-Node: Miscellaneous Programs796725
-Node: Dupword Program797938
-Node: Alarm Program799968
-Node: Translate Program804823
-Ref: Translate Program-Footnote-1809388
-Node: Labels Program809658
-Ref: Labels Program-Footnote-1813009
-Node: Word Sorting813093
-Node: History Sorting817165
-Node: Extract Program819390
-Node: Simple Sed827403
-Node: Igawk Program830477
-Ref: Igawk Program-Footnote-1844808
-Ref: Igawk Program-Footnote-2845010
-Ref: Igawk Program-Footnote-3845132
-Node: Anagram Program845247
-Node: Signature Program848309
-Node: Programs Summary849556
-Node: Programs Exercises850770
-Ref: Programs Exercises-Footnote-1854900
-Node: Advanced Features854986
-Node: Nondecimal Data857117
-Node: Boolean Typed Values858715
-Node: Array Sorting860596
-Node: Controlling Array Traversal861301
-Ref: Controlling Array Traversal-Footnote-1869669
-Node: Array Sorting Functions869787
-Ref: Array Sorting Functions-Footnote-1875698
-Node: Two-way I/O875894
-Ref: Two-way I/O-Footnote-1883620
-Ref: Two-way I/O-Footnote-2883807
-Node: TCP/IP Networking883889
-Node: Profiling886965
-Node: Extension Philosophy896274
-Node: Advanced Features Summary897753
-Node: Internationalization899768
-Node: I18N and L10N901442
-Node: Explaining gettext902129
-Ref: Explaining gettext-Footnote-1908021
-Ref: Explaining gettext-Footnote-2908206
-Node: Programmer i18n908371
-Ref: Programmer i18n-Footnote-1913320
-Node: Translator i18n913369
-Node: String Extraction914163
-Ref: String Extraction-Footnote-1915295
-Node: Printf Ordering915381
-Ref: Printf Ordering-Footnote-1918167
-Node: I18N Portability918231
-Ref: I18N Portability-Footnote-1920687
-Node: I18N Example920750
-Ref: I18N Example-Footnote-1924025
-Ref: I18N Example-Footnote-2924098
-Node: Gawk I18N924207
-Node: I18N Summary924829
-Node: Debugger926170
-Node: Debugging927170
-Node: Debugging Concepts927611
-Node: Debugging Terms929420
-Node: Awk Debugging931995
-Ref: Awk Debugging-Footnote-1932940
-Node: Sample Debugging Session933072
-Node: Debugger Invocation933606
-Node: Finding The Bug934992
-Node: List of Debugger Commands941466
-Node: Breakpoint Control942799
-Node: Debugger Execution Control946493
-Node: Viewing And Changing Data949855
-Node: Execution Stack953396
-Node: Debugger Info955033
-Node: Miscellaneous Debugger Commands959104
-Node: Readline Support964166
-Node: Limitations965062
-Node: Debugging Summary967616
-Node: Namespaces968895
-Node: Global Namespace970006
-Node: Qualified Names971404
-Node: Default Namespace972403
-Node: Changing The Namespace973144
-Node: Naming Rules974758
-Node: Internal Name Management976606
-Node: Namespace Example977648
-Node: Namespace And Features980210
-Node: Namespace Summary981645
-Node: Arbitrary Precision Arithmetic983122
-Node: Computer Arithmetic984609
-Ref: table-numeric-ranges988375
-Ref: table-floating-point-ranges988869
-Ref: Computer Arithmetic-Footnote-1989528
-Node: Math Definitions989585
-Ref: table-ieee-formats992561
-Node: MPFR features993129
-Node: MPFR Deprecated993575
-Ref: MPFR Deprecated-Footnote-1994505
-Node: MPFR Intro994660
-Node: FP Math Caution996300
-Ref: FP Math Caution-Footnote-1997372
-Node: Inexactness of computations997741
-Node: Inexact representation998772
-Node: Comparing FP Values1000132
-Node: Errors accumulate1001373
-Node: Strange values1002829
-Ref: Strange values-Footnote-11005417
-Node: Getting Accuracy1005522
-Node: Try To Round1008232
-Node: Setting precision1009131
-Ref: table-predefined-precision-strings1009828
-Node: Setting the rounding mode1011659
-Ref: table-gawk-rounding-modes1012033
-Ref: Setting the rounding mode-Footnote-11015965
-Node: Arbitrary Precision Integers1016144
-Ref: Arbitrary Precision Integers-Footnote-11019319
-Node: Checking for MPFR1019468
-Node: POSIX Floating Point Problems1020942
-Ref: POSIX Floating Point Problems-Footnote-11025595
-Node: Floating point summary1025633
-Node: Dynamic Extensions1027823
-Node: Extension Intro1029376
-Node: Plugin License1030642
-Node: Extension Mechanism Outline1031439
-Ref: figure-load-extension1031878
-Ref: figure-register-new-function1033444
-Ref: figure-call-new-function1034537
-Node: Extension API Description1036600
-Node: Extension API Functions Introduction1038313
-Ref: table-api-std-headers1040149
-Node: General Data Types1044399
-Ref: General Data Types-Footnote-11053105
-Node: Memory Allocation Functions1053404
-Ref: Memory Allocation Functions-Footnote-11057905
-Node: Constructor Functions1058004
-Node: API Ownership of MPFR and GMP Values1061657
-Node: Registration Functions1063190
-Node: Extension Functions1063890
-Node: Exit Callback Functions1069212
-Node: Extension Version String1070462
-Node: Input Parsers1071125
-Node: Output Wrappers1083846
-Node: Two-way processors1088358
-Node: Printing Messages1090623
-Ref: Printing Messages-Footnote-11091794
-Node: Updating ERRNO1091947
-Node: Requesting Values1092686
-Ref: table-value-types-returned1093423
-Node: Accessing Parameters1094532
-Node: Symbol Table Access1095769
-Node: Symbol table by name1096281
-Ref: Symbol table by name-Footnote-11099306
-Node: Symbol table by cookie1099434
-Ref: Symbol table by cookie-Footnote-11103619
-Node: Cached values1103683
-Ref: Cached values-Footnote-11107219
-Node: Array Manipulation1107372
-Ref: Array Manipulation-Footnote-11108463
-Node: Array Data Types1108500
-Ref: Array Data Types-Footnote-11111158
-Node: Array Functions1111250
-Node: Flattening Arrays1116035
-Node: Creating Arrays1123011
-Node: Redirection API1127778
-Node: Extension API Variables1130611
-Node: Extension Versioning1131322
-Ref: gawk-api-version1131751
-Node: Extension GMP/MPFR Versioning1133483
-Node: Extension API Informational Variables1135111
-Node: Extension API Boilerplate1136184
-Node: Changes from API V11140158
-Node: Finding Extensions1141730
-Node: Extension Example1142289
-Node: Internal File Description1143087
-Node: Internal File Ops1147167
-Ref: Internal File Ops-Footnote-11158517
-Node: Using Internal File Ops1158657
-Ref: Using Internal File Ops-Footnote-11161040
-Node: Extension Samples1161314
-Node: Extension Sample File Functions1162843
-Node: Extension Sample Fnmatch1170492
-Node: Extension Sample Fork1171979
-Node: Extension Sample Inplace1173197
-Node: Extension Sample Ord1176823
-Node: Extension Sample Readdir1177659
-Ref: table-readdir-file-types1178548
-Node: Extension Sample Revout1179616
-Node: Extension Sample Rev2way1180205
-Node: Extension Sample Read write array1180945
-Node: Extension Sample Readfile1184110
-Node: Extension Sample Time1185205
-Node: Extension Sample API Tests1186957
-Node: gawkextlib1187449
-Node: Extension summary1190367
-Node: Extension Exercises1194069
-Node: Language History1195311
-Node: V7/SVR3.11196967
-Node: SVR41199119
-Node: POSIX1200553
-Node: BTL1201934
-Node: POSIX/GNU1202663
-Node: Feature History1208441
-Node: Common Extensions1225616
-Node: Ranges and Locales1226899
-Ref: Ranges and Locales-Footnote-11231515
-Ref: Ranges and Locales-Footnote-21231542
-Ref: Ranges and Locales-Footnote-31231777
-Node: Contributors1232000
-Node: History summary1237997
-Node: Installation1239377
-Node: Gawk Distribution1240321
-Node: Getting1240805
-Node: Extracting1241768
-Node: Distribution contents1243406
-Node: Unix Installation1250467
-Node: Quick Installation1251271
-Node: Compiling with MPFR1253691
-Node: Shell Startup Files1254381
-Node: Additional Configuration Options1255470
-Node: Configuration Philosophy1257785
-Node: Compiling from Git1260181
-Node: Building the Documentation1260736
-Node: Non-Unix Installation1262120
-Node: PC Installation1262580
-Node: PC Binary Installation1263418
-Node: PC Compiling1264291
-Node: PC Using1265408
-Node: Cygwin1268961
-Node: MSYS1270185
-Node: VMS Installation1270787
-Node: VMS Compilation1271506
-Ref: VMS Compilation-Footnote-11272735
-Node: VMS Dynamic Extensions1272793
-Node: VMS Installation Details1274478
-Node: VMS Running1276740
-Node: VMS GNV1281019
-Node: Bugs1281733
-Node: Bug definition1282645
-Node: Bug address1285581
-Node: Usenet1288769
-Node: Performance bugs1289958
-Node: Asking for help1292879
-Node: Maintainers1294846
-Node: Other Versions1296040
-Node: Installation summary1304310
-Node: Notes1305674
-Node: Compatibility Mode1306468
-Node: Additions1307250
-Node: Accessing The Source1308175
-Node: Adding Code1309612
-Node: New Ports1316427
-Node: Derived Files1320802
-Ref: Derived Files-Footnote-11326462
-Ref: Derived Files-Footnote-21326497
-Ref: Derived Files-Footnote-31327095
-Node: Future Extensions1327209
-Node: Implementation Limitations1327867
-Node: Extension Design1329077
-Node: Old Extension Problems1330221
-Ref: Old Extension Problems-Footnote-11331739
-Node: Extension New Mechanism Goals1331796
-Ref: Extension New Mechanism Goals-Footnote-11335160
-Node: Extension Other Design Decisions1335349
-Node: Extension Future Growth1337462
-Node: Notes summary1338068
-Node: Basic Concepts1339226
-Node: Basic High Level1339907
-Ref: figure-general-flow1340189
-Ref: figure-process-flow1340875
-Ref: Basic High Level-Footnote-11344177
-Node: Basic Data Typing1344362
-Node: Glossary1347690
-Node: Copying1379577
-Node: GNU Free Documentation License1417120
-Node: Index1442240
+Node: Foreword345720
+Node: Foreword450162
+Node: Preface51694
+Ref: Preface-Footnote-154553
+Ref: Preface-Footnote-254662
+Ref: Preface-Footnote-354896
+Node: History55038
+Node: Names57390
+Ref: Names-Footnote-158494
+Node: This Manual58641
+Ref: This Manual-Footnote-165280
+Node: Conventions65380
+Node: Manual History67749
+Ref: Manual History-Footnote-170746
+Ref: Manual History-Footnote-270787
+Node: How To Contribute70861
+Node: Acknowledgments71783
+Node: Getting Started76720
+Node: Running gawk79159
+Node: One-shot80349
+Node: Read Terminal81612
+Node: Long83605
+Node: Executable Scripts85118
+Ref: Executable Scripts-Footnote-187751
+Node: Comments87854
+Node: Quoting90338
+Node: DOS Quoting95864
+Node: Sample Data Files97920
+Node: Very Simple100515
+Node: Two Rules106617
+Node: More Complex108502
+Node: Statements/Lines110834
+Ref: Statements/Lines-Footnote-1115318
+Node: Other Features115583
+Node: When116519
+Ref: When-Footnote-1118273
+Node: Intro Summary118338
+Node: Invoking Gawk119222
+Node: Command Line120736
+Node: Options121534
+Ref: Options-Footnote-1139783
+Ref: Options-Footnote-2140014
+Node: Other Arguments140039
+Node: Naming Standard Input144050
+Node: Environment Variables145260
+Node: AWKPATH Variable145818
+Ref: AWKPATH Variable-Footnote-1149230
+Ref: AWKPATH Variable-Footnote-2149264
+Node: AWKLIBPATH Variable149635
+Ref: AWKLIBPATH Variable-Footnote-1151332
+Node: Other Environment Variables151707
+Node: Exit Status155659
+Node: Include Files156336
+Node: Loading Shared Libraries160026
+Node: Obsolete161454
+Node: Undocumented162074
+Node: Invoking Summary162371
+Node: Regexp165212
+Node: Regexp Usage166666
+Node: Escape Sequences168703
+Node: Regexp Operators174945
+Node: Regexp Operator Details175430
+Ref: Regexp Operator Details-Footnote-1182794
+Node: Interval Expressions182941
+Ref: Interval Expressions-Footnote-1185116
+Node: Bracket Expressions185214
+Ref: table-char-classes187690
+Node: Leftmost Longest191017
+Node: Computed Regexps192320
+Node: GNU Regexp Operators195747
+Node: Case-sensitivity199425
+Ref: Case-sensitivity-Footnote-1202291
+Ref: Case-sensitivity-Footnote-2202526
+Node: Regexp Summary202634
+Node: Reading Files204100
+Node: Records206369
+Node: awk split records207444
+Node: gawk split records212144
+Ref: gawk split records-Footnote-1217218
+Node: Fields217255
+Node: Nonconstant Fields219996
+Ref: Nonconstant Fields-Footnote-1222232
+Node: Changing Fields222436
+Node: Field Separators228467
+Node: Default Field Splitting231165
+Node: Regexp Field Splitting232283
+Node: Single Character Fields235960
+Node: Command Line Field Separator237020
+Node: Full Line Fields240238
+Ref: Full Line Fields-Footnote-1241760
+Ref: Full Line Fields-Footnote-2241806
+Node: Field Splitting Summary241907
+Node: Constant Size243981
+Node: Fixed width data244713
+Node: Skipping intervening248180
+Node: Allowing trailing data248978
+Node: Fields with fixed data250015
+Node: Splitting By Content251533
+Ref: Splitting By Content-Footnote-1255369
+Node: More CSV255532
+Node: FS versus FPAT257147
+Node: Testing field creation258307
+Node: Multiple Line259932
+Node: Getline266209
+Node: Plain Getline268678
+Node: Getline/Variable271251
+Node: Getline/File272402
+Node: Getline/Variable/File273790
+Ref: Getline/Variable/File-Footnote-1275395
+Node: Getline/Pipe275483
+Node: Getline/Variable/Pipe278187
+Node: Getline/Coprocess279322
+Node: Getline/Variable/Coprocess280589
+Node: Getline Notes281331
+Node: Getline Summary284128
+Ref: table-getline-variants284552
+Node: Read Timeout285301
+Ref: Read Timeout-Footnote-1289217
+Node: Retrying Input289275
+Node: Command-line directories290474
+Node: Input Summary291380
+Node: Input Exercises294552
+Node: Printing294986
+Node: Print296820
+Node: Print Examples298277
+Node: Output Separators301057
+Node: OFMT303074
+Node: Printf304430
+Node: Basic Printf305215
+Node: Control Letters306789
+Node: Format Modifiers311951
+Node: Printf Examples317966
+Node: Redirection320452
+Node: Special FD327293
+Ref: Special FD-Footnote-1330461
+Node: Special Files330535
+Node: Other Inherited Files331152
+Node: Special Network332153
+Node: Special Caveats333013
+Node: Close Files And Pipes333962
+Ref: table-close-pipe-return-values340869
+Ref: Close Files And Pipes-Footnote-1341683
+Ref: Close Files And Pipes-Footnote-2341831
+Node: Nonfatal341983
+Node: Output Summary344321
+Node: Output Exercises345543
+Node: Expressions346222
+Node: Values347410
+Node: Constants348088
+Node: Scalar Constants348779
+Ref: Scalar Constants-Footnote-1351289
+Node: Nondecimal-numbers351539
+Node: Regexp Constants354540
+Node: Using Constant Regexps355066
+Node: Standard Regexp Constants355688
+Node: Strong Regexp Constants358876
+Node: Variables362591
+Node: Using Variables363248
+Node: Assignment Options365158
+Node: Conversion367629
+Node: Strings And Numbers368153
+Ref: Strings And Numbers-Footnote-1371216
+Node: Locale influences conversions371325
+Ref: table-locale-affects374083
+Node: All Operators374702
+Node: Arithmetic Ops375331
+Node: Concatenation378047
+Ref: Concatenation-Footnote-1380894
+Node: Assignment Ops381001
+Ref: table-assign-ops385992
+Node: Increment Ops387306
+Node: Truth Values and Conditions390766
+Node: Truth Values391840
+Node: Typing and Comparison392888
+Node: Variable Typing393708
+Ref: Variable Typing-Footnote-1400171
+Ref: Variable Typing-Footnote-2400243
+Node: Comparison Operators400320
+Ref: table-relational-ops400739
+Node: POSIX String Comparison404235
+Ref: POSIX String Comparison-Footnote-1405930
+Ref: POSIX String Comparison-Footnote-2406069
+Node: Boolean Ops406153
+Ref: Boolean Ops-Footnote-1410635
+Node: Conditional Exp410727
+Node: Function Calls412463
+Node: Precedence416340
+Node: Locales419999
+Node: Expressions Summary421631
+Node: Patterns and Actions424204
+Node: Pattern Overview425324
+Node: Regexp Patterns427001
+Node: Expression Patterns427543
+Node: Ranges431324
+Node: BEGIN/END434432
+Node: Using BEGIN/END435193
+Ref: Using BEGIN/END-Footnote-1437947
+Node: I/O And BEGIN/END438053
+Node: BEGINFILE/ENDFILE440366
+Node: Empty443597
+Node: Using Shell Variables443914
+Node: Action Overview446188
+Node: Statements448513
+Node: If Statement450361
+Node: While Statement451856
+Node: Do Statement453884
+Node: For Statement455032
+Node: Switch Statement458287
+Node: Break Statement460728
+Node: Continue Statement462820
+Node: Next Statement464647
+Node: Nextfile Statement467030
+Node: Exit Statement469719
+Node: Built-in Variables472122
+Node: User-modified473255
+Node: Auto-set481022
+Ref: Auto-set-Footnote-1497829
+Ref: Auto-set-Footnote-2498035
+Node: ARGC and ARGV498091
+Node: Pattern Action Summary502304
+Node: Arrays504734
+Node: Array Basics506063
+Node: Array Intro506907
+Ref: figure-array-elements508882
+Ref: Array Intro-Footnote-1511587
+Node: Reference to Elements511715
+Node: Assigning Elements514179
+Node: Array Example514670
+Node: Scanning an Array516624
+Node: Controlling Scanning519646
+Ref: Controlling Scanning-Footnote-1526102
+Node: Numeric Array Subscripts526418
+Node: Uninitialized Subscripts528602
+Node: Delete530221
+Ref: Delete-Footnote-1532973
+Node: Multidimensional533030
+Node: Multiscanning536125
+Node: Arrays of Arrays537716
+Node: Arrays Summary542484
+Node: Functions544577
+Node: Built-in545615
+Node: Calling Built-in546768
+Node: Boolean Functions548764
+Node: Numeric Functions549318
+Ref: Numeric Functions-Footnote-1553345
+Ref: Numeric Functions-Footnote-2553993
+Ref: Numeric Functions-Footnote-3554041
+Node: String Functions554313
+Ref: String Functions-Footnote-1579155
+Ref: String Functions-Footnote-2579283
+Ref: String Functions-Footnote-3579531
+Node: Gory Details579618
+Ref: table-sub-escapes581409
+Ref: table-sub-proposed582929
+Ref: table-posix-sub584293
+Ref: table-gensub-escapes585835
+Ref: Gory Details-Footnote-1586659
+Node: I/O Functions586813
+Ref: table-system-return-values593267
+Ref: I/O Functions-Footnote-1595348
+Ref: I/O Functions-Footnote-2595496
+Node: Time Functions595616
+Ref: Time Functions-Footnote-1606287
+Ref: Time Functions-Footnote-2606355
+Ref: Time Functions-Footnote-3606513
+Ref: Time Functions-Footnote-4606624
+Ref: Time Functions-Footnote-5606736
+Ref: Time Functions-Footnote-6606963
+Node: Bitwise Functions607229
+Ref: table-bitwise-ops607823
+Ref: Bitwise Functions-Footnote-1613887
+Ref: Bitwise Functions-Footnote-2614060
+Node: Type Functions614251
+Node: I18N Functions617671
+Node: User-defined619322
+Node: Definition Syntax620134
+Ref: Definition Syntax-Footnote-1625828
+Node: Function Example625899
+Ref: Function Example-Footnote-1628821
+Node: Function Calling628843
+Node: Calling A Function629431
+Node: Variable Scope630389
+Node: Pass By Value/Reference633383
+Node: Function Caveats636027
+Ref: Function Caveats-Footnote-1638074
+Node: Return Statement638194
+Node: Dynamic Typing641173
+Node: Indirect Calls642103
+Node: Functions Summary653030
+Node: Library Functions655735
+Ref: Library Functions-Footnote-1659342
+Ref: Library Functions-Footnote-2659485
+Node: Library Names659656
+Ref: Library Names-Footnote-1663323
+Ref: Library Names-Footnote-2663546
+Node: General Functions663632
+Node: Strtonum Function664814
+Node: Assert Function667836
+Node: Round Function671162
+Node: Cliff Random Function672702
+Node: Ordinal Functions673718
+Ref: Ordinal Functions-Footnote-1676781
+Ref: Ordinal Functions-Footnote-2677033
+Node: Join Function677243
+Ref: Join Function-Footnote-1679013
+Node: Getlocaltime Function679213
+Node: Readfile Function682955
+Node: Shell Quoting684932
+Node: Isnumeric Function686360
+Node: Data File Management687748
+Node: Filetrans Function688380
+Node: Rewind Function692476
+Node: File Checking694385
+Ref: File Checking-Footnote-1695719
+Node: Empty Files695920
+Node: Ignoring Assigns697899
+Node: Getopt Function699449
+Ref: Getopt Function-Footnote-1714746
+Node: Passwd Functions714946
+Ref: Passwd Functions-Footnote-1723785
+Node: Group Functions723873
+Ref: Group Functions-Footnote-1731771
+Node: Walking Arrays731978
+Node: Library Functions Summary734986
+Node: Library Exercises736392
+Node: Sample Programs736857
+Node: Running Examples737627
+Node: Clones738355
+Node: Cut Program739579
+Node: Egrep Program749719
+Node: Id Program758720
+Node: Split Program768655
+Ref: Split Program-Footnote-1778548
+Node: Tee Program778721
+Node: Uniq Program781511
+Node: Wc Program789099
+Node: Bytes vs. Characters789486
+Node: Using extensions791034
+Node: wc program791788
+Node: Miscellaneous Programs796653
+Node: Dupword Program797866
+Node: Alarm Program799896
+Node: Translate Program804751
+Ref: Translate Program-Footnote-1809316
+Node: Labels Program809586
+Ref: Labels Program-Footnote-1812937
+Node: Word Sorting813021
+Node: History Sorting817093
+Node: Extract Program819318
+Node: Simple Sed827331
+Node: Igawk Program830405
+Ref: Igawk Program-Footnote-1844736
+Ref: Igawk Program-Footnote-2844938
+Ref: Igawk Program-Footnote-3845060
+Node: Anagram Program845175
+Node: Signature Program848237
+Node: Programs Summary849484
+Node: Programs Exercises850698
+Ref: Programs Exercises-Footnote-1854828
+Node: Advanced Features854914
+Node: Nondecimal Data857045
+Node: Boolean Typed Values858643
+Node: Array Sorting860524
+Node: Controlling Array Traversal861229
+Ref: Controlling Array Traversal-Footnote-1869597
+Node: Array Sorting Functions869715
+Ref: Array Sorting Functions-Footnote-1875626
+Node: Two-way I/O875822
+Ref: Two-way I/O-Footnote-1883548
+Ref: Two-way I/O-Footnote-2883735
+Node: TCP/IP Networking883817
+Node: Profiling886893
+Node: Extension Philosophy896202
+Node: Advanced Features Summary897681
+Node: Internationalization899696
+Node: I18N and L10N901370
+Node: Explaining gettext902057
+Ref: Explaining gettext-Footnote-1907949
+Ref: Explaining gettext-Footnote-2908134
+Node: Programmer i18n908299
+Ref: Programmer i18n-Footnote-1913248
+Node: Translator i18n913297
+Node: String Extraction914091
+Ref: String Extraction-Footnote-1915223
+Node: Printf Ordering915309
+Ref: Printf Ordering-Footnote-1918095
+Node: I18N Portability918159
+Ref: I18N Portability-Footnote-1920615
+Node: I18N Example920678
+Ref: I18N Example-Footnote-1923953
+Ref: I18N Example-Footnote-2924026
+Node: Gawk I18N924135
+Node: I18N Summary924757
+Node: Debugger926098
+Node: Debugging927098
+Node: Debugging Concepts927539
+Node: Debugging Terms929348
+Node: Awk Debugging931923
+Ref: Awk Debugging-Footnote-1932868
+Node: Sample Debugging Session933000
+Node: Debugger Invocation933534
+Node: Finding The Bug934920
+Node: List of Debugger Commands941394
+Node: Breakpoint Control942727
+Node: Debugger Execution Control946421
+Node: Viewing And Changing Data949783
+Node: Execution Stack953324
+Node: Debugger Info954961
+Node: Miscellaneous Debugger Commands959032
+Node: Readline Support964094
+Node: Limitations964990
+Node: Debugging Summary967544
+Node: Namespaces968823
+Node: Global Namespace969934
+Node: Qualified Names971332
+Node: Default Namespace972331
+Node: Changing The Namespace973072
+Node: Naming Rules974686
+Node: Internal Name Management976534
+Node: Namespace Example977576
+Node: Namespace And Features980138
+Node: Namespace Summary981573
+Node: Arbitrary Precision Arithmetic983050
+Node: Computer Arithmetic984537
+Ref: table-numeric-ranges988303
+Ref: table-floating-point-ranges988797
+Ref: Computer Arithmetic-Footnote-1989456
+Node: Math Definitions989513
+Ref: table-ieee-formats992489
+Node: MPFR features993057
+Node: MPFR On Parole993502
+Ref: MPFR On Parole-Footnote-1994331
+Node: MPFR Intro994486
+Node: FP Math Caution996125
+Ref: FP Math Caution-Footnote-1997197
+Node: Inexactness of computations997566
+Node: Inexact representation998597
+Node: Comparing FP Values999957
+Node: Errors accumulate1001198
+Node: Strange values1002654
+Ref: Strange values-Footnote-11005242
+Node: Getting Accuracy1005347
+Node: Try To Round1008057
+Node: Setting precision1008956
+Ref: table-predefined-precision-strings1009653
+Node: Setting the rounding mode1011484
+Ref: table-gawk-rounding-modes1011858
+Ref: Setting the rounding mode-Footnote-11015790
+Node: Arbitrary Precision Integers1015969
+Ref: Arbitrary Precision Integers-Footnote-11019144
+Node: Checking for MPFR1019293
+Node: POSIX Floating Point Problems1020767
+Ref: POSIX Floating Point Problems-Footnote-11025420
+Node: Floating point summary1025458
+Node: Dynamic Extensions1027648
+Node: Extension Intro1029201
+Node: Plugin License1030467
+Node: Extension Mechanism Outline1031264
+Ref: figure-load-extension1031703
+Ref: figure-register-new-function1033269
+Ref: figure-call-new-function1034362
+Node: Extension API Description1036425
+Node: Extension API Functions Introduction1038138
+Ref: table-api-std-headers1039974
+Node: General Data Types1044224
+Ref: General Data Types-Footnote-11052930
+Node: Memory Allocation Functions1053229
+Ref: Memory Allocation Functions-Footnote-11057730
+Node: Constructor Functions1057829
+Node: API Ownership of MPFR and GMP Values1061482
+Node: Registration Functions1063015
+Node: Extension Functions1063715
+Node: Exit Callback Functions1069037
+Node: Extension Version String1070287
+Node: Input Parsers1070950
+Node: Output Wrappers1083671
+Node: Two-way processors1088183
+Node: Printing Messages1090448
+Ref: Printing Messages-Footnote-11091619
+Node: Updating ERRNO1091772
+Node: Requesting Values1092511
+Ref: table-value-types-returned1093248
+Node: Accessing Parameters1094357
+Node: Symbol Table Access1095594
+Node: Symbol table by name1096106
+Ref: Symbol table by name-Footnote-11099131
+Node: Symbol table by cookie1099259
+Ref: Symbol table by cookie-Footnote-11103444
+Node: Cached values1103508
+Ref: Cached values-Footnote-11107044
+Node: Array Manipulation1107197
+Ref: Array Manipulation-Footnote-11108288
+Node: Array Data Types1108325
+Ref: Array Data Types-Footnote-11110983
+Node: Array Functions1111075
+Node: Flattening Arrays1115860
+Node: Creating Arrays1122836
+Node: Redirection API1127603
+Node: Extension API Variables1130436
+Node: Extension Versioning1131147
+Ref: gawk-api-version1131576
+Node: Extension GMP/MPFR Versioning1133308
+Node: Extension API Informational Variables1134936
+Node: Extension API Boilerplate1136009
+Node: Changes from API V11139983
+Node: Finding Extensions1141555
+Node: Extension Example1142114
+Node: Internal File Description1142912
+Node: Internal File Ops1146992
+Ref: Internal File Ops-Footnote-11158342
+Node: Using Internal File Ops1158482
+Ref: Using Internal File Ops-Footnote-11160865
+Node: Extension Samples1161139
+Node: Extension Sample File Functions1162668
+Node: Extension Sample Fnmatch1170317
+Node: Extension Sample Fork1171804
+Node: Extension Sample Inplace1173022
+Node: Extension Sample Ord1176648
+Node: Extension Sample Readdir1177484
+Ref: table-readdir-file-types1178373
+Node: Extension Sample Revout1179441
+Node: Extension Sample Rev2way1180030
+Node: Extension Sample Read write array1180770
+Node: Extension Sample Readfile1183935
+Node: Extension Sample Time1185030
+Node: Extension Sample API Tests1186782
+Node: gawkextlib1187274
+Node: Extension summary1190192
+Node: Extension Exercises1193894
+Node: Language History1195136
+Node: V7/SVR3.11196792
+Node: SVR41198944
+Node: POSIX1200378
+Node: BTL1201759
+Node: POSIX/GNU1202488
+Node: Feature History1208266
+Node: Common Extensions1225441
+Node: Ranges and Locales1226724
+Ref: Ranges and Locales-Footnote-11231340
+Ref: Ranges and Locales-Footnote-21231367
+Ref: Ranges and Locales-Footnote-31231602
+Node: Contributors1231825
+Node: History summary1237822
+Node: Installation1239202
+Node: Gawk Distribution1240146
+Node: Getting1240630
+Node: Extracting1241593
+Node: Distribution contents1243231
+Node: Unix Installation1250292
+Node: Quick Installation1251096
+Node: Compiling with MPFR1253516
+Node: Shell Startup Files1254206
+Node: Additional Configuration Options1255295
+Node: Configuration Philosophy1257610
+Node: Compiling from Git1260006
+Node: Building the Documentation1260561
+Node: Non-Unix Installation1261945
+Node: PC Installation1262405
+Node: PC Binary Installation1263243
+Node: PC Compiling1264116
+Node: PC Using1265233
+Node: Cygwin1268786
+Node: MSYS1270010
+Node: VMS Installation1270612
+Node: VMS Compilation1271331
+Ref: VMS Compilation-Footnote-11272560
+Node: VMS Dynamic Extensions1272618
+Node: VMS Installation Details1274303
+Node: VMS Running1276565
+Node: VMS GNV1280844
+Node: Bugs1281558
+Node: Bug definition1282470
+Node: Bug address1285406
+Node: Usenet1288594
+Node: Performance bugs1289783
+Node: Asking for help1292704
+Node: Maintainers1294671
+Node: Other Versions1295865
+Node: Installation summary1304135
+Node: Notes1305499
+Node: Compatibility Mode1306293
+Node: Additions1307075
+Node: Accessing The Source1308000
+Node: Adding Code1309437
+Node: New Ports1316252
+Node: Derived Files1320627
+Ref: Derived Files-Footnote-11326287
+Ref: Derived Files-Footnote-21326322
+Ref: Derived Files-Footnote-31326920
+Node: Future Extensions1327034
+Node: Implementation Limitations1327692
+Node: Extension Design1328902
+Node: Old Extension Problems1330046
+Ref: Old Extension Problems-Footnote-11331564
+Node: Extension New Mechanism Goals1331621
+Ref: Extension New Mechanism Goals-Footnote-11334985
+Node: Extension Other Design Decisions1335174
+Node: Extension Future Growth1337287
+Node: Notes summary1337893
+Node: Basic Concepts1339051
+Node: Basic High Level1339732
+Ref: figure-general-flow1340014
+Ref: figure-process-flow1340700
+Ref: Basic High Level-Footnote-11344002
+Node: Basic Data Typing1344187
+Node: Glossary1347515
+Node: Copying1379402
+Node: GNU Free Documentation License1416945
+Node: Index1442065

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index d5d3651f..0bc75bcf 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -59,7 +59,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH April, 2022
+@set UPDATE-MONTH June, 2022
@set VERSION 5.1
@set PATCHLEVEL 1
@@ -286,13 +286,13 @@ Fax: +1-617-542-2652
Email: <email>gnu@@gnu.org</email>
URL: <ulink url="https://www.gnu.org">https://www.gnu.org/</ulink></literallayout>
-<literallayout class="normal">Copyright &copy; 1989, 1991, 1992, 1993, 1996&ndash;2005, 2007, 2009&ndash;2021
+<literallayout class="normal">Copyright &copy; 1989, 1991, 1992, 1993, 1996&ndash;2005, 2007, 2009&ndash;2022
Free Software Foundation, Inc.
All Rights Reserved.</literallayout>
@end docbook
@ifnotdocbook
-Copyright @copyright{} 1989, 1991, 1992, 1993, 1996--2005, 2007, 2009--2021 @*
+Copyright @copyright{} 1989, 1991, 1992, 1993, 1996--2005, 2007, 2009--2022 @*
Free Software Foundation, Inc.
@end ifnotdocbook
@sp 2
@@ -926,7 +926,7 @@ particular records in a file and perform operations upon them.
* Computer Arithmetic:: A quick intro to computer math.
* Math Definitions:: Defining terms used.
* MPFR features:: The MPFR features in @command{gawk}.
-* MPFR Deprecated:: MPFR features are deprecated!
+* MPFR On Parole:: MPFR features are on parole!
* MPFR Intro:: MPFR General introduction.
* FP Math Caution:: Things to know.
* Inexactness of computations:: Floating point math is not exact.
@@ -4199,10 +4199,16 @@ if @command{gawk} is not compiled to use the GNU MPFR and MP libraries
As of @value{PVERSION} 5.2,
the arbitrary precision arithmetic features in @command{gawk}
-are @emph{deprecated}. They will be removed from @command{gawk} in 2024.
+are ``on parole.''
+The primary maintainer is no longer willing to support this feature,
+but another member of the development team has stepped up to take it over.
+As long as this situation reamins stable, MPFR will be supported. If it
+changes, the MPFR support will be removed from @command{gawk}.
+@ignore
If you use this option, @command{gawk} generates a warning message.
Create the environment variable @env{GAWK_NO_MPFR_WARN} with an arbitrary
value in order to silence the warning.
+@end ignore
@item @option{-n}
@itemx @option{--non-decimal-data}
@@ -4830,9 +4836,11 @@ in milliseconds. On systems that do not support
the @code{usleep()} system call,
the value is rounded up to an integral number of seconds.
+@ignore
@item GAWK_NO_MPFR_WARN
Specifies that @command{gawk} should not print a deprecation
warning when used with the @option{-M}/@option{--bignum} options.
+@end ignore
@item GAWK_READ_TIMEOUT
Specifies the time, in milliseconds, for @command{gawk} to
@@ -34176,21 +34184,24 @@ This @value{SECTION} briefly describes arbitrary-precision
arithmetic in @command{gawk}.
@menu
-* MPFR Deprecated:: MPFR features are deprecated!
+* MPFR On Parole:: MPFR features are on parole!
* MPFR Intro:: MPFR General introduction.
@end menu
-@node MPFR Deprecated
-@subsection Arbitrary Precision Arithmetic is Deprecated!
+@node MPFR On Parole
+@subsection Arbitrary Precision Arithmetic is On Parole!
As of @value{PVERSION} 5.2,
arbitrary precision arithmetic in @command{gawk}
-is @emph{deprecated}. It will be removed from @command{gawk} in 2024.
+is ``on parole.'' The primary @command{gawk} maintainer is no
+longer maintaining it. Fortunately, a volunteer from the development
+team has agreed to take it over.
-This feature is deprecated because its inclusion was a mistake. It has
+This feature is on parole because its inclusion was a mistake. It has
led to endless bug reports, misuse of the feature and public abuse of the
maintainer, for no real increased value.
+@ignore
If you use this feature, you should start working now to find a different
toolset with which to accomplish your goals.@footnote{Of course, you can
always continue to use a version of @command{gawk} that still supports
@@ -34200,6 +34211,15 @@ If the feature is very important to you, then consider if you are willing
to volunteer to maintain it, so that it can continue to be included
in @command{gawk}. If that is the case, contact the maintainer to discuss it
with him. You may do so by submitting a bug report.
+@end ignore
+
+If the situation with support changes, the feature will be removed
+from @command{gawk}.
+
+If you use this feature, you should consider finding a different
+toolset with which to accomplish your goals.@footnote{Of course, you can
+always continue to use a version of @command{gawk} that still supports
+arbitrary precision arithmetic. It simply will be unmaintained.}
@node MPFR Intro
@subsection Arbitrary Precision Introduction
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 198f3700..7b4c2a8b 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -54,7 +54,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH April, 2022
+@set UPDATE-MONTH June, 2022
@set VERSION 5.1
@set PATCHLEVEL 1
@@ -281,13 +281,13 @@ Fax: +1-617-542-2652
Email: <email>gnu@@gnu.org</email>
URL: <ulink url="https://www.gnu.org">https://www.gnu.org/</ulink></literallayout>
-<literallayout class="normal">Copyright &copy; 1989, 1991, 1992, 1993, 1996&ndash;2005, 2007, 2009&ndash;2021
+<literallayout class="normal">Copyright &copy; 1989, 1991, 1992, 1993, 1996&ndash;2005, 2007, 2009&ndash;2022
Free Software Foundation, Inc.
All Rights Reserved.</literallayout>
@end docbook
@ifnotdocbook
-Copyright @copyright{} 1989, 1991, 1992, 1993, 1996--2005, 2007, 2009--2021 @*
+Copyright @copyright{} 1989, 1991, 1992, 1993, 1996--2005, 2007, 2009--2022 @*
Free Software Foundation, Inc.
@end ifnotdocbook
@sp 2
@@ -921,7 +921,7 @@ particular records in a file and perform operations upon them.
* Computer Arithmetic:: A quick intro to computer math.
* Math Definitions:: Defining terms used.
* MPFR features:: The MPFR features in @command{gawk}.
-* MPFR Deprecated:: MPFR features are deprecated!
+* MPFR On Parole:: MPFR features are on parole!
* MPFR Intro:: MPFR General introduction.
* FP Math Caution:: Things to know.
* Inexactness of computations:: Floating point math is not exact.
@@ -4109,10 +4109,16 @@ if @command{gawk} is not compiled to use the GNU MPFR and MP libraries
As of @value{PVERSION} 5.2,
the arbitrary precision arithmetic features in @command{gawk}
-are @emph{deprecated}. They will be removed from @command{gawk} in 2024.
+are ``on parole.''
+The primary maintainer is no longer willing to support this feature,
+but another member of the development team has stepped up to take it over.
+As long as this situation reamins stable, MPFR will be supported. If it
+changes, the MPFR support will be removed from @command{gawk}.
+@ignore
If you use this option, @command{gawk} generates a warning message.
Create the environment variable @env{GAWK_NO_MPFR_WARN} with an arbitrary
value in order to silence the warning.
+@end ignore
@item @option{-n}
@itemx @option{--non-decimal-data}
@@ -4696,9 +4702,11 @@ in milliseconds. On systems that do not support
the @code{usleep()} system call,
the value is rounded up to an integral number of seconds.
+@ignore
@item GAWK_NO_MPFR_WARN
Specifies that @command{gawk} should not print a deprecation
warning when used with the @option{-M}/@option{--bignum} options.
+@end ignore
@item GAWK_READ_TIMEOUT
Specifies the time, in milliseconds, for @command{gawk} to
@@ -33058,21 +33066,24 @@ This @value{SECTION} briefly describes arbitrary-precision
arithmetic in @command{gawk}.
@menu
-* MPFR Deprecated:: MPFR features are deprecated!
+* MPFR On Parole:: MPFR features are on parole!
* MPFR Intro:: MPFR General introduction.
@end menu
-@node MPFR Deprecated
-@subsection Arbitrary Precision Arithmetic is Deprecated!
+@node MPFR On Parole
+@subsection Arbitrary Precision Arithmetic is On Parole!
As of @value{PVERSION} 5.2,
arbitrary precision arithmetic in @command{gawk}
-is @emph{deprecated}. It will be removed from @command{gawk} in 2024.
+is ``on parole.'' The primary @command{gawk} maintainer is no
+longer maintaining it. Fortunately, a volunteer from the development
+team has agreed to take it over.
-This feature is deprecated because its inclusion was a mistake. It has
+This feature is on parole because its inclusion was a mistake. It has
led to endless bug reports, misuse of the feature and public abuse of the
maintainer, for no real increased value.
+@ignore
If you use this feature, you should start working now to find a different
toolset with which to accomplish your goals.@footnote{Of course, you can
always continue to use a version of @command{gawk} that still supports
@@ -33082,6 +33093,15 @@ If the feature is very important to you, then consider if you are willing
to volunteer to maintain it, so that it can continue to be included
in @command{gawk}. If that is the case, contact the maintainer to discuss it
with him. You may do so by submitting a bug report.
+@end ignore
+
+If the situation with support changes, the feature will be removed
+from @command{gawk}.
+
+If you use this feature, you should consider finding a different
+toolset with which to accomplish your goals.@footnote{Of course, you can
+always continue to use a version of @command{gawk} that still supports
+arbitrary precision arithmetic. It simply will be unmaintained.}
@node MPFR Intro
@subsection Arbitrary Precision Introduction
diff --git a/main.c b/main.c
index 80c69052..da8bf515 100644
--- a/main.c
+++ b/main.c
@@ -66,7 +66,9 @@ static void catchstackoverflow(int emergency, stackoverflow_context_t scp);
#endif
static void nostalgia(void) ATTRIBUTE_NORETURN;
static void version(void) ATTRIBUTE_NORETURN;
+#if 0
static void deprecate_mpfr(void);
+#endif
static void init_fds(void);
static void init_groupset(void);
static void save_argv(int, char **);
@@ -1688,7 +1690,7 @@ parse_args(int argc, char **argv)
#else
warning(_("-M ignored: MPFR/GMP support not compiled in"));
#endif
- deprecate_mpfr();
+ // deprecate_mpfr();
break;
case 'P':
@@ -1857,6 +1859,7 @@ set_current_namespace(const char *new_namespace)
current_namespace = new_namespace;
}
+#if 0
/* deprecate_mpfr --- print long info about MPFR being deprecated */
static void
@@ -1875,3 +1878,4 @@ deprecate_mpfr(void)
warning(_("Use `export GAWK_NO_MPFR_WARN=1' to disable this warning."));
}
}
+#endif