aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2017-10-17 21:44:06 +0300
committerArnold D. Robbins <arnold@skeeve.com>2017-10-17 21:44:06 +0300
commit8824630bc89a8cfe5dbe734f5dc0e99faf6cccbb (patch)
tree42ca7bdeffd676f0cf3defe0fa475758c0e80fd1
parenta6ebb5697f02034ca5865940f43e016a730570df (diff)
parent9842a449bf7612c763790c34be7eef39774f63be (diff)
downloadegawk-8824630bc89a8cfe5dbe734f5dc0e99faf6cccbb.tar.gz
egawk-8824630bc89a8cfe5dbe734f5dc0e99faf6cccbb.tar.bz2
egawk-8824630bc89a8cfe5dbe734f5dc0e99faf6cccbb.zip
Merge branch 'master' into feature/dev-5.0
-rw-r--r--ChangeLog5
-rw-r--r--NEWS3
-rw-r--r--builtin.c6
-rw-r--r--doc/ChangeLog14
-rw-r--r--doc/awkcard.in1
-rw-r--r--doc/gawk.11
-rw-r--r--doc/gawk.info712
-rw-r--r--doc/gawk.texi14
-rw-r--r--doc/gawktexi.in14
-rw-r--r--doc/it/ChangeLog9
-rw-r--r--[-rwxr-xr-x]doc/it/gawktexi.in13
-rw-r--r--test/ChangeLog8
-rw-r--r--test/forcenum.awk17
-rw-r--r--test/forcenum.ok2
14 files changed, 420 insertions, 399 deletions
diff --git a/ChangeLog b/ChangeLog
index 1732f024..cc4e1f24 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-10-17 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ * NEWS: Actually, isarray is not deprecated in this release.
+ * builtin.c (do_isarray): Remove lint warning deprecating isarray.
+
2017-10-14 Arnold D. Robbins <arnold@skeeve.com>
* field.c (do_split): Simplify the lint warnings.
diff --git a/NEWS b/NEWS
index fd411940..81fee808 100644
--- a/NEWS
+++ b/NEWS
@@ -87,8 +87,7 @@ Changes from 4.1.4 to 4.2.0
More details are provided in the manual.
14. The new typeof() function can be used to indicate if a variable or
- array element is an array, regexp, string or number. The isarray()
- function is deprecated in favor of typeof().
+ array element is an array, regexp, string or number.
15. As promised when 4.1 was released, the old extension mechanism,
using the `extension' function, is now gone.
diff --git a/builtin.c b/builtin.c
index cd270e84..98f50ddc 100644
--- a/builtin.c
+++ b/builtin.c
@@ -503,12 +503,6 @@ do_isarray(int nargs)
{
NODE *tmp;
int ret = 1;
- static bool warned = false;
-
- if (do_lint && ! warned) {
- warned = true;
- lintwarn(_("`isarray' is deprecated. Use `typeof' instead"));
- }
tmp = POP();
if (tmp->type != Node_var_array) {
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 1371bd9b..6517d17b 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,17 @@
+2017-10-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (EDITION): Update to 4.2. Also, remove all visible
+ references to http://awk.info; that site no longer exists.
+
+2017-10-17 Andrew J. Schorr <aschorr@telemetry-investments.com>
+
+ Update docs to indicate that isarray is not deprected in this release.
+
+ * awkcard.in: Remove "Deprecated" notice under isarray.
+ * gawk.1: Remove deprecated warning under isarray documentation.
+ * gawkexti.in: Remove sentence indicating that isarray is deprecated
+ and recommending typeof instead.
+
2017-10-10 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Readfile Function): Fix the code for the naive
diff --git a/doc/awkcard.in b/doc/awkcard.in
index 31e37a83..851371b8 100644
--- a/doc/awkcard.in
+++ b/doc/awkcard.in
@@ -1897,7 +1897,6 @@ See the manual for details.\*(CB
\*(CD\*(FCisarray(\*(FIx\*(FC)\*(FR
.br
Return true if \*(FIx\fP is an array, false otherwise.
-\*(CRDeprecated.\*(CD
.br
.ti -.2i
\*(FCtypeof(\*(FIx\*(FC)\*(FR
diff --git a/doc/gawk.1 b/doc/gawk.1
index c55ceca4..0da156d4 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -3282,7 +3282,6 @@ The following function is for use with multidimensional arrays.
Return true if
.I x
is an array, false otherwise.
-This function is deprecated.
.PP
You can tell the type of any variable or array element with the
following function:
diff --git a/doc/gawk.info b/doc/gawk.info
index 18cc047b..f2b5a11b 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -4,7 +4,7 @@ Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2017
Free Software Foundation, Inc.
- This is Edition 4.1 of 'GAWK: Effective AWK Programming: A User's
+ This is Edition 4.2 of 'GAWK: Effective AWK Programming: A User's
Guide for GNU Awk', for the 4.2.0 (or later) version of the GNU
implementation of AWK.
@@ -41,7 +41,7 @@ particular records in a file and perform operations upon them.
Free Software Foundation, Inc.
- This is Edition 4.1 of 'GAWK: Effective AWK Programming: A User's
+ This is Edition 4.2 of 'GAWK: Effective AWK Programming: A User's
Guide for GNU Awk', for the 4.2.0 (or later) version of the GNU
implementation of AWK.
@@ -1246,7 +1246,7 @@ For FSF edition 4.0, the content was thoroughly reviewed and updated.
All references to 'gawk' versions prior to 4.0 were removed. Of
significant note for that edition was the addition of *note Debugger::.
- For FSF edition 4.1, the content has been reorganized into parts, and
+ For FSF edition 4.2, the content has been reorganized into parts, and
the major new additions are *note Arbitrary Precision Arithmetic::, and
*note Dynamic Extensions::.
@@ -14008,10 +14008,6 @@ parameter is an array or not.
variable or function parameter is a scalar, an array, or a strongly
typed regexp.
- 'isarray()' is deprecated; you should use 'typeof()' instead. You
-should replace any existing uses of 'isarray(var)' in your code with
-'typeof(var) == "array"'.
-

File: gawk.info, Node: I18N Functions, Prev: Type Functions, Up: Built-in
@@ -29736,7 +29732,7 @@ Libmawk
QSE 'awk'
This is an embeddable 'awk' interpreter. For more information, see
- <https://code.google.com/p/qse/> and <http://awk.info/?tools/qse>.
+ <https://code.google.com/p/qse/>.
'QTawk'
This is an independent implementation of 'awk' distributed under
@@ -30793,14 +30789,12 @@ Amazing 'awk' Assembler
assembler completely as 'sed' and 'awk' scripts. It is thousands
of lines long, including machine descriptions for several eight-bit
microcomputers. It is a good example of a program that would have
- been better written in another language. You can get it from
- <http://awk.info/?awk100/aaa>.
+ been better written in another language.
Amazingly Workable Formatter ('awf')
Henry Spencer at the University of Toronto wrote a formatter that
accepts a large subset of the 'nroff -ms' and 'nroff -man'
- formatting commands, using 'awk' and 'sh'. It is available from
- <http://awk.info/?tools/awf>.
+ formatting commands, using 'awk' and 'sh'.
Anchor
The regexp metacharacters '^' and '$', which force the match to the
@@ -33084,7 +33078,7 @@ Index
* allocating memory for extensions: Memory Allocation Functions.
(line 6)
* amazing awk assembler (aaa): Glossary. (line 16)
-* amazingly workable formatter (awf): Glossary. (line 24)
+* amazingly workable formatter (awf): Glossary. (line 23)
* ambiguity, syntactic: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 149)
* ampersand (&), && operator: Boolean Ops. (line 59)
@@ -33096,7 +33090,7 @@ Index
* and: Bitwise Functions. (line 40)
* AND bitwise operation: Bitwise Functions. (line 6)
* and Boolean-logic operator: Boolean Ops. (line 6)
-* ANSI: Glossary. (line 34)
+* ANSI: Glossary. (line 32)
* API informational variables: Extension API Informational Variables.
(line 6)
* API version: Extension Versioning.
@@ -33166,7 +33160,7 @@ Index
* artificial intelligence, gawk and: Distribution contents.
(line 58)
* ASCII: Ordinal Functions. (line 45)
-* ASCII <1>: Glossary. (line 196)
+* ASCII <1>: Glossary. (line 194)
* asort: String Functions. (line 42)
* asort <1>: Array Sorting Functions.
(line 6)
@@ -33201,7 +33195,7 @@ Index
* asterisk (*), *= operator <1>: Precedence. (line 94)
* atan2: Numeric Functions. (line 12)
* automatic displays, in debugger: Debugger Info. (line 24)
-* awf (amazingly workable formatter) program: Glossary. (line 24)
+* awf (amazingly workable formatter) program: Glossary. (line 23)
* awk debugging, enabling: Options. (line 108)
* awk language, POSIX version: Assignment Ops. (line 138)
* awk profiling, enabling: Options. (line 259)
@@ -33340,7 +33334,7 @@ Index
* BEGINFILE pattern, Boolean patterns and: Expression Patterns.
(line 70)
* beginfile() user-defined function: Filetrans Function. (line 62)
-* Bentley, Jon: Glossary. (line 206)
+* Bentley, Jon: Glossary. (line 204)
* Benzinger, Michael: Contributors. (line 100)
* Berry, Karl: Acknowledgments. (line 33)
* Berry, Karl <1>: Acknowledgments. (line 75)
@@ -33424,7 +33418,7 @@ Index
* Brink, Jeroen: DOS Quoting. (line 10)
* Broder, Alan J.: Contributors. (line 91)
* Brown, Martin: Contributors. (line 85)
-* BSD-based operating systems: Glossary. (line 748)
+* BSD-based operating systems: Glossary. (line 746)
* bt debugger command (alias for backtrace): Execution Stack. (line 13)
* Buening, Andreas: Acknowledgments. (line 60)
* Buening, Andreas <1>: Contributors. (line 95)
@@ -33469,7 +33463,7 @@ Index
* character lists, See bracket expressions: Regexp Operators. (line 56)
* character sets (machine character encodings): Ordinal Functions.
(line 45)
-* character sets (machine character encodings) <1>: Glossary. (line 196)
+* character sets (machine character encodings) <1>: Glossary. (line 194)
* character sets, See Also bracket expressions: Regexp Operators.
(line 56)
* characters, counting: Wc Program. (line 6)
@@ -33479,7 +33473,7 @@ Index
* chdir() extension function: Extension Sample File Functions.
(line 12)
* checking for MPFR: Checking for MPFR. (line 6)
-* chem utility: Glossary. (line 206)
+* chem utility: Glossary. (line 204)
* chr() extension function: Extension Sample Ord.
(line 15)
* chr() user-defined function: Ordinal Functions. (line 16)
@@ -33558,7 +33552,7 @@ Index
(line 59)
* compatibility mode (gawk), specifying: Options. (line 82)
* compiled programs: Basic High Level. (line 13)
-* compiled programs <1>: Glossary. (line 218)
+* compiled programs <1>: Glossary. (line 216)
* compiling gawk for Cygwin: Cygwin. (line 6)
* compiling gawk for MS-Windows: PC Compiling. (line 11)
* compiling gawk for VMS: VMS Compilation. (line 6)
@@ -33602,7 +33596,7 @@ Index
* CONVFMT variable <1>: User-modified. (line 30)
* CONVFMT variable, and array subscripts: Numeric Array Subscripts.
(line 6)
-* cookie: Glossary. (line 257)
+* cookie: Glossary. (line 255)
* coprocesses: Redirection. (line 96)
* coprocesses <1>: Two-way I/O. (line 27)
* coprocesses, closing: Close Files And Pipes.
@@ -33629,7 +33623,7 @@ Index
* d debugger command (alias for delete): Breakpoint Control. (line 64)
* d.c., See dark corner: Conventions. (line 42)
* dark corner: Conventions. (line 42)
-* dark corner <1>: Glossary. (line 268)
+* dark corner <1>: Glossary. (line 266)
* dark corner, "0" is actually true: Truth Values. (line 24)
* dark corner, /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 149)
@@ -33980,7 +33974,7 @@ Index
* environment variables used by gawk: Environment Variables.
(line 6)
* environment variables, in ENVIRON array: Auto-set. (line 59)
-* epoch, definition of: Glossary. (line 312)
+* epoch, definition of: Glossary. (line 310)
* equals sign (=), = operator: Assignment Ops. (line 6)
* equals sign (=), == operator: Comparison Operators.
(line 11)
@@ -34235,9 +34229,9 @@ Index
(line 8)
* Free Software Foundation (FSF): Manual History. (line 6)
* Free Software Foundation (FSF) <1>: Getting. (line 10)
-* Free Software Foundation (FSF) <2>: Glossary. (line 372)
-* Free Software Foundation (FSF) <3>: Glossary. (line 405)
-* FreeBSD: Glossary. (line 748)
+* Free Software Foundation (FSF) <2>: Glossary. (line 370)
+* Free Software Foundation (FSF) <3>: Glossary. (line 403)
+* FreeBSD: Glossary. (line 746)
* FS variable: Field Separators. (line 15)
* FS variable <1>: User-modified. (line 53)
* FS variable, --field-separator option and: Options. (line 21)
@@ -34253,8 +34247,8 @@ Index
* FS, in multiline records: Multiple Line. (line 41)
* FSF (Free Software Foundation): Manual History. (line 6)
* FSF (Free Software Foundation) <1>: Getting. (line 10)
-* FSF (Free Software Foundation) <2>: Glossary. (line 372)
-* FSF (Free Software Foundation) <3>: Glossary. (line 405)
+* FSF (Free Software Foundation) <2>: Glossary. (line 370)
+* FSF (Free Software Foundation) <3>: Glossary. (line 403)
* fts() extension function: Extension Sample File Functions.
(line 60)
* FUNCTAB array: Auto-set. (line 134)
@@ -34407,7 +34401,7 @@ Index
* gawkpath_append shell function: Shell Startup Files. (line 19)
* gawkpath_default shell function: Shell Startup Files. (line 12)
* gawkpath_prepend shell function: Shell Startup Files. (line 15)
-* General Public License (GPL): Glossary. (line 396)
+* General Public License (GPL): Glossary. (line 394)
* General Public License, See GPL: Manual History. (line 11)
* generate time values: Time Functions. (line 25)
* gensub: Standard Regexp Constants.
@@ -34470,19 +34464,19 @@ Index
* GNU awk, See gawk: Preface. (line 51)
* GNU Free Documentation License: GNU Free Documentation License.
(line 8)
-* GNU General Public License: Glossary. (line 396)
-* GNU Lesser General Public License: Glossary. (line 491)
+* GNU General Public License: Glossary. (line 394)
+* GNU Lesser General Public License: Glossary. (line 489)
* GNU long options: Command Line. (line 13)
* GNU long options <1>: Options. (line 6)
* GNU long options, printing list of: Options. (line 168)
* GNU Project: Manual History. (line 11)
-* GNU Project <1>: Glossary. (line 405)
+* GNU Project <1>: Glossary. (line 403)
* GNU/Linux: Manual History. (line 28)
* GNU/Linux <1>: I18N Example. (line 57)
-* GNU/Linux <2>: Glossary. (line 748)
+* GNU/Linux <2>: Glossary. (line 746)
* Gordon, Assaf: Contributors. (line 108)
* GPL (General Public License): Manual History. (line 11)
-* GPL (General Public License) <1>: Glossary. (line 396)
+* GPL (General Public License) <1>: Glossary. (line 394)
* GPL (General Public License), printing: Options. (line 89)
* grcat program: Group Functions. (line 16)
* Grigera, Juan: Contributors. (line 58)
@@ -34619,19 +34613,19 @@ Index
(line 6)
* internationalizing a program: Explaining gettext. (line 6)
* interpreted programs: Basic High Level. (line 13)
-* interpreted programs <1>: Glossary. (line 445)
+* interpreted programs <1>: Glossary. (line 443)
* interval expressions, regexp operator: Regexp Operators. (line 116)
* inventory-shipped file: Sample Data Files. (line 32)
* invoke shell command: I/O Functions. (line 107)
* isarray: Type Functions. (line 11)
-* ISO: Glossary. (line 456)
-* ISO 8859-1: Glossary. (line 196)
-* ISO Latin-1: Glossary. (line 196)
+* ISO: Glossary. (line 454)
+* ISO 8859-1: Glossary. (line 194)
+* ISO Latin-1: Glossary. (line 194)
* Jacobs, Andrew: Passwd Functions. (line 90)
* Jaegermann, Michal: Acknowledgments. (line 60)
* Jaegermann, Michal <1>: Contributors. (line 46)
* Java implementation of awk: Other Versions. (line 122)
-* Java programming language: Glossary. (line 468)
+* Java programming language: Glossary. (line 466)
* jawk: Other Versions. (line 122)
* Jedi knights: Undocumented. (line 6)
* Johansen, Chris: Signature Program. (line 25)
@@ -34650,7 +34644,7 @@ Index
* Kernighan, Brian <7>: Contributors. (line 12)
* Kernighan, Brian <8>: Other Versions. (line 13)
* Kernighan, Brian <9>: Basic Data Typing. (line 54)
-* Kernighan, Brian <10>: Glossary. (line 206)
+* Kernighan, Brian <10>: Glossary. (line 204)
* kill command, dynamic profiling: Profiling. (line 186)
* Knights, jedi: Undocumented. (line 6)
* Kwok, Conrad: Contributors. (line 35)
@@ -34682,8 +34676,8 @@ Index
* length: String Functions. (line 170)
* length of input record: String Functions. (line 177)
* length of string: String Functions. (line 170)
-* Lesser General Public License (LGPL): Glossary. (line 491)
-* LGPL (Lesser General Public License): Glossary. (line 491)
+* Lesser General Public License (LGPL): Glossary. (line 489)
+* LGPL (Lesser General Public License): Glossary. (line 489)
* libmawk: Other Versions. (line 130)
* libraries of awk functions: Library Functions. (line 6)
* libraries of awk functions, assertions: Assert Function. (line 6)
@@ -34730,7 +34724,7 @@ Index
* LINT variable: User-modified. (line 90)
* Linux: Manual History. (line 28)
* Linux <1>: I18N Example. (line 57)
-* Linux <2>: Glossary. (line 748)
+* Linux <2>: Glossary. (line 746)
* list all global variables, in debugger: Debugger Info. (line 48)
* list debugger command: Miscellaneous Debugger Commands.
(line 75)
@@ -34790,7 +34784,7 @@ Index
* mawk utility <3>: Nextfile Statement. (line 47)
* mawk utility <4>: Other Versions. (line 48)
* maximum precision supported by MPFR library: Auto-set. (line 255)
-* McIlroy, Doug: Glossary. (line 257)
+* McIlroy, Doug: Glossary. (line 255)
* McPhee, Patrick: Contributors. (line 103)
* message object files: Explaining gettext. (line 42)
* message object files, converting from portable object files: I18N Example.
@@ -34819,7 +34813,7 @@ Index
* names, functions <1>: Library Names. (line 6)
* namespace issues: Library Names. (line 6)
* namespace issues, functions: Definition Syntax. (line 24)
-* NetBSD: Glossary. (line 748)
+* NetBSD: Glossary. (line 746)
* networks, programming: TCP/IP Networking. (line 6)
* networks, support for: Special Network. (line 6)
* newlines: Statements/Lines. (line 6)
@@ -34906,7 +34900,7 @@ Index
* OFS variable: Changing Fields. (line 64)
* OFS variable <1>: Output Separators. (line 6)
* OFS variable <2>: User-modified. (line 116)
-* OpenBSD: Glossary. (line 748)
+* OpenBSD: Glossary. (line 746)
* OpenSolaris: Other Versions. (line 105)
* operating systems, BSD-based: Manual History. (line 28)
* operating systems, PC, gawk on: PC Using. (line 6)
@@ -35186,7 +35180,7 @@ Index
* programming languages, Ada: Glossary. (line 11)
* programming languages, data-driven vs. procedural: Getting Started.
(line 12)
-* programming languages, Java: Glossary. (line 468)
+* programming languages, Java: Glossary. (line 466)
* programming, basic steps: Basic High Level. (line 18)
* programming, concepts: Basic Concepts. (line 6)
* programming, concepts <1>: Basic Concepts. (line 6)
@@ -35557,7 +35551,7 @@ Index
* Stallman, Richard: Manual History. (line 6)
* Stallman, Richard <1>: Acknowledgments. (line 18)
* Stallman, Richard <2>: Contributors. (line 24)
-* Stallman, Richard <3>: Glossary. (line 372)
+* Stallman, Richard <3>: Glossary. (line 370)
* standard error: Special FD. (line 6)
* standard input: Read Terminal. (line 6)
* standard input <1>: Special FD. (line 6)
@@ -35747,12 +35741,12 @@ Index
* undocumented features: Undocumented. (line 6)
* Unicode: Ordinal Functions. (line 45)
* Unicode <1>: Ranges and Locales. (line 61)
-* Unicode <2>: Glossary. (line 196)
+* Unicode <2>: Glossary. (line 194)
* uninitialized variables, as array subscripts: Uninitialized Subscripts.
(line 6)
* uniq utility: Uniq Program. (line 6)
* uniq.awk program: Uniq Program. (line 65)
-* Unix: Glossary. (line 748)
+* Unix: Glossary. (line 746)
* Unix awk, backslashes in escape sequences: Escape Sequences.
(line 121)
* Unix awk, close() function and: Close Files And Pipes.
@@ -36146,313 +36140,313 @@ Ref: table-bitwise-ops583903
Ref: Bitwise Functions-Footnote-1589936
Ref: Bitwise Functions-Footnote-2590109
Node: Type Functions590300
-Node: I18N Functions593217
-Node: User-defined594868
-Node: Definition Syntax595673
-Ref: Definition Syntax-Footnote-1601360
-Node: Function Example601431
-Ref: Function Example-Footnote-1604353
-Node: Function Caveats604375
-Node: Calling A Function604893
-Node: Variable Scope605851
-Node: Pass By Value/Reference608845
-Node: Return Statement612344
-Node: Dynamic Typing615323
-Node: Indirect Calls616253
-Ref: Indirect Calls-Footnote-1626505
-Node: Functions Summary626633
-Node: Library Functions629338
-Ref: Library Functions-Footnote-1632945
-Ref: Library Functions-Footnote-2633088
-Node: Library Names633259
-Ref: Library Names-Footnote-1636719
-Ref: Library Names-Footnote-2636942
-Node: General Functions637028
-Node: Strtonum Function638131
-Node: Assert Function641153
-Node: Round Function644479
-Node: Cliff Random Function646020
-Node: Ordinal Functions647036
-Ref: Ordinal Functions-Footnote-1650099
-Ref: Ordinal Functions-Footnote-2650351
-Node: Join Function650561
-Ref: Join Function-Footnote-1652331
-Node: Getlocaltime Function652531
-Node: Readfile Function656273
-Node: Shell Quoting658250
-Node: Data File Management659651
-Node: Filetrans Function660283
-Node: Rewind Function664379
-Node: File Checking666289
-Ref: File Checking-Footnote-1667623
-Node: Empty Files667824
-Node: Ignoring Assigns669803
-Node: Getopt Function671353
-Ref: Getopt Function-Footnote-1682822
-Node: Passwd Functions683022
-Ref: Passwd Functions-Footnote-1691861
-Node: Group Functions691949
-Ref: Group Functions-Footnote-1699847
-Node: Walking Arrays700054
-Node: Library Functions Summary703062
-Node: Library Exercises704468
-Node: Sample Programs704933
-Node: Running Examples705703
-Node: Clones706431
-Node: Cut Program707655
-Node: Egrep Program717584
-Ref: Egrep Program-Footnote-1725096
-Node: Id Program725206
-Node: Split Program728886
-Ref: Split Program-Footnote-1732345
-Node: Tee Program732474
-Node: Uniq Program735264
-Node: Wc Program742690
-Ref: Wc Program-Footnote-1746945
-Node: Miscellaneous Programs747039
-Node: Dupword Program748252
-Node: Alarm Program750282
-Node: Translate Program755137
-Ref: Translate Program-Footnote-1759702
-Node: Labels Program759972
-Ref: Labels Program-Footnote-1763323
-Node: Word Sorting763407
-Node: History Sorting767479
-Node: Extract Program769314
-Node: Simple Sed776844
-Node: Igawk Program779918
-Ref: Igawk Program-Footnote-1794249
-Ref: Igawk Program-Footnote-2794451
-Ref: Igawk Program-Footnote-3794573
-Node: Anagram Program794688
-Node: Signature Program797750
-Node: Programs Summary798997
-Node: Programs Exercises800211
-Ref: Programs Exercises-Footnote-1804340
-Node: Advanced Features804431
-Node: Nondecimal Data806421
-Node: Array Sorting808012
-Node: Controlling Array Traversal808712
-Ref: Controlling Array Traversal-Footnote-1817079
-Node: Array Sorting Functions817197
-Ref: Array Sorting Functions-Footnote-1822288
-Node: Two-way I/O822484
-Ref: Two-way I/O-Footnote-1829036
-Ref: Two-way I/O-Footnote-2829223
-Node: TCP/IP Networking829305
-Node: Profiling832423
-Ref: Profiling-Footnote-1841095
-Node: Advanced Features Summary841418
-Node: Internationalization843262
-Node: I18N and L10N844742
-Node: Explaining gettext845429
-Ref: Explaining gettext-Footnote-1851321
-Ref: Explaining gettext-Footnote-2851506
-Node: Programmer i18n851671
-Ref: Programmer i18n-Footnote-1856620
-Node: Translator i18n856669
-Node: String Extraction857463
-Ref: String Extraction-Footnote-1858595
-Node: Printf Ordering858681
-Ref: Printf Ordering-Footnote-1861467
-Node: I18N Portability861531
-Ref: I18N Portability-Footnote-1863987
-Node: I18N Example864050
-Ref: I18N Example-Footnote-1866856
-Node: Gawk I18N866929
-Node: I18N Summary867574
-Node: Debugger868915
-Node: Debugging869938
-Node: Debugging Concepts870379
-Node: Debugging Terms872188
-Node: Awk Debugging874763
-Node: Sample Debugging Session875669
-Node: Debugger Invocation876203
-Node: Finding The Bug877589
-Node: List of Debugger Commands884067
-Node: Breakpoint Control885400
-Node: Debugger Execution Control889094
-Node: Viewing And Changing Data892456
-Node: Execution Stack895830
-Node: Debugger Info897467
-Node: Miscellaneous Debugger Commands901538
-Node: Readline Support906626
-Node: Limitations907522
-Node: Debugging Summary909631
-Node: Arbitrary Precision Arithmetic910910
-Node: Computer Arithmetic912395
-Ref: table-numeric-ranges915986
-Ref: Computer Arithmetic-Footnote-1916708
-Node: Math Definitions916765
-Ref: table-ieee-formats920081
-Ref: Math Definitions-Footnote-1920684
-Node: MPFR features920789
-Node: FP Math Caution922507
-Ref: FP Math Caution-Footnote-1923579
-Node: Inexactness of computations923948
-Node: Inexact representation924908
-Node: Comparing FP Values926268
-Node: Errors accumulate927350
-Node: Getting Accuracy928783
-Node: Try To Round931493
-Node: Setting precision932392
-Ref: table-predefined-precision-strings933089
-Node: Setting the rounding mode934919
-Ref: table-gawk-rounding-modes935293
-Ref: Setting the rounding mode-Footnote-1938701
-Node: Arbitrary Precision Integers938880
-Ref: Arbitrary Precision Integers-Footnote-1942055
-Node: Checking for MPFR942204
-Node: POSIX Floating Point Problems943501
-Ref: POSIX Floating Point Problems-Footnote-1947372
-Node: Floating point summary947410
-Node: Dynamic Extensions949600
-Node: Extension Intro951153
-Node: Plugin License952419
-Node: Extension Mechanism Outline953216
-Ref: figure-load-extension953655
-Ref: figure-register-new-function955220
-Ref: figure-call-new-function956312
-Node: Extension API Description958374
-Node: Extension API Functions Introduction960016
-Node: General Data Types965556
-Ref: General Data Types-Footnote-1973677
-Node: Memory Allocation Functions973976
-Ref: Memory Allocation Functions-Footnote-1978184
-Node: Constructor Functions978283
-Node: Registration Functions981869
-Node: Extension Functions982554
-Node: Exit Callback Functions987769
-Node: Extension Version String989019
-Node: Input Parsers989682
-Node: Output Wrappers1002403
-Node: Two-way processors1006915
-Node: Printing Messages1009180
-Ref: Printing Messages-Footnote-11010351
-Node: Updating ERRNO1010504
-Node: Requesting Values1011243
-Ref: table-value-types-returned1011980
-Node: Accessing Parameters1012916
-Node: Symbol Table Access1014151
-Node: Symbol table by name1014663
-Node: Symbol table by cookie1016452
-Ref: Symbol table by cookie-Footnote-11020637
-Node: Cached values1020701
-Ref: Cached values-Footnote-11024237
-Node: Array Manipulation1024390
-Ref: Array Manipulation-Footnote-11025481
-Node: Array Data Types1025518
-Ref: Array Data Types-Footnote-11028176
-Node: Array Functions1028268
-Node: Flattening Arrays1032766
-Node: Creating Arrays1039742
-Node: Redirection API1044511
-Node: Extension API Variables1047344
-Node: Extension Versioning1048055
-Ref: gawk-api-version1048484
-Node: Extension GMP/MPFR Versioning1050212
-Node: Extension API Informational Variables1051840
-Node: Extension API Boilerplate1052913
-Node: Changes from API V11056887
-Node: Finding Extensions1057547
-Node: Extension Example1058106
-Node: Internal File Description1058904
-Node: Internal File Ops1062984
-Ref: Internal File Ops-Footnote-11074384
-Node: Using Internal File Ops1074524
-Ref: Using Internal File Ops-Footnote-11076907
-Node: Extension Samples1077181
-Node: Extension Sample File Functions1078710
-Node: Extension Sample Fnmatch1086359
-Node: Extension Sample Fork1087846
-Node: Extension Sample Inplace1089064
-Node: Extension Sample Ord1092281
-Node: Extension Sample Readdir1093117
-Ref: table-readdir-file-types1094006
-Node: Extension Sample Revout1094811
-Node: Extension Sample Rev2way1095400
-Node: Extension Sample Read write array1096140
-Node: Extension Sample Readfile1098082
-Node: Extension Sample Time1099177
-Node: Extension Sample API Tests1100525
-Node: gawkextlib1101017
-Node: Extension summary1103473
-Node: Extension Exercises1107175
-Node: Language History1108673
-Node: V7/SVR3.11110329
-Node: SVR41112481
-Node: POSIX1113915
-Node: BTL1115295
-Node: POSIX/GNU1116024
-Node: Feature History1121802
-Node: Common Extensions1137661
-Node: Ranges and Locales1138944
-Ref: Ranges and Locales-Footnote-11143560
-Ref: Ranges and Locales-Footnote-21143587
-Ref: Ranges and Locales-Footnote-31143822
-Node: Contributors1144043
-Node: History summary1149988
-Node: Installation1151368
-Node: Gawk Distribution1152312
-Node: Getting1152796
-Node: Extracting1153759
-Node: Distribution contents1155397
-Node: Unix Installation1161877
-Node: Quick Installation1162559
-Node: Shell Startup Files1164973
-Node: Additional Configuration Options1166062
-Node: Configuration Philosophy1167923
-Node: Non-Unix Installation1170292
-Node: PC Installation1170752
-Node: PC Binary Installation1171590
-Node: PC Compiling1172025
-Node: PC Using1173142
-Node: Cygwin1176187
-Node: MSYS1176957
-Node: VMS Installation1177458
-Node: VMS Compilation1178249
-Ref: VMS Compilation-Footnote-11179478
-Node: VMS Dynamic Extensions1179536
-Node: VMS Installation Details1181221
-Node: VMS Running1183474
-Node: VMS GNV1187753
-Node: VMS Old Gawk1188488
-Node: Bugs1188959
-Node: Bug address1189622
-Node: Usenet1192414
-Node: Maintainers1193191
-Node: Other Versions1194452
-Node: Installation summary1201247
-Node: Notes1202449
-Node: Compatibility Mode1203314
-Node: Additions1204096
-Node: Accessing The Source1205021
-Node: Adding Code1206458
-Node: New Ports1212677
-Node: Derived Files1217165
-Ref: Derived Files-Footnote-11222811
-Ref: Derived Files-Footnote-21222846
-Ref: Derived Files-Footnote-31223444
-Node: Future Extensions1223558
-Node: Implementation Limitations1224216
-Node: Extension Design1225399
-Node: Old Extension Problems1226553
-Ref: Old Extension Problems-Footnote-11228071
-Node: Extension New Mechanism Goals1228128
-Ref: Extension New Mechanism Goals-Footnote-11231492
-Node: Extension Other Design Decisions1231681
-Node: Extension Future Growth1233794
-Node: Old Extension Mechanism1234630
-Node: Notes summary1236393
-Node: Basic Concepts1237575
-Node: Basic High Level1238256
-Ref: figure-general-flow1238538
-Ref: figure-process-flow1239223
-Ref: Basic High Level-Footnote-11242524
-Node: Basic Data Typing1242709
-Node: Glossary1246037
-Node: Copying1277987
-Node: GNU Free Documentation License1315526
-Node: Index1340644
+Node: I18N Functions593051
+Node: User-defined594702
+Node: Definition Syntax595507
+Ref: Definition Syntax-Footnote-1601194
+Node: Function Example601265
+Ref: Function Example-Footnote-1604187
+Node: Function Caveats604209
+Node: Calling A Function604727
+Node: Variable Scope605685
+Node: Pass By Value/Reference608679
+Node: Return Statement612178
+Node: Dynamic Typing615157
+Node: Indirect Calls616087
+Ref: Indirect Calls-Footnote-1626339
+Node: Functions Summary626467
+Node: Library Functions629172
+Ref: Library Functions-Footnote-1632779
+Ref: Library Functions-Footnote-2632922
+Node: Library Names633093
+Ref: Library Names-Footnote-1636553
+Ref: Library Names-Footnote-2636776
+Node: General Functions636862
+Node: Strtonum Function637965
+Node: Assert Function640987
+Node: Round Function644313
+Node: Cliff Random Function645854
+Node: Ordinal Functions646870
+Ref: Ordinal Functions-Footnote-1649933
+Ref: Ordinal Functions-Footnote-2650185
+Node: Join Function650395
+Ref: Join Function-Footnote-1652165
+Node: Getlocaltime Function652365
+Node: Readfile Function656107
+Node: Shell Quoting658084
+Node: Data File Management659485
+Node: Filetrans Function660117
+Node: Rewind Function664213
+Node: File Checking666123
+Ref: File Checking-Footnote-1667457
+Node: Empty Files667658
+Node: Ignoring Assigns669637
+Node: Getopt Function671187
+Ref: Getopt Function-Footnote-1682656
+Node: Passwd Functions682856
+Ref: Passwd Functions-Footnote-1691695
+Node: Group Functions691783
+Ref: Group Functions-Footnote-1699681
+Node: Walking Arrays699888
+Node: Library Functions Summary702896
+Node: Library Exercises704302
+Node: Sample Programs704767
+Node: Running Examples705537
+Node: Clones706265
+Node: Cut Program707489
+Node: Egrep Program717418
+Ref: Egrep Program-Footnote-1724930
+Node: Id Program725040
+Node: Split Program728720
+Ref: Split Program-Footnote-1732179
+Node: Tee Program732308
+Node: Uniq Program735098
+Node: Wc Program742524
+Ref: Wc Program-Footnote-1746779
+Node: Miscellaneous Programs746873
+Node: Dupword Program748086
+Node: Alarm Program750116
+Node: Translate Program754971
+Ref: Translate Program-Footnote-1759536
+Node: Labels Program759806
+Ref: Labels Program-Footnote-1763157
+Node: Word Sorting763241
+Node: History Sorting767313
+Node: Extract Program769148
+Node: Simple Sed776678
+Node: Igawk Program779752
+Ref: Igawk Program-Footnote-1794083
+Ref: Igawk Program-Footnote-2794285
+Ref: Igawk Program-Footnote-3794407
+Node: Anagram Program794522
+Node: Signature Program797584
+Node: Programs Summary798831
+Node: Programs Exercises800045
+Ref: Programs Exercises-Footnote-1804174
+Node: Advanced Features804265
+Node: Nondecimal Data806255
+Node: Array Sorting807846
+Node: Controlling Array Traversal808546
+Ref: Controlling Array Traversal-Footnote-1816913
+Node: Array Sorting Functions817031
+Ref: Array Sorting Functions-Footnote-1822122
+Node: Two-way I/O822318
+Ref: Two-way I/O-Footnote-1828870
+Ref: Two-way I/O-Footnote-2829057
+Node: TCP/IP Networking829139
+Node: Profiling832257
+Ref: Profiling-Footnote-1840929
+Node: Advanced Features Summary841252
+Node: Internationalization843096
+Node: I18N and L10N844576
+Node: Explaining gettext845263
+Ref: Explaining gettext-Footnote-1851155
+Ref: Explaining gettext-Footnote-2851340
+Node: Programmer i18n851505
+Ref: Programmer i18n-Footnote-1856454
+Node: Translator i18n856503
+Node: String Extraction857297
+Ref: String Extraction-Footnote-1858429
+Node: Printf Ordering858515
+Ref: Printf Ordering-Footnote-1861301
+Node: I18N Portability861365
+Ref: I18N Portability-Footnote-1863821
+Node: I18N Example863884
+Ref: I18N Example-Footnote-1866690
+Node: Gawk I18N866763
+Node: I18N Summary867408
+Node: Debugger868749
+Node: Debugging869772
+Node: Debugging Concepts870213
+Node: Debugging Terms872022
+Node: Awk Debugging874597
+Node: Sample Debugging Session875503
+Node: Debugger Invocation876037
+Node: Finding The Bug877423
+Node: List of Debugger Commands883901
+Node: Breakpoint Control885234
+Node: Debugger Execution Control888928
+Node: Viewing And Changing Data892290
+Node: Execution Stack895664
+Node: Debugger Info897301
+Node: Miscellaneous Debugger Commands901372
+Node: Readline Support906460
+Node: Limitations907356
+Node: Debugging Summary909465
+Node: Arbitrary Precision Arithmetic910744
+Node: Computer Arithmetic912229
+Ref: table-numeric-ranges915820
+Ref: Computer Arithmetic-Footnote-1916542
+Node: Math Definitions916599
+Ref: table-ieee-formats919915
+Ref: Math Definitions-Footnote-1920518
+Node: MPFR features920623
+Node: FP Math Caution922341
+Ref: FP Math Caution-Footnote-1923413
+Node: Inexactness of computations923782
+Node: Inexact representation924742
+Node: Comparing FP Values926102
+Node: Errors accumulate927184
+Node: Getting Accuracy928617
+Node: Try To Round931327
+Node: Setting precision932226
+Ref: table-predefined-precision-strings932923
+Node: Setting the rounding mode934753
+Ref: table-gawk-rounding-modes935127
+Ref: Setting the rounding mode-Footnote-1938535
+Node: Arbitrary Precision Integers938714
+Ref: Arbitrary Precision Integers-Footnote-1941889
+Node: Checking for MPFR942038
+Node: POSIX Floating Point Problems943335
+Ref: POSIX Floating Point Problems-Footnote-1947206
+Node: Floating point summary947244
+Node: Dynamic Extensions949434
+Node: Extension Intro950987
+Node: Plugin License952253
+Node: Extension Mechanism Outline953050
+Ref: figure-load-extension953489
+Ref: figure-register-new-function955054
+Ref: figure-call-new-function956146
+Node: Extension API Description958208
+Node: Extension API Functions Introduction959850
+Node: General Data Types965390
+Ref: General Data Types-Footnote-1973511
+Node: Memory Allocation Functions973810
+Ref: Memory Allocation Functions-Footnote-1978018
+Node: Constructor Functions978117
+Node: Registration Functions981703
+Node: Extension Functions982388
+Node: Exit Callback Functions987603
+Node: Extension Version String988853
+Node: Input Parsers989516
+Node: Output Wrappers1002237
+Node: Two-way processors1006749
+Node: Printing Messages1009014
+Ref: Printing Messages-Footnote-11010185
+Node: Updating ERRNO1010338
+Node: Requesting Values1011077
+Ref: table-value-types-returned1011814
+Node: Accessing Parameters1012750
+Node: Symbol Table Access1013985
+Node: Symbol table by name1014497
+Node: Symbol table by cookie1016286
+Ref: Symbol table by cookie-Footnote-11020471
+Node: Cached values1020535
+Ref: Cached values-Footnote-11024071
+Node: Array Manipulation1024224
+Ref: Array Manipulation-Footnote-11025315
+Node: Array Data Types1025352
+Ref: Array Data Types-Footnote-11028010
+Node: Array Functions1028102
+Node: Flattening Arrays1032600
+Node: Creating Arrays1039576
+Node: Redirection API1044345
+Node: Extension API Variables1047178
+Node: Extension Versioning1047889
+Ref: gawk-api-version1048318
+Node: Extension GMP/MPFR Versioning1050046
+Node: Extension API Informational Variables1051674
+Node: Extension API Boilerplate1052747
+Node: Changes from API V11056721
+Node: Finding Extensions1057381
+Node: Extension Example1057940
+Node: Internal File Description1058738
+Node: Internal File Ops1062818
+Ref: Internal File Ops-Footnote-11074218
+Node: Using Internal File Ops1074358
+Ref: Using Internal File Ops-Footnote-11076741
+Node: Extension Samples1077015
+Node: Extension Sample File Functions1078544
+Node: Extension Sample Fnmatch1086193
+Node: Extension Sample Fork1087680
+Node: Extension Sample Inplace1088898
+Node: Extension Sample Ord1092115
+Node: Extension Sample Readdir1092951
+Ref: table-readdir-file-types1093840
+Node: Extension Sample Revout1094645
+Node: Extension Sample Rev2way1095234
+Node: Extension Sample Read write array1095974
+Node: Extension Sample Readfile1097916
+Node: Extension Sample Time1099011
+Node: Extension Sample API Tests1100359
+Node: gawkextlib1100851
+Node: Extension summary1103307
+Node: Extension Exercises1107009
+Node: Language History1108507
+Node: V7/SVR3.11110163
+Node: SVR41112315
+Node: POSIX1113749
+Node: BTL1115129
+Node: POSIX/GNU1115858
+Node: Feature History1121636
+Node: Common Extensions1137495
+Node: Ranges and Locales1138778
+Ref: Ranges and Locales-Footnote-11143394
+Ref: Ranges and Locales-Footnote-21143421
+Ref: Ranges and Locales-Footnote-31143656
+Node: Contributors1143877
+Node: History summary1149822
+Node: Installation1151202
+Node: Gawk Distribution1152146
+Node: Getting1152630
+Node: Extracting1153593
+Node: Distribution contents1155231
+Node: Unix Installation1161711
+Node: Quick Installation1162393
+Node: Shell Startup Files1164807
+Node: Additional Configuration Options1165896
+Node: Configuration Philosophy1167757
+Node: Non-Unix Installation1170126
+Node: PC Installation1170586
+Node: PC Binary Installation1171424
+Node: PC Compiling1171859
+Node: PC Using1172976
+Node: Cygwin1176021
+Node: MSYS1176791
+Node: VMS Installation1177292
+Node: VMS Compilation1178083
+Ref: VMS Compilation-Footnote-11179312
+Node: VMS Dynamic Extensions1179370
+Node: VMS Installation Details1181055
+Node: VMS Running1183308
+Node: VMS GNV1187587
+Node: VMS Old Gawk1188322
+Node: Bugs1188793
+Node: Bug address1189456
+Node: Usenet1192248
+Node: Maintainers1193025
+Node: Other Versions1194286
+Node: Installation summary1201048
+Node: Notes1202250
+Node: Compatibility Mode1203115
+Node: Additions1203897
+Node: Accessing The Source1204822
+Node: Adding Code1206259
+Node: New Ports1212478
+Node: Derived Files1216966
+Ref: Derived Files-Footnote-11222612
+Ref: Derived Files-Footnote-21222647
+Ref: Derived Files-Footnote-31223245
+Node: Future Extensions1223359
+Node: Implementation Limitations1224017
+Node: Extension Design1225200
+Node: Old Extension Problems1226354
+Ref: Old Extension Problems-Footnote-11227872
+Node: Extension New Mechanism Goals1227929
+Ref: Extension New Mechanism Goals-Footnote-11231293
+Node: Extension Other Design Decisions1231482
+Node: Extension Future Growth1233595
+Node: Old Extension Mechanism1234431
+Node: Notes summary1236194
+Node: Basic Concepts1237376
+Node: Basic High Level1238057
+Ref: figure-general-flow1238339
+Ref: figure-process-flow1239024
+Ref: Basic High Level-Footnote-11242325
+Node: Basic Data Typing1242510
+Node: Glossary1245838
+Node: Copying1277674
+Node: GNU Free Documentation License1315213
+Node: Index1340331

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index bb5aee3c..0485a566 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -76,7 +76,7 @@
@set TITLE GAWK: Effective AWK Programming
@end ifclear
@set SUBTITLE A User's Guide for GNU Awk
-@set EDITION 4.1
+@set EDITION 4.2
@iftex
@set DOCUMENT book
@@ -20106,10 +20106,6 @@ The @code{typeof()} function is general; it allows you to determine
if a variable or function parameter is a scalar, an array, or a strongly
typed regexp.
-@code{isarray()} is deprecated; you should use @code{typeof()} instead.
-You should replace any existing uses of @samp{isarray(var)} in your
-code with @samp{typeof(var) == "array"}.
-
@node I18N Functions
@subsection String-Translation Functions
@cindex @command{gawk}, string-translation functions
@@ -40287,7 +40283,7 @@ modified version of BWK @command{awk}, described earlier.)
@cindex QSE @command{awk}
@cindex source code, QSE @command{awk}
This is an embeddable @command{awk} interpreter. For more information,
-see @uref{https://code.google.com/p/qse/} and @uref{http://awk.info/?tools/qse}.
+see @uref{https://code.google.com/p/qse/}. @c and @uref{http://awk.info/?tools/qse}.
@item @command{QTawk}
@cindex QuikTrim Awk
@@ -41596,7 +41592,7 @@ completely as @command{sed} and @command{awk} scripts. It is thousands
of lines long, including machine descriptions for several eight-bit
microcomputers. It is a good example of a program that would have been
better written in another language.
-You can get it from @uref{http://awk.info/?awk100/aaa}.
+@c You can get it from @uref{http://awk.info/?awk100/aaa}.
@cindex amazingly workable formatter (@command{awf})
@cindex @command{awf} (amazingly workable formatter) program
@@ -41604,8 +41600,8 @@ You can get it from @uref{http://awk.info/?awk100/aaa}.
Henry Spencer at the University of Toronto wrote a formatter that accepts
a large subset of the @samp{nroff -ms} and @samp{nroff -man} formatting
commands, using @command{awk} and @command{sh}.
-It is available
-from @uref{http://awk.info/?tools/awf}.
+@c It is available
+@c from @uref{http://awk.info/?tools/awf}.
@item Anchor
The regexp metacharacters @samp{^} and @samp{$}, which force the match
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 1d7543e3..518ab01f 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -71,7 +71,7 @@
@set TITLE GAWK: Effective AWK Programming
@end ifclear
@set SUBTITLE A User's Guide for GNU Awk
-@set EDITION 4.1
+@set EDITION 4.2
@iftex
@set DOCUMENT book
@@ -19150,10 +19150,6 @@ The @code{typeof()} function is general; it allows you to determine
if a variable or function parameter is a scalar, an array, or a strongly
typed regexp.
-@code{isarray()} is deprecated; you should use @code{typeof()} instead.
-You should replace any existing uses of @samp{isarray(var)} in your
-code with @samp{typeof(var) == "array"}.
-
@node I18N Functions
@subsection String-Translation Functions
@cindex @command{gawk}, string-translation functions
@@ -39301,7 +39297,7 @@ modified version of BWK @command{awk}, described earlier.)
@cindex QSE @command{awk}
@cindex source code, QSE @command{awk}
This is an embeddable @command{awk} interpreter. For more information,
-see @uref{https://code.google.com/p/qse/} and @uref{http://awk.info/?tools/qse}.
+see @uref{https://code.google.com/p/qse/}. @c and @uref{http://awk.info/?tools/qse}.
@item @command{QTawk}
@cindex QuikTrim Awk
@@ -40610,7 +40606,7 @@ completely as @command{sed} and @command{awk} scripts. It is thousands
of lines long, including machine descriptions for several eight-bit
microcomputers. It is a good example of a program that would have been
better written in another language.
-You can get it from @uref{http://awk.info/?awk100/aaa}.
+@c You can get it from @uref{http://awk.info/?awk100/aaa}.
@cindex amazingly workable formatter (@command{awf})
@cindex @command{awf} (amazingly workable formatter) program
@@ -40618,8 +40614,8 @@ You can get it from @uref{http://awk.info/?awk100/aaa}.
Henry Spencer at the University of Toronto wrote a formatter that accepts
a large subset of the @samp{nroff -ms} and @samp{nroff -man} formatting
commands, using @command{awk} and @command{sh}.
-It is available
-from @uref{http://awk.info/?tools/awf}.
+@c It is available
+@c from @uref{http://awk.info/?tools/awf}.
@item Anchor
The regexp metacharacters @samp{^} and @samp{$}, which force the match
diff --git a/doc/it/ChangeLog b/doc/it/ChangeLog
index b5dc98a5..29f2e670 100644
--- a/doc/it/ChangeLog
+++ b/doc/it/ChangeLog
@@ -1,3 +1,12 @@
+2017-10-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (EDITION): Update to 4.2. Also, remove all visible
+ references to http://awk.info; that site no longer exists.
+
+2017-10-17 Antonio Giovanni Colombo <azc100@gmail.com>
+
+ * gawktexi.in: Italian translation updated.
+
2017-10-12 Antonio Giovanni Colombo <azc100@gmail.com>
* gawktexi.in: Italian translation updated.
diff --git a/doc/it/gawktexi.in b/doc/it/gawktexi.in
index a762d0ef..aa99d614 100755..100644
--- a/doc/it/gawktexi.in
+++ b/doc/it/gawktexi.in
@@ -76,7 +76,7 @@
@set TITLE GAWK: Programmare efficacemente in AWK
@end ifclear
@set SUBTITLE Una Guida Utente per GNU Awk
-@set EDITION 4.1
+@set EDITION 4.2
@iftex
@set DOCUMENT libro
@@ -20699,11 +20699,6 @@ La funzione @code{typeof()} @`e generale; consente di determinare
se una variabile o un parametro di funzione @`e uno scalare, un vettore,
o una @dfn{regexp} fortemente tipizzata.
-L'uso di @code{isarray()} @`e deprecato; si dovrebbe usare @code{typeof()}
-al suo posto. Si dovrebbe sostituire ogni uso esistente di
-@samp{isarray(var)} nei programmi esistenti con
-@samp{typeof(var) == "array"}.
-
@node Funzioni di internazionalizzazione
@subsection Funzioni per tradurre stringhe
@cindex @command{gawk}, funzioni di traduzione di stringhe
@@ -42727,7 +42722,7 @@ modificata da Nelson Beebe di BWK @command{awk}, descritta prima.)
@cindex sorgente, codice, QSE @command{awk}
Questo @`e un interprete di @command{awk} incorporabile. Per ulteriori
informazioni, si veda
-@uref{https://code.google.com/p/qse/} e @uref{http://awk.info/?tools/qse}.
+@uref{https://code.google.com/p/qse/}. @c e @uref{http://awk.info/?tools/qse}.
@item @command{QTawk}
@cindex QuikTrim Awk
@@ -44210,7 +44205,7 @@ la descrizione dell'hardware di
numerosi micro-computer a 8 bit. @`E un
buon esempio di programma per cui sarebbe stato
meglio utilizzare un altro linguaggio.
-Si pu@`o scaricare da @uref{http://awk.info/?awk100/aaa}.
+@c Si pu@`o scaricare da @uref{http://awk.info/?awk100/aaa}.
@item Asserzione
Un'istruzione in un programma che afferma che una condizione @`e verificata in
@@ -44623,7 +44618,7 @@ Henry Spencer all'Universit@`a di Toronto ha scritto un formattatore che
accetta un ampio sottoassieme dei comandi di formattazione @samp{nroff -ms}
e @samp{nroff -man} usando
@command{awk} e @command{sh}.
-Si pu@`o scaricare da @uref{http://awk.info/?tools/awf}.
+@c Si pu@`o scaricare da @uref{http://awk.info/?tools/awf}.
@item Fortran
Abbreviazione di FORmula TRANslator (traduttore di formule), @`e uno dei primi
diff --git a/test/ChangeLog b/test/ChangeLog
index 4f79460f..8b2d0325 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,11 @@
+2017-10-17 Arnold D. Robbins <arnold@skeeve.com>
+
+ * forcenum.awk: Convert values manually to number and then
+ to string and remove leading sign, to avoid C library
+ differences across platforms. Thanks to Corinna Vinschen
+ for the report.
+ * forcenum.ok: Adjust for above change.
+
2017-10-12 Arnold D. Robbins <arnold@skeeve.com>
* fork.awk: Close the file in the parent after reading it.
diff --git a/test/forcenum.awk b/test/forcenum.awk
index 1a7ddce7..d4ff5d5e 100644
--- a/test/forcenum.awk
+++ b/test/forcenum.awk
@@ -1,6 +1,17 @@
BEGIN {
# make some strnums
- nf = split("|5apple|+NaN| 6|0x1az|011Q|027", f, "|")
- for (i = 1; i <= nf; i++)
- printf "[%s] -> %g (type %s)\n", f[i], f[i], typeof(f[i])
+ nf = split("|5apple|NaN|-NaN|+NaN| 6|0x1az|011Q|027", f, "|")
+
+ for (i = 1; i <= nf; i++) {
+ # NaN values on some systems can come out with
+ # a sign in front of them. So instead of using %g to
+ # convert the strnum to a double, do it manually, and
+ # then remove any leading sign so that the test will
+ # work across systems.
+ val = f[i] + 0
+ val = val ""
+ val = tolower(val)
+ sub(/^[-+]/, "", val)
+ printf "[%s] -> %s (type %s)\n", f[i], val, typeof(f[i])
+ }
}
diff --git a/test/forcenum.ok b/test/forcenum.ok
index a379db62..0ad1714f 100644
--- a/test/forcenum.ok
+++ b/test/forcenum.ok
@@ -1,5 +1,7 @@
[] -> 0 (type string)
[5apple] -> 5 (type string)
+[NaN] -> 0 (type string)
+[-NaN] -> nan (type strnum)
[+NaN] -> nan (type strnum)
[ 6] -> 6 (type strnum)
[0x1az] -> 26 (type string)