aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2014-12-05 13:40:14 +0200
committerArnold D. Robbins <arnold@skeeve.com>2014-12-05 13:40:14 +0200
commitbf97a0c486d96e13c57e2f716dfacfa07c6394f5 (patch)
treeaab11dba320a0971ca88d1cdc15cadd3441b838b /doc
parentd07f0f9df7ea216ca579eed7a9b46d3e168619de (diff)
parent3ceedbd1f9a0a1444d13aa64cd85db28cb17d219 (diff)
downloadegawk-bf97a0c486d96e13c57e2f716dfacfa07c6394f5.tar.gz
egawk-bf97a0c486d96e13c57e2f716dfacfa07c6394f5.tar.bz2
egawk-bf97a0c486d96e13c57e2f716dfacfa07c6394f5.zip
Merge branch 'gawk-4.1-stable'
Diffstat (limited to 'doc')
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info1128
-rw-r--r--doc/gawk.texi41
-rw-r--r--doc/gawktexi.in39
4 files changed, 621 insertions, 591 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index fea9d17a..e5efd33e 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2014-12-05 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Various minor fixes and updates.
+
2014-11-23 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Update that TZ env. var can influnce mktime
diff --git a/doc/gawk.info b/doc/gawk.info
index 6ffc5dc1..608325ea 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1342,7 +1342,7 @@ continues to be a pleasure working with this team of fine people.
Notable code and documentation contributions were made by a number
of people. *Note Contributors::, for the full list.
- Thanks to Michael Brennan for the Foreword.
+ Thanks to Michael Brennan for the Forewords.
Thanks to Patrice Dumas for the new `makeinfo' program. Thanks to
Karl Berry who continues to work to keep the Texinfo markup language
@@ -2539,8 +2539,8 @@ The following list describes options mandated by the POSIX standard:
applications that pass arguments through the URL; using this
option prevents a malicious (or other) user from passing in
options, assignments, or `awk' source code (via `-e') to the CGI
- application. This option should be used with `#!' scripts (*note
- Executable Scripts::), like so:
+ application.(1) This option should be used with `#!' scripts
+ (*note Executable Scripts::), like so:
#! /usr/local/bin/gawk -E
@@ -2755,7 +2755,7 @@ you would add these lines to the `.profile' file in your home directory:
POSIXLY_CORRECT=true
export POSIXLY_CORRECT
- For a C shell-compatible shell,(1) you would add this line to the
+ For a C shell-compatible shell,(2) you would add this line to the
`.login' file in your home directory:
setenv POSIXLY_CORRECT true
@@ -2766,7 +2766,12 @@ environments.
---------- Footnotes ----------
- (1) Not recommended.
+ (1) For more detail, please see Section 4.4 of RFC 3875
+(http://www.ietf.org/rfc/rfc3875). Also see the explanatory note sent
+to the `gawk' bug mailing list
+(http://lists.gnu.org/archive/html/bug-gawk/2014-11/msg00022.html).
+
+ (2) Not recommended.

File: gawk.info, Node: Other Arguments, Next: Naming Standard Input, Prev: Options, Up: Invoking Gawk
@@ -4990,7 +4995,7 @@ which usually prints:
on an incorrect implementation of `awk', while `gawk' prints the full
first line of the file, something like:
- root:nSijPlPhZZwgE:0:0:Root:/:
+ root:x:0:0:Root:/:
---------- Footnotes ----------
@@ -5243,7 +5248,7 @@ being used.
NOTE: Some programs export CSV data that contains embedded
newlines between the double quotes. `gawk' provides no way to
- deal with this. Because no formal specification for CSV data
+ deal with this. Even though a formal specification for CSV data
exists, there isn't much more to be done; the `FPAT' mechanism
provides an elegant solution for the majority of cases, and the
`gawk' developers are satisfied with that.
@@ -5810,7 +5815,7 @@ in mind:
* Using `FILENAME' with `getline' (`getline < FILENAME') is likely
to be a source for confusion. `awk' opens a separate input stream
from the current input file. However, by not using a variable,
- `$0' and `NR' are still updated. If you're doing this, it's
+ `$0' and `NF' are still updated. If you're doing this, it's
probably by accident, and you should reconsider what it is you're
trying to accomplish.
@@ -5929,7 +5934,7 @@ input to arrive:
PROCINFO[Service, "READ_TIMEOUT"] = 1000
while ((Service |& getline) > 0) {
print $0
- PROCINFO[S, "READ_TIMEOUT"] -= 100
+ PROCINFO[Service, "READ_TIMEOUT"] -= 100
}
NOTE: You should not assume that the read operation will block
@@ -15869,7 +15874,7 @@ Login shell
A few lines representative of `pwcat''s output are as follows:
$ pwcat
- -| root:3Ov02d5VaUPB6:0:1:Operator:/:/bin/sh
+ -| root:x:0:1:Operator:/:/bin/sh
-| nobody:*:65534:65534::/:
-| daemon:*:1:1::/:
-| sys:*:2:2::/:/bin/csh
@@ -26009,7 +26014,7 @@ provides a number of `gawk' extensions, including one for processing
XML files. This is the evolution of the original `xgawk' (XML `gawk')
project.
- As of this writing, there are five extensions:
+ As of this writing, there are six extensions:
* GD graphics library extension
@@ -26020,6 +26025,8 @@ project.
* MPFR library extension (this provides access to a number of MPFR
functions which `gawk''s native MPFR support does not)
+ * Redis extension
+
* XML parser extension, using the Expat
(http://expat.sourceforge.net) XML parsing library
@@ -29547,6 +29554,11 @@ Action
pattern matches an input record, `awk' executes the rule's action.
Actions are always enclosed in braces. (*Note Action Overview::.)
+Ada
+ A programming language originally defined by the U.S. Department of
+ Defense for embedded programming. It was designed to enforce good
+ Software Engineering practices.
+
Amazing `awk' Assembler
Henry Spencer at the University of Toronto wrote a retargetable
assembler completely as `sed' and `awk' scripts. It is thousands
@@ -29555,11 +29567,6 @@ Amazing `awk' Assembler
been better written in another language. You can get it from
`http://awk.info/?awk100/aaa'.
-Ada
- A programming language originally defined by the U.S. Department of
- Defense for embedded programming. It was designed to enforce good
- Software Engineering practices.
-
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'
@@ -31662,7 +31669,7 @@ Index
* actions, control statements in: Statements. (line 6)
* actions, default: Very Simple. (line 34)
* actions, empty: Very Simple. (line 39)
-* Ada programming language: Glossary. (line 19)
+* Ada programming language: Glossary. (line 11)
* adding, features to gawk: Adding Code. (line 6)
* adding, fields: Changing Fields. (line 53)
* advanced features, fixed-width data: Constant Size. (line 6)
@@ -31680,7 +31687,7 @@ Index
* algorithms: Basic High Level. (line 68)
* allocating memory for extensions: Memory Allocation Functions.
(line 6)
-* amazing awk assembler (aaa): Glossary. (line 11)
+* amazing awk assembler (aaa): Glossary. (line 16)
* amazingly workable formatter (awf): Glossary. (line 24)
* ambiguity, syntactic: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 148)
@@ -32611,7 +32618,7 @@ Index
(line 99)
* exp: Numeric Functions. (line 33)
* expand utility: Very Simple. (line 72)
-* Expat XML parser library: gawkextlib. (line 31)
+* Expat XML parser library: gawkextlib. (line 33)
* exponent: Numeric Functions. (line 33)
* expressions: Expressions. (line 6)
* expressions, as patterns: Expression Patterns. (line 6)
@@ -33031,7 +33038,7 @@ Index
* git utility <2>: Accessing The Source.
(line 10)
* git utility <3>: Other Versions. (line 29)
-* git utility: gawkextlib. (line 25)
+* git utility: gawkextlib. (line 27)
* Git, use of for gawk source code: Derived Files. (line 6)
* GNITS mailing list: Acknowledgments. (line 52)
* GNU awk, See gawk: Preface. (line 51)
@@ -33737,7 +33744,7 @@ Index
* programming conventions, private variable names: Library Names.
(line 23)
* programming language, recipe for: History. (line 6)
-* programming languages, Ada: Glossary. (line 19)
+* programming languages, Ada: Glossary. (line 11)
* programming languages, data-driven vs. procedural: Getting Started.
(line 12)
* programming languages, Java: Glossary. (line 379)
@@ -33942,7 +33949,7 @@ Index
* search paths, for source files: AWKPATH Variable. (line 6)
* searching, files for regular expressions: Egrep Program. (line 6)
* searching, for words: Dupword Program. (line 6)
-* sed utility <1>: Glossary. (line 11)
+* sed utility <1>: Glossary. (line 16)
* sed utility <2>: Simple Sed. (line 6)
* sed utility: Full Line Fields. (line 22)
* seeding random number generator: Numeric Functions. (line 78)
@@ -34086,7 +34093,7 @@ Index
* source code, Solaris awk: Other Versions. (line 100)
* source files, search path for: Programs Exercises. (line 70)
* sparse arrays: Array Intro. (line 72)
-* Spencer, Henry: Glossary. (line 11)
+* Spencer, Henry: Glossary. (line 16)
* split: String Functions. (line 316)
* split string into array: String Functions. (line 297)
* split utility: Split Program. (line 6)
@@ -34460,542 +34467,543 @@ Ref: Manual History-Footnote-166946
Ref: Manual History-Footnote-266987
Node: How To Contribute67061
Node: Acknowledgments68190
-Node: Getting Started72994
-Node: Running gawk75427
-Node: One-shot76617
-Node: Read Terminal77865
-Node: Long79892
-Node: Executable Scripts81408
-Ref: Executable Scripts-Footnote-184197
-Node: Comments84300
-Node: Quoting86782
-Node: DOS Quoting92306
-Node: Sample Data Files92981
-Node: Very Simple95576
-Node: Two Rules100474
-Node: More Complex102360
-Node: Statements/Lines105222
-Ref: Statements/Lines-Footnote-1109677
-Node: Other Features109942
-Node: When110873
-Ref: When-Footnote-1112627
-Node: Intro Summary112692
-Node: Invoking Gawk113575
-Node: Command Line115089
-Node: Options115887
-Ref: Options-Footnote-1131689
-Node: Other Arguments131714
-Node: Naming Standard Input134662
-Node: Environment Variables135755
-Node: AWKPATH Variable136313
-Ref: AWKPATH Variable-Footnote-1139726
-Ref: AWKPATH Variable-Footnote-2139771
-Node: AWKLIBPATH Variable140031
-Node: Other Environment Variables141287
-Node: Exit Status144775
-Node: Include Files145451
-Node: Loading Shared Libraries149048
-Node: Obsolete150475
-Node: Undocumented151172
-Node: Invoking Summary151439
-Node: Regexp153103
-Node: Regexp Usage154557
-Node: Escape Sequences156594
-Node: Regexp Operators162835
-Ref: Regexp Operators-Footnote-1170261
-Ref: Regexp Operators-Footnote-2170408
-Node: Bracket Expressions170506
-Ref: table-char-classes172521
-Node: Leftmost Longest175445
-Node: Computed Regexps176747
-Node: GNU Regexp Operators180144
-Node: Case-sensitivity183817
-Ref: Case-sensitivity-Footnote-1186702
-Ref: Case-sensitivity-Footnote-2186937
-Node: Regexp Summary187045
-Node: Reading Files188512
-Node: Records190606
-Node: awk split records191339
-Node: gawk split records196254
-Ref: gawk split records-Footnote-1200794
-Node: Fields200831
-Ref: Fields-Footnote-1203607
-Node: Nonconstant Fields203693
-Ref: Nonconstant Fields-Footnote-1205936
-Node: Changing Fields206140
-Node: Field Separators212069
-Node: Default Field Splitting214774
-Node: Regexp Field Splitting215891
-Node: Single Character Fields219241
-Node: Command Line Field Separator220300
-Node: Full Line Fields223512
-Ref: Full Line Fields-Footnote-1225041
-Ref: Full Line Fields-Footnote-2225087
-Node: Field Splitting Summary225188
-Node: Constant Size227262
-Node: Splitting By Content231851
-Ref: Splitting By Content-Footnote-1235842
-Node: Multiple Line236005
-Ref: Multiple Line-Footnote-1241891
-Node: Getline242070
-Node: Plain Getline244282
-Node: Getline/Variable246922
-Node: Getline/File248070
-Node: Getline/Variable/File249454
-Ref: Getline/Variable/File-Footnote-1251057
-Node: Getline/Pipe251144
-Node: Getline/Variable/Pipe253827
-Node: Getline/Coprocess254958
-Node: Getline/Variable/Coprocess256210
-Node: Getline Notes256949
-Node: Getline Summary259741
-Ref: table-getline-variants260153
-Node: Read Timeout260982
-Ref: Read Timeout-Footnote-1264801
-Node: Command-line directories264859
-Node: Input Summary265764
-Node: Input Exercises269017
-Node: Printing269745
-Node: Print271522
-Node: Print Examples272979
-Node: Output Separators275758
-Node: OFMT277776
-Node: Printf279130
-Node: Basic Printf279915
-Node: Control Letters281484
-Node: Format Modifiers285468
-Node: Printf Examples291469
-Node: Redirection293955
-Node: Special FD300796
-Ref: Special FD-Footnote-1303956
-Node: Special Files304030
-Node: Other Inherited Files304647
-Node: Special Network305647
-Node: Special Caveats306509
-Node: Close Files And Pipes307460
-Ref: Close Files And Pipes-Footnote-1314642
-Ref: Close Files And Pipes-Footnote-2314790
-Node: Output Summary314940
-Node: Output Exercises315938
-Node: Expressions316618
-Node: Values317803
-Node: Constants318481
-Node: Scalar Constants319172
-Ref: Scalar Constants-Footnote-1320031
-Node: Nondecimal-numbers320281
-Node: Regexp Constants323299
-Node: Using Constant Regexps323824
-Node: Variables326967
-Node: Using Variables327622
-Node: Assignment Options329533
-Node: Conversion331408
-Node: Strings And Numbers331932
-Ref: Strings And Numbers-Footnote-1334997
-Node: Locale influences conversions335106
-Ref: table-locale-affects337853
-Node: All Operators338441
-Node: Arithmetic Ops339071
-Node: Concatenation341576
-Ref: Concatenation-Footnote-1344395
-Node: Assignment Ops344501
-Ref: table-assign-ops349480
-Node: Increment Ops350752
-Node: Truth Values and Conditions354190
-Node: Truth Values355275
-Node: Typing and Comparison356324
-Node: Variable Typing357134
-Node: Comparison Operators360787
-Ref: table-relational-ops361197
-Node: POSIX String Comparison364692
-Ref: POSIX String Comparison-Footnote-1365764
-Node: Boolean Ops365902
-Ref: Boolean Ops-Footnote-1370381
-Node: Conditional Exp370472
-Node: Function Calls372199
-Node: Precedence376079
-Node: Locales379740
-Node: Expressions Summary381372
-Node: Patterns and Actions383932
-Node: Pattern Overview385052
-Node: Regexp Patterns386731
-Node: Expression Patterns387274
-Node: Ranges391055
-Node: BEGIN/END394161
-Node: Using BEGIN/END394922
-Ref: Using BEGIN/END-Footnote-1397656
-Node: I/O And BEGIN/END397762
-Node: BEGINFILE/ENDFILE400076
-Node: Empty402977
-Node: Using Shell Variables403294
-Node: Action Overview405567
-Node: Statements407893
-Node: If Statement409741
-Node: While Statement411236
-Node: Do Statement413265
-Node: For Statement414409
-Node: Switch Statement417566
-Node: Break Statement419948
-Node: Continue Statement421989
-Node: Next Statement423816
-Node: Nextfile Statement426197
-Node: Exit Statement428827
-Node: Built-in Variables431230
-Node: User-modified432363
-Ref: User-modified-Footnote-1440044
-Node: Auto-set440106
-Ref: Auto-set-Footnote-1453798
-Ref: Auto-set-Footnote-2454003
-Node: ARGC and ARGV454059
-Node: Pattern Action Summary458277
-Node: Arrays460704
-Node: Array Basics462033
-Node: Array Intro462877
-Ref: figure-array-elements464841
-Ref: Array Intro-Footnote-1467367
-Node: Reference to Elements467495
-Node: Assigning Elements469947
-Node: Array Example470438
-Node: Scanning an Array472196
-Node: Controlling Scanning475212
-Ref: Controlling Scanning-Footnote-1480408
-Node: Numeric Array Subscripts480724
-Node: Uninitialized Subscripts482909
-Node: Delete484526
-Ref: Delete-Footnote-1487269
-Node: Multidimensional487326
-Node: Multiscanning490423
-Node: Arrays of Arrays492012
-Node: Arrays Summary496771
-Node: Functions498863
-Node: Built-in499736
-Node: Calling Built-in500814
-Node: Numeric Functions502805
-Ref: Numeric Functions-Footnote-1507624
-Ref: Numeric Functions-Footnote-2507981
-Ref: Numeric Functions-Footnote-3508029
-Node: String Functions508301
-Ref: String Functions-Footnote-1531776
-Ref: String Functions-Footnote-2531905
-Ref: String Functions-Footnote-3532153
-Node: Gory Details532240
-Ref: table-sub-escapes534021
-Ref: table-sub-proposed535541
-Ref: table-posix-sub536905
-Ref: table-gensub-escapes538441
-Ref: Gory Details-Footnote-1539273
-Node: I/O Functions539424
-Ref: I/O Functions-Footnote-1546642
-Node: Time Functions546789
-Ref: Time Functions-Footnote-1557277
-Ref: Time Functions-Footnote-2557345
-Ref: Time Functions-Footnote-3557503
-Ref: Time Functions-Footnote-4557614
-Ref: Time Functions-Footnote-5557726
-Ref: Time Functions-Footnote-6557953
-Node: Bitwise Functions558219
-Ref: table-bitwise-ops558781
-Ref: Bitwise Functions-Footnote-1563090
-Node: Type Functions563259
-Node: I18N Functions564410
-Node: User-defined566055
-Node: Definition Syntax566860
-Ref: Definition Syntax-Footnote-1572267
-Node: Function Example572338
-Ref: Function Example-Footnote-1575257
-Node: Function Caveats575279
-Node: Calling A Function575797
-Node: Variable Scope576755
-Node: Pass By Value/Reference579743
-Node: Return Statement583238
-Node: Dynamic Typing586219
-Node: Indirect Calls587148
-Ref: Indirect Calls-Footnote-1598450
-Node: Functions Summary598578
-Node: Library Functions601280
-Ref: Library Functions-Footnote-1604889
-Ref: Library Functions-Footnote-2605032
-Node: Library Names605203
-Ref: Library Names-Footnote-1608657
-Ref: Library Names-Footnote-2608880
-Node: General Functions608966
-Node: Strtonum Function610069
-Node: Assert Function613091
-Node: Round Function616415
-Node: Cliff Random Function617956
-Node: Ordinal Functions618972
-Ref: Ordinal Functions-Footnote-1622035
-Ref: Ordinal Functions-Footnote-2622287
-Node: Join Function622498
-Ref: Join Function-Footnote-1624267
-Node: Getlocaltime Function624467
-Node: Readfile Function628211
-Node: Shell Quoting630181
-Node: Data File Management631582
-Node: Filetrans Function632214
-Node: Rewind Function636270
-Node: File Checking637657
-Ref: File Checking-Footnote-1638989
-Node: Empty Files639190
-Node: Ignoring Assigns641169
-Node: Getopt Function642720
-Ref: Getopt Function-Footnote-1654182
-Node: Passwd Functions654382
-Ref: Passwd Functions-Footnote-1663231
-Node: Group Functions663319
-Ref: Group Functions-Footnote-1671213
-Node: Walking Arrays671426
-Node: Library Functions Summary673029
-Node: Library Exercises674430
-Node: Sample Programs675710
-Node: Running Examples676480
-Node: Clones677208
-Node: Cut Program678432
-Node: Egrep Program688151
-Ref: Egrep Program-Footnote-1695649
-Node: Id Program695759
-Node: Split Program699404
-Ref: Split Program-Footnote-1702852
-Node: Tee Program702980
-Node: Uniq Program705769
-Node: Wc Program713188
-Ref: Wc Program-Footnote-1717438
-Node: Miscellaneous Programs717532
-Node: Dupword Program718745
-Node: Alarm Program720776
-Node: Translate Program725580
-Ref: Translate Program-Footnote-1730145
-Node: Labels Program730415
-Ref: Labels Program-Footnote-1733766
-Node: Word Sorting733850
-Node: History Sorting737921
-Node: Extract Program739757
-Node: Simple Sed747282
-Node: Igawk Program750350
-Ref: Igawk Program-Footnote-1764674
-Ref: Igawk Program-Footnote-2764875
-Ref: Igawk Program-Footnote-3764997
-Node: Anagram Program765112
-Node: Signature Program768169
-Node: Programs Summary769416
-Node: Programs Exercises770609
-Ref: Programs Exercises-Footnote-1774740
-Node: Advanced Features774831
-Node: Nondecimal Data776779
-Node: Array Sorting778369
-Node: Controlling Array Traversal779066
-Ref: Controlling Array Traversal-Footnote-1787399
-Node: Array Sorting Functions787517
-Ref: Array Sorting Functions-Footnote-1791406
-Node: Two-way I/O791602
-Ref: Two-way I/O-Footnote-1796543
-Ref: Two-way I/O-Footnote-2796729
-Node: TCP/IP Networking796811
-Node: Profiling799684
-Node: Advanced Features Summary807961
-Node: Internationalization809894
-Node: I18N and L10N811374
-Node: Explaining gettext812060
-Ref: Explaining gettext-Footnote-1817085
-Ref: Explaining gettext-Footnote-2817269
-Node: Programmer i18n817434
-Ref: Programmer i18n-Footnote-1822300
-Node: Translator i18n822349
-Node: String Extraction823143
-Ref: String Extraction-Footnote-1824274
-Node: Printf Ordering824360
-Ref: Printf Ordering-Footnote-1827146
-Node: I18N Portability827210
-Ref: I18N Portability-Footnote-1829665
-Node: I18N Example829728
-Ref: I18N Example-Footnote-1832531
-Node: Gawk I18N832603
-Node: I18N Summary833241
-Node: Debugger834580
-Node: Debugging835602
-Node: Debugging Concepts836043
-Node: Debugging Terms837896
-Node: Awk Debugging840468
-Node: Sample Debugging Session841362
-Node: Debugger Invocation841882
-Node: Finding The Bug843266
-Node: List of Debugger Commands849741
-Node: Breakpoint Control851074
-Node: Debugger Execution Control854770
-Node: Viewing And Changing Data858134
-Node: Execution Stack861512
-Node: Debugger Info863149
-Node: Miscellaneous Debugger Commands867166
-Node: Readline Support872195
-Node: Limitations873087
-Node: Debugging Summary875201
-Node: Arbitrary Precision Arithmetic876369
-Node: Computer Arithmetic877785
-Ref: table-numeric-ranges881383
-Ref: Computer Arithmetic-Footnote-1882242
-Node: Math Definitions882299
-Ref: table-ieee-formats885587
-Ref: Math Definitions-Footnote-1886191
-Node: MPFR features886296
-Node: FP Math Caution887967
-Ref: FP Math Caution-Footnote-1889017
-Node: Inexactness of computations889386
-Node: Inexact representation890345
-Node: Comparing FP Values891702
-Node: Errors accumulate892784
-Node: Getting Accuracy894217
-Node: Try To Round896879
-Node: Setting precision897778
-Ref: table-predefined-precision-strings898462
-Node: Setting the rounding mode900251
-Ref: table-gawk-rounding-modes900615
-Ref: Setting the rounding mode-Footnote-1904070
-Node: Arbitrary Precision Integers904249
-Ref: Arbitrary Precision Integers-Footnote-1909148
-Node: POSIX Floating Point Problems909297
-Ref: POSIX Floating Point Problems-Footnote-1913170
-Node: Floating point summary913208
-Node: Dynamic Extensions915402
-Node: Extension Intro916954
-Node: Plugin License918220
-Node: Extension Mechanism Outline919017
-Ref: figure-load-extension919445
-Ref: figure-register-new-function920925
-Ref: figure-call-new-function921929
-Node: Extension API Description923915
-Node: Extension API Functions Introduction925365
-Node: General Data Types930189
-Ref: General Data Types-Footnote-1935928
-Node: Memory Allocation Functions936227
-Ref: Memory Allocation Functions-Footnote-1939066
-Node: Constructor Functions939162
-Node: Registration Functions940896
-Node: Extension Functions941581
-Node: Exit Callback Functions943878
-Node: Extension Version String945126
-Node: Input Parsers945791
-Node: Output Wrappers955668
-Node: Two-way processors960183
-Node: Printing Messages962387
-Ref: Printing Messages-Footnote-1963463
-Node: Updating `ERRNO'963615
-Node: Requesting Values964355
-Ref: table-value-types-returned965083
-Node: Accessing Parameters966040
-Node: Symbol Table Access967271
-Node: Symbol table by name967785
-Node: Symbol table by cookie969766
-Ref: Symbol table by cookie-Footnote-1973910
-Node: Cached values973973
-Ref: Cached values-Footnote-1977472
-Node: Array Manipulation977563
-Ref: Array Manipulation-Footnote-1978661
-Node: Array Data Types978698
-Ref: Array Data Types-Footnote-1981353
-Node: Array Functions981445
-Node: Flattening Arrays985299
-Node: Creating Arrays992191
-Node: Extension API Variables996960
-Node: Extension Versioning997596
-Node: Extension API Informational Variables999497
-Node: Extension API Boilerplate1000585
-Node: Finding Extensions1004394
-Node: Extension Example1004954
-Node: Internal File Description1005726
-Node: Internal File Ops1009793
-Ref: Internal File Ops-Footnote-11021463
-Node: Using Internal File Ops1021603
-Ref: Using Internal File Ops-Footnote-11023986
-Node: Extension Samples1024259
-Node: Extension Sample File Functions1025785
-Node: Extension Sample Fnmatch1033423
-Node: Extension Sample Fork1034914
-Node: Extension Sample Inplace1036129
-Node: Extension Sample Ord1037804
-Node: Extension Sample Readdir1038640
-Ref: table-readdir-file-types1039516
-Node: Extension Sample Revout1040327
-Node: Extension Sample Rev2way1040917
-Node: Extension Sample Read write array1041657
-Node: Extension Sample Readfile1043597
-Node: Extension Sample Time1044692
-Node: Extension Sample API Tests1046041
-Node: gawkextlib1046532
-Node: Extension summary1049169
-Node: Extension Exercises1052846
-Node: Language History1053568
-Node: V7/SVR3.11055224
-Node: SVR41057405
-Node: POSIX1058850
-Node: BTL1060239
-Node: POSIX/GNU1060973
-Node: Feature History1066597
-Node: Common Extensions1079695
-Node: Ranges and Locales1081019
-Ref: Ranges and Locales-Footnote-11085637
-Ref: Ranges and Locales-Footnote-21085664
-Ref: Ranges and Locales-Footnote-31085898
-Node: Contributors1086119
-Node: History summary1091660
-Node: Installation1093030
-Node: Gawk Distribution1093976
-Node: Getting1094460
-Node: Extracting1095283
-Node: Distribution contents1096918
-Node: Unix Installation1102983
-Node: Quick Installation1103666
-Node: Shell Startup Files1106077
-Node: Additional Configuration Options1107156
-Node: Configuration Philosophy1108895
-Node: Non-Unix Installation1111264
-Node: PC Installation1111722
-Node: PC Binary Installation1113041
-Node: PC Compiling1114889
-Ref: PC Compiling-Footnote-11117910
-Node: PC Testing1118019
-Node: PC Using1119195
-Node: Cygwin1123310
-Node: MSYS1124133
-Node: VMS Installation1124633
-Node: VMS Compilation1125425
-Ref: VMS Compilation-Footnote-11126647
-Node: VMS Dynamic Extensions1126705
-Node: VMS Installation Details1128389
-Node: VMS Running1130641
-Node: VMS GNV1133477
-Node: VMS Old Gawk1134211
-Node: Bugs1134681
-Node: Other Versions1138564
-Node: Installation summary1144986
-Node: Notes1146042
-Node: Compatibility Mode1146907
-Node: Additions1147689
-Node: Accessing The Source1148614
-Node: Adding Code1150050
-Node: New Ports1156215
-Node: Derived Files1160697
-Ref: Derived Files-Footnote-11166172
-Ref: Derived Files-Footnote-21166206
-Ref: Derived Files-Footnote-31166802
-Node: Future Extensions1166916
-Node: Implementation Limitations1167522
-Node: Extension Design1168770
-Node: Old Extension Problems1169924
-Ref: Old Extension Problems-Footnote-11171441
-Node: Extension New Mechanism Goals1171498
-Ref: Extension New Mechanism Goals-Footnote-11174858
-Node: Extension Other Design Decisions1175047
-Node: Extension Future Growth1177155
-Node: Old Extension Mechanism1177991
-Node: Notes summary1179753
-Node: Basic Concepts1180939
-Node: Basic High Level1181620
-Ref: figure-general-flow1181892
-Ref: figure-process-flow1182491
-Ref: Basic High Level-Footnote-11185720
-Node: Basic Data Typing1185905
-Node: Glossary1189233
-Node: Copying1214391
-Node: GNU Free Documentation License1251947
-Node: Index1277083
+Node: Getting Started72995
+Node: Running gawk75428
+Node: One-shot76618
+Node: Read Terminal77866
+Node: Long79893
+Node: Executable Scripts81409
+Ref: Executable Scripts-Footnote-184198
+Node: Comments84301
+Node: Quoting86783
+Node: DOS Quoting92307
+Node: Sample Data Files92982
+Node: Very Simple95577
+Node: Two Rules100475
+Node: More Complex102361
+Node: Statements/Lines105223
+Ref: Statements/Lines-Footnote-1109678
+Node: Other Features109943
+Node: When110874
+Ref: When-Footnote-1112628
+Node: Intro Summary112693
+Node: Invoking Gawk113576
+Node: Command Line115090
+Node: Options115888
+Ref: Options-Footnote-1131692
+Ref: Options-Footnote-2131921
+Node: Other Arguments131946
+Node: Naming Standard Input134894
+Node: Environment Variables135987
+Node: AWKPATH Variable136545
+Ref: AWKPATH Variable-Footnote-1139958
+Ref: AWKPATH Variable-Footnote-2140003
+Node: AWKLIBPATH Variable140263
+Node: Other Environment Variables141519
+Node: Exit Status145007
+Node: Include Files145683
+Node: Loading Shared Libraries149280
+Node: Obsolete150707
+Node: Undocumented151404
+Node: Invoking Summary151671
+Node: Regexp153335
+Node: Regexp Usage154789
+Node: Escape Sequences156826
+Node: Regexp Operators163067
+Ref: Regexp Operators-Footnote-1170493
+Ref: Regexp Operators-Footnote-2170640
+Node: Bracket Expressions170738
+Ref: table-char-classes172753
+Node: Leftmost Longest175677
+Node: Computed Regexps176979
+Node: GNU Regexp Operators180376
+Node: Case-sensitivity184049
+Ref: Case-sensitivity-Footnote-1186934
+Ref: Case-sensitivity-Footnote-2187169
+Node: Regexp Summary187277
+Node: Reading Files188744
+Node: Records190838
+Node: awk split records191571
+Node: gawk split records196486
+Ref: gawk split records-Footnote-1201026
+Node: Fields201063
+Ref: Fields-Footnote-1203839
+Node: Nonconstant Fields203925
+Ref: Nonconstant Fields-Footnote-1206168
+Node: Changing Fields206372
+Node: Field Separators212301
+Node: Default Field Splitting215006
+Node: Regexp Field Splitting216123
+Node: Single Character Fields219473
+Node: Command Line Field Separator220532
+Node: Full Line Fields223744
+Ref: Full Line Fields-Footnote-1225261
+Ref: Full Line Fields-Footnote-2225307
+Node: Field Splitting Summary225408
+Node: Constant Size227482
+Node: Splitting By Content232071
+Ref: Splitting By Content-Footnote-1236065
+Node: Multiple Line236228
+Ref: Multiple Line-Footnote-1242114
+Node: Getline242293
+Node: Plain Getline244505
+Node: Getline/Variable247145
+Node: Getline/File248293
+Node: Getline/Variable/File249677
+Ref: Getline/Variable/File-Footnote-1251280
+Node: Getline/Pipe251367
+Node: Getline/Variable/Pipe254050
+Node: Getline/Coprocess255181
+Node: Getline/Variable/Coprocess256433
+Node: Getline Notes257172
+Node: Getline Summary259964
+Ref: table-getline-variants260376
+Node: Read Timeout261205
+Ref: Read Timeout-Footnote-1265030
+Node: Command-line directories265088
+Node: Input Summary265993
+Node: Input Exercises269246
+Node: Printing269974
+Node: Print271751
+Node: Print Examples273208
+Node: Output Separators275987
+Node: OFMT278005
+Node: Printf279359
+Node: Basic Printf280144
+Node: Control Letters281713
+Node: Format Modifiers285697
+Node: Printf Examples291698
+Node: Redirection294184
+Node: Special FD301025
+Ref: Special FD-Footnote-1304185
+Node: Special Files304259
+Node: Other Inherited Files304876
+Node: Special Network305876
+Node: Special Caveats306738
+Node: Close Files And Pipes307689
+Ref: Close Files And Pipes-Footnote-1314871
+Ref: Close Files And Pipes-Footnote-2315019
+Node: Output Summary315169
+Node: Output Exercises316167
+Node: Expressions316847
+Node: Values318032
+Node: Constants318710
+Node: Scalar Constants319401
+Ref: Scalar Constants-Footnote-1320260
+Node: Nondecimal-numbers320510
+Node: Regexp Constants323528
+Node: Using Constant Regexps324053
+Node: Variables327196
+Node: Using Variables327851
+Node: Assignment Options329762
+Node: Conversion331637
+Node: Strings And Numbers332161
+Ref: Strings And Numbers-Footnote-1335226
+Node: Locale influences conversions335335
+Ref: table-locale-affects338082
+Node: All Operators338670
+Node: Arithmetic Ops339300
+Node: Concatenation341805
+Ref: Concatenation-Footnote-1344624
+Node: Assignment Ops344730
+Ref: table-assign-ops349709
+Node: Increment Ops350981
+Node: Truth Values and Conditions354419
+Node: Truth Values355504
+Node: Typing and Comparison356553
+Node: Variable Typing357363
+Node: Comparison Operators361016
+Ref: table-relational-ops361426
+Node: POSIX String Comparison364921
+Ref: POSIX String Comparison-Footnote-1365993
+Node: Boolean Ops366131
+Ref: Boolean Ops-Footnote-1370610
+Node: Conditional Exp370701
+Node: Function Calls372428
+Node: Precedence376308
+Node: Locales379969
+Node: Expressions Summary381601
+Node: Patterns and Actions384161
+Node: Pattern Overview385281
+Node: Regexp Patterns386960
+Node: Expression Patterns387503
+Node: Ranges391284
+Node: BEGIN/END394390
+Node: Using BEGIN/END395151
+Ref: Using BEGIN/END-Footnote-1397885
+Node: I/O And BEGIN/END397991
+Node: BEGINFILE/ENDFILE400305
+Node: Empty403206
+Node: Using Shell Variables403523
+Node: Action Overview405796
+Node: Statements408122
+Node: If Statement409970
+Node: While Statement411465
+Node: Do Statement413494
+Node: For Statement414638
+Node: Switch Statement417795
+Node: Break Statement420177
+Node: Continue Statement422218
+Node: Next Statement424045
+Node: Nextfile Statement426426
+Node: Exit Statement429056
+Node: Built-in Variables431459
+Node: User-modified432592
+Ref: User-modified-Footnote-1440273
+Node: Auto-set440335
+Ref: Auto-set-Footnote-1454027
+Ref: Auto-set-Footnote-2454232
+Node: ARGC and ARGV454288
+Node: Pattern Action Summary458506
+Node: Arrays460933
+Node: Array Basics462262
+Node: Array Intro463106
+Ref: figure-array-elements465070
+Ref: Array Intro-Footnote-1467596
+Node: Reference to Elements467724
+Node: Assigning Elements470176
+Node: Array Example470667
+Node: Scanning an Array472425
+Node: Controlling Scanning475441
+Ref: Controlling Scanning-Footnote-1480637
+Node: Numeric Array Subscripts480953
+Node: Uninitialized Subscripts483138
+Node: Delete484755
+Ref: Delete-Footnote-1487498
+Node: Multidimensional487555
+Node: Multiscanning490652
+Node: Arrays of Arrays492241
+Node: Arrays Summary497000
+Node: Functions499092
+Node: Built-in499965
+Node: Calling Built-in501043
+Node: Numeric Functions503034
+Ref: Numeric Functions-Footnote-1507853
+Ref: Numeric Functions-Footnote-2508210
+Ref: Numeric Functions-Footnote-3508258
+Node: String Functions508530
+Ref: String Functions-Footnote-1532005
+Ref: String Functions-Footnote-2532134
+Ref: String Functions-Footnote-3532382
+Node: Gory Details532469
+Ref: table-sub-escapes534250
+Ref: table-sub-proposed535770
+Ref: table-posix-sub537134
+Ref: table-gensub-escapes538670
+Ref: Gory Details-Footnote-1539502
+Node: I/O Functions539653
+Ref: I/O Functions-Footnote-1546871
+Node: Time Functions547018
+Ref: Time Functions-Footnote-1557506
+Ref: Time Functions-Footnote-2557574
+Ref: Time Functions-Footnote-3557732
+Ref: Time Functions-Footnote-4557843
+Ref: Time Functions-Footnote-5557955
+Ref: Time Functions-Footnote-6558182
+Node: Bitwise Functions558448
+Ref: table-bitwise-ops559010
+Ref: Bitwise Functions-Footnote-1563319
+Node: Type Functions563488
+Node: I18N Functions564639
+Node: User-defined566284
+Node: Definition Syntax567089
+Ref: Definition Syntax-Footnote-1572496
+Node: Function Example572567
+Ref: Function Example-Footnote-1575486
+Node: Function Caveats575508
+Node: Calling A Function576026
+Node: Variable Scope576984
+Node: Pass By Value/Reference579972
+Node: Return Statement583467
+Node: Dynamic Typing586448
+Node: Indirect Calls587377
+Ref: Indirect Calls-Footnote-1598679
+Node: Functions Summary598807
+Node: Library Functions601509
+Ref: Library Functions-Footnote-1605118
+Ref: Library Functions-Footnote-2605261
+Node: Library Names605432
+Ref: Library Names-Footnote-1608886
+Ref: Library Names-Footnote-2609109
+Node: General Functions609195
+Node: Strtonum Function610298
+Node: Assert Function613320
+Node: Round Function616644
+Node: Cliff Random Function618185
+Node: Ordinal Functions619201
+Ref: Ordinal Functions-Footnote-1622264
+Ref: Ordinal Functions-Footnote-2622516
+Node: Join Function622727
+Ref: Join Function-Footnote-1624496
+Node: Getlocaltime Function624696
+Node: Readfile Function628440
+Node: Shell Quoting630410
+Node: Data File Management631811
+Node: Filetrans Function632443
+Node: Rewind Function636499
+Node: File Checking637886
+Ref: File Checking-Footnote-1639218
+Node: Empty Files639419
+Node: Ignoring Assigns641398
+Node: Getopt Function642949
+Ref: Getopt Function-Footnote-1654411
+Node: Passwd Functions654611
+Ref: Passwd Functions-Footnote-1663448
+Node: Group Functions663536
+Ref: Group Functions-Footnote-1671430
+Node: Walking Arrays671643
+Node: Library Functions Summary673246
+Node: Library Exercises674647
+Node: Sample Programs675927
+Node: Running Examples676697
+Node: Clones677425
+Node: Cut Program678649
+Node: Egrep Program688368
+Ref: Egrep Program-Footnote-1695866
+Node: Id Program695976
+Node: Split Program699621
+Ref: Split Program-Footnote-1703069
+Node: Tee Program703197
+Node: Uniq Program705986
+Node: Wc Program713405
+Ref: Wc Program-Footnote-1717655
+Node: Miscellaneous Programs717749
+Node: Dupword Program718962
+Node: Alarm Program720993
+Node: Translate Program725797
+Ref: Translate Program-Footnote-1730362
+Node: Labels Program730632
+Ref: Labels Program-Footnote-1733983
+Node: Word Sorting734067
+Node: History Sorting738138
+Node: Extract Program739974
+Node: Simple Sed747499
+Node: Igawk Program750567
+Ref: Igawk Program-Footnote-1764891
+Ref: Igawk Program-Footnote-2765092
+Ref: Igawk Program-Footnote-3765214
+Node: Anagram Program765329
+Node: Signature Program768386
+Node: Programs Summary769633
+Node: Programs Exercises770826
+Ref: Programs Exercises-Footnote-1774957
+Node: Advanced Features775048
+Node: Nondecimal Data776996
+Node: Array Sorting778586
+Node: Controlling Array Traversal779283
+Ref: Controlling Array Traversal-Footnote-1787616
+Node: Array Sorting Functions787734
+Ref: Array Sorting Functions-Footnote-1791623
+Node: Two-way I/O791819
+Ref: Two-way I/O-Footnote-1796760
+Ref: Two-way I/O-Footnote-2796946
+Node: TCP/IP Networking797028
+Node: Profiling799901
+Node: Advanced Features Summary808178
+Node: Internationalization810111
+Node: I18N and L10N811591
+Node: Explaining gettext812277
+Ref: Explaining gettext-Footnote-1817302
+Ref: Explaining gettext-Footnote-2817486
+Node: Programmer i18n817651
+Ref: Programmer i18n-Footnote-1822517
+Node: Translator i18n822566
+Node: String Extraction823360
+Ref: String Extraction-Footnote-1824491
+Node: Printf Ordering824577
+Ref: Printf Ordering-Footnote-1827363
+Node: I18N Portability827427
+Ref: I18N Portability-Footnote-1829882
+Node: I18N Example829945
+Ref: I18N Example-Footnote-1832748
+Node: Gawk I18N832820
+Node: I18N Summary833458
+Node: Debugger834797
+Node: Debugging835819
+Node: Debugging Concepts836260
+Node: Debugging Terms838113
+Node: Awk Debugging840685
+Node: Sample Debugging Session841579
+Node: Debugger Invocation842099
+Node: Finding The Bug843483
+Node: List of Debugger Commands849958
+Node: Breakpoint Control851291
+Node: Debugger Execution Control854987
+Node: Viewing And Changing Data858351
+Node: Execution Stack861729
+Node: Debugger Info863366
+Node: Miscellaneous Debugger Commands867383
+Node: Readline Support872412
+Node: Limitations873304
+Node: Debugging Summary875418
+Node: Arbitrary Precision Arithmetic876586
+Node: Computer Arithmetic878002
+Ref: table-numeric-ranges881600
+Ref: Computer Arithmetic-Footnote-1882459
+Node: Math Definitions882516
+Ref: table-ieee-formats885804
+Ref: Math Definitions-Footnote-1886408
+Node: MPFR features886513
+Node: FP Math Caution888184
+Ref: FP Math Caution-Footnote-1889234
+Node: Inexactness of computations889603
+Node: Inexact representation890562
+Node: Comparing FP Values891919
+Node: Errors accumulate893001
+Node: Getting Accuracy894434
+Node: Try To Round897096
+Node: Setting precision897995
+Ref: table-predefined-precision-strings898679
+Node: Setting the rounding mode900468
+Ref: table-gawk-rounding-modes900832
+Ref: Setting the rounding mode-Footnote-1904287
+Node: Arbitrary Precision Integers904466
+Ref: Arbitrary Precision Integers-Footnote-1909365
+Node: POSIX Floating Point Problems909514
+Ref: POSIX Floating Point Problems-Footnote-1913387
+Node: Floating point summary913425
+Node: Dynamic Extensions915619
+Node: Extension Intro917171
+Node: Plugin License918437
+Node: Extension Mechanism Outline919234
+Ref: figure-load-extension919662
+Ref: figure-register-new-function921142
+Ref: figure-call-new-function922146
+Node: Extension API Description924132
+Node: Extension API Functions Introduction925582
+Node: General Data Types930406
+Ref: General Data Types-Footnote-1936145
+Node: Memory Allocation Functions936444
+Ref: Memory Allocation Functions-Footnote-1939283
+Node: Constructor Functions939379
+Node: Registration Functions941113
+Node: Extension Functions941798
+Node: Exit Callback Functions944095
+Node: Extension Version String945343
+Node: Input Parsers946008
+Node: Output Wrappers955885
+Node: Two-way processors960400
+Node: Printing Messages962604
+Ref: Printing Messages-Footnote-1963680
+Node: Updating `ERRNO'963832
+Node: Requesting Values964572
+Ref: table-value-types-returned965300
+Node: Accessing Parameters966257
+Node: Symbol Table Access967488
+Node: Symbol table by name968002
+Node: Symbol table by cookie969983
+Ref: Symbol table by cookie-Footnote-1974127
+Node: Cached values974190
+Ref: Cached values-Footnote-1977689
+Node: Array Manipulation977780
+Ref: Array Manipulation-Footnote-1978878
+Node: Array Data Types978915
+Ref: Array Data Types-Footnote-1981570
+Node: Array Functions981662
+Node: Flattening Arrays985516
+Node: Creating Arrays992408
+Node: Extension API Variables997177
+Node: Extension Versioning997813
+Node: Extension API Informational Variables999714
+Node: Extension API Boilerplate1000802
+Node: Finding Extensions1004611
+Node: Extension Example1005171
+Node: Internal File Description1005943
+Node: Internal File Ops1010010
+Ref: Internal File Ops-Footnote-11021680
+Node: Using Internal File Ops1021820
+Ref: Using Internal File Ops-Footnote-11024203
+Node: Extension Samples1024476
+Node: Extension Sample File Functions1026002
+Node: Extension Sample Fnmatch1033640
+Node: Extension Sample Fork1035131
+Node: Extension Sample Inplace1036346
+Node: Extension Sample Ord1038021
+Node: Extension Sample Readdir1038857
+Ref: table-readdir-file-types1039733
+Node: Extension Sample Revout1040544
+Node: Extension Sample Rev2way1041134
+Node: Extension Sample Read write array1041874
+Node: Extension Sample Readfile1043814
+Node: Extension Sample Time1044909
+Node: Extension Sample API Tests1046258
+Node: gawkextlib1046749
+Node: Extension summary1049407
+Node: Extension Exercises1053084
+Node: Language History1053806
+Node: V7/SVR3.11055462
+Node: SVR41057643
+Node: POSIX1059088
+Node: BTL1060477
+Node: POSIX/GNU1061211
+Node: Feature History1066835
+Node: Common Extensions1079933
+Node: Ranges and Locales1081257
+Ref: Ranges and Locales-Footnote-11085875
+Ref: Ranges and Locales-Footnote-21085902
+Ref: Ranges and Locales-Footnote-31086136
+Node: Contributors1086357
+Node: History summary1091898
+Node: Installation1093268
+Node: Gawk Distribution1094214
+Node: Getting1094698
+Node: Extracting1095521
+Node: Distribution contents1097156
+Node: Unix Installation1103221
+Node: Quick Installation1103904
+Node: Shell Startup Files1106315
+Node: Additional Configuration Options1107394
+Node: Configuration Philosophy1109133
+Node: Non-Unix Installation1111502
+Node: PC Installation1111960
+Node: PC Binary Installation1113279
+Node: PC Compiling1115127
+Ref: PC Compiling-Footnote-11118148
+Node: PC Testing1118257
+Node: PC Using1119433
+Node: Cygwin1123548
+Node: MSYS1124371
+Node: VMS Installation1124871
+Node: VMS Compilation1125663
+Ref: VMS Compilation-Footnote-11126885
+Node: VMS Dynamic Extensions1126943
+Node: VMS Installation Details1128627
+Node: VMS Running1130879
+Node: VMS GNV1133715
+Node: VMS Old Gawk1134449
+Node: Bugs1134919
+Node: Other Versions1138802
+Node: Installation summary1145224
+Node: Notes1146280
+Node: Compatibility Mode1147145
+Node: Additions1147927
+Node: Accessing The Source1148852
+Node: Adding Code1150288
+Node: New Ports1156453
+Node: Derived Files1160935
+Ref: Derived Files-Footnote-11166410
+Ref: Derived Files-Footnote-21166444
+Ref: Derived Files-Footnote-31167040
+Node: Future Extensions1167154
+Node: Implementation Limitations1167760
+Node: Extension Design1169008
+Node: Old Extension Problems1170162
+Ref: Old Extension Problems-Footnote-11171679
+Node: Extension New Mechanism Goals1171736
+Ref: Extension New Mechanism Goals-Footnote-11175096
+Node: Extension Other Design Decisions1175285
+Node: Extension Future Growth1177393
+Node: Old Extension Mechanism1178229
+Node: Notes summary1179991
+Node: Basic Concepts1181177
+Node: Basic High Level1181858
+Ref: figure-general-flow1182130
+Ref: figure-process-flow1182729
+Ref: Basic High Level-Footnote-11185958
+Node: Basic Data Typing1186143
+Node: Glossary1189471
+Node: Copying1214629
+Node: GNU Free Documentation License1252185
+Node: Index1277321

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 7c9beae6..1345d352 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -2234,7 +2234,7 @@ the fourth edition and for his support during the work.
Thanks to Jasmine Kwityn for her copy-editing work.
@end ifset
-Thanks to Michael Brennan for the Foreword.
+Thanks to Michael Brennan for the Forewords.
@cindex Duman, Patrice
@cindex Berry, Karl
@@ -3933,7 +3933,13 @@ Command-line variable assignments of the form
This option is particularly necessary for World Wide Web CGI applications
that pass arguments through the URL; using this option prevents a malicious
(or other) user from passing in options, assignments, or @command{awk} source
-code (via @option{-e}) to the CGI application. This option should be used
+code (via @option{-e}) to the CGI application.@footnote{For more detail,
+please see Section 4.4 of @uref{http://www.ietf.org/rfc/rfc3875,
+RFC 3875}. Also see the
+@uref{http://lists.gnu.org/archive/html/bug-gawk/2014-11/msg00022.html,
+explanatory note sent to the @command{gawk} bug
+mailing list}.}
+This option should be used
with @samp{#!} scripts (@pxref{Executable Scripts}), like so:
@example
@@ -7497,7 +7503,7 @@ on an incorrect implementation of @command{awk}, while @command{gawk}
prints the full first line of the file, something like:
@example
-root:nSijPlPhZZwgE:0:0:Root:/:
+root:x:0:0:Root:/:
@end example
@docbook
@@ -7550,7 +7556,7 @@ on an incorrect implementation of @command{awk}, while @command{gawk}
prints the full first line of the file, something like:
@example
-root:nSijPlPhZZwgE:0:0:Root:/:
+root:x:0:0:Root:/:
@end example
@end cartouche
@end ifnotdocbook
@@ -7887,7 +7893,7 @@ will be @code{"FPAT"} if content-based field splitting is being used.
@quotation NOTE
Some programs export CSV data that contains embedded newlines between
the double quotes. @command{gawk} provides no way to deal with this.
-Because no formal specification for CSV data exists, there isn't much
+Even though a formal specification for CSV data exists, there isn't much
more to be done;
the @code{FPAT} mechanism provides an elegant solution for the majority
of cases, and the @command{gawk} developers are satisfied with that.
@@ -8619,7 +8625,7 @@ Using @code{FILENAME} with @code{getline}
is likely to be a source for
confusion. @command{awk} opens a separate input stream from the
current input file. However, by not using a variable, @code{$0}
-and @code{NR} are still updated. If you're doing this, it's
+and @code{NF} are still updated. If you're doing this, it's
probably by accident, and you should reconsider what it is you're
trying to accomplish.
@@ -8762,7 +8768,7 @@ for the input to arrive:
PROCINFO[Service, "READ_TIMEOUT"] = 1000
while ((Service |& getline) > 0) @{
print $0
- PROCINFO[S, "READ_TIMEOUT"] -= 100
+ PROCINFO[Service, "READ_TIMEOUT"] -= 100
@}
@end example
@@ -22566,7 +22572,7 @@ A few lines representative of @command{pwcat}'s output are as follows:
@cindex Robbins, Miriam
@example
$ @kbd{pwcat}
-@print{} root:3Ov02d5VaUPB6:0:1:Operator:/:/bin/sh
+@print{} root:x:0:1:Operator:/:/bin/sh
@print{} nobody:*:65534:65534::/:
@print{} daemon:*:1:1::/:
@print{} sys:*:2:2::/:/bin/csh
@@ -35279,7 +35285,7 @@ project provides a number of @command{gawk} extensions, including one for
processing XML files. This is the evolution of the original @command{xgawk}
(XML @command{gawk}) project.
-As of this writing, there are five extensions:
+As of this writing, there are six extensions:
@itemize @value{BULLET}
@item
@@ -35297,6 +35303,9 @@ MPFR library extension
native MPFR support does not)
@item
+Redis extension
+
+@item
XML parser extension, using the @uref{http://expat.sourceforge.net, Expat}
XML parsing library
@end itemize
@@ -40105,6 +40114,13 @@ pattern matches an input record, @command{awk} executes the
rule's action. Actions are always enclosed in braces.
(@xref{Action Overview}.)
+@cindex Ada programming language
+@cindex programming languages, Ada
+@item Ada
+A programming language originally defined by the U.S.@: Department of
+Defense for embedded programming. It was designed to enforce good
+Software Engineering practices.
+
@cindex Spencer, Henry
@cindex @command{sed} utility
@cindex amazing @command{awk} assembler (@command{aaa})
@@ -40116,13 +40132,6 @@ 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}.
-@cindex Ada programming language
-@cindex programming languages, Ada
-@item Ada
-A programming language originally defined by the U.S.@: Department of
-Defense for embedded programming. It was designed to enforce good
-Software Engineering practices.
-
@cindex amazingly workable formatter (@command{awf})
@cindex @command{awf} (amazingly workable formatter) program
@item Amazingly Workable Formatter (@command{awf})
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 391405e4..859956b5 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -2201,7 +2201,7 @@ the fourth edition and for his support during the work.
Thanks to Jasmine Kwityn for her copy-editing work.
@end ifset
-Thanks to Michael Brennan for the Foreword.
+Thanks to Michael Brennan for the Forewords.
@cindex Duman, Patrice
@cindex Berry, Karl
@@ -3844,7 +3844,13 @@ Command-line variable assignments of the form
This option is particularly necessary for World Wide Web CGI applications
that pass arguments through the URL; using this option prevents a malicious
(or other) user from passing in options, assignments, or @command{awk} source
-code (via @option{-e}) to the CGI application. This option should be used
+code (via @option{-e}) to the CGI application.@footnote{For more detail,
+please see Section 4.4 of @uref{http://www.ietf.org/rfc/rfc3875,
+RFC 3875}. Also see the
+@uref{http://lists.gnu.org/archive/html/bug-gawk/2014-11/msg00022.html,
+explanatory note sent to the @command{gawk} bug
+mailing list}.}
+This option should be used
with @samp{#!} scripts (@pxref{Executable Scripts}), like so:
@example
@@ -7188,7 +7194,7 @@ on an incorrect implementation of @command{awk}, while @command{gawk}
prints the full first line of the file, something like:
@example
-root:nSijPlPhZZwgE:0:0:Root:/:
+root:x:0:0:Root:/:
@end example
@end sidebar
@@ -7488,7 +7494,7 @@ will be @code{"FPAT"} if content-based field splitting is being used.
@quotation NOTE
Some programs export CSV data that contains embedded newlines between
the double quotes. @command{gawk} provides no way to deal with this.
-Because no formal specification for CSV data exists, there isn't much
+Even though a formal specification for CSV data exists, there isn't much
more to be done;
the @code{FPAT} mechanism provides an elegant solution for the majority
of cases, and the @command{gawk} developers are satisfied with that.
@@ -8220,7 +8226,7 @@ Using @code{FILENAME} with @code{getline}
is likely to be a source for
confusion. @command{awk} opens a separate input stream from the
current input file. However, by not using a variable, @code{$0}
-and @code{NR} are still updated. If you're doing this, it's
+and @code{NF} are still updated. If you're doing this, it's
probably by accident, and you should reconsider what it is you're
trying to accomplish.
@@ -8363,7 +8369,7 @@ for the input to arrive:
PROCINFO[Service, "READ_TIMEOUT"] = 1000
while ((Service |& getline) > 0) @{
print $0
- PROCINFO[S, "READ_TIMEOUT"] -= 100
+ PROCINFO[Service, "READ_TIMEOUT"] -= 100
@}
@end example
@@ -21659,7 +21665,7 @@ A few lines representative of @command{pwcat}'s output are as follows:
@cindex Robbins, Miriam
@example
$ @kbd{pwcat}
-@print{} root:3Ov02d5VaUPB6:0:1:Operator:/:/bin/sh
+@print{} root:x:0:1:Operator:/:/bin/sh
@print{} nobody:*:65534:65534::/:
@print{} daemon:*:1:1::/:
@print{} sys:*:2:2::/:/bin/csh
@@ -34372,7 +34378,7 @@ project provides a number of @command{gawk} extensions, including one for
processing XML files. This is the evolution of the original @command{xgawk}
(XML @command{gawk}) project.
-As of this writing, there are five extensions:
+As of this writing, there are six extensions:
@itemize @value{BULLET}
@item
@@ -34390,6 +34396,9 @@ MPFR library extension
native MPFR support does not)
@item
+Redis extension
+
+@item
XML parser extension, using the @uref{http://expat.sourceforge.net, Expat}
XML parsing library
@end itemize
@@ -39198,6 +39207,13 @@ pattern matches an input record, @command{awk} executes the
rule's action. Actions are always enclosed in braces.
(@xref{Action Overview}.)
+@cindex Ada programming language
+@cindex programming languages, Ada
+@item Ada
+A programming language originally defined by the U.S.@: Department of
+Defense for embedded programming. It was designed to enforce good
+Software Engineering practices.
+
@cindex Spencer, Henry
@cindex @command{sed} utility
@cindex amazing @command{awk} assembler (@command{aaa})
@@ -39209,13 +39225,6 @@ 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}.
-@cindex Ada programming language
-@cindex programming languages, Ada
-@item Ada
-A programming language originally defined by the U.S.@: Department of
-Defense for embedded programming. It was designed to enforce good
-Software Engineering practices.
-
@cindex amazingly workable formatter (@command{awf})
@cindex @command{awf} (amazingly workable formatter) program
@item Amazingly Workable Formatter (@command{awf})