aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.info1078
-rw-r--r--doc/gawk.texi118
-rw-r--r--doc/gawktexi.in118
4 files changed, 612 insertions, 707 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 67937858..07a34105 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-29 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Remove some obsolete bits, fix up some other
+ minor stuff.
+
2014-05-27 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Edits through the end!
diff --git a/doc/gawk.info b/doc/gawk.info
index 89bc8c64..607f2c18 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1165,13 +1165,13 @@ published the first two editions under the title `The GNU Awk User's
Guide'.
This edition maintains the basic structure of the previous editions.
-For Edition 4.0, the content has been thoroughly reviewed and updated.
-All references to `gawk' versions prior to 4.0 have been removed. Of
-significant note for this edition was *note Debugger::.
+For FSF edition 4.0, the content has been thoroughly reviewed and
+updated. All references to `gawk' versions prior to 4.0 have been
+removed. Of significant note for this edition was *note Debugger::.
- For edition 4.1, the content has been reorganized into parts, and
-the major new additions are *note Arbitrary Precision Arithmetic::, and
-*note Dynamic Extensions::.
+ For FSF edition 4.1, the content has been reorganized into parts,
+and the major new additions are *note Arbitrary Precision Arithmetic::,
+and *note Dynamic Extensions::.
This Info file will undoubtedly continue to evolve. An electronic
version comes with the `gawk' distribution from the FSF. If you find
@@ -2797,7 +2797,9 @@ filename.
`.' explicitly in the path or write a null entry in the path. (A
null entry is indicated by starting or ending the path with a
colon or by placing two colons next to each other [`::'].) This
- path search mechanism is similar to the shell's.
+ path search mechanism is similar to the shell's. (See `The
+ Bourne-Again SHell manual'.
+ (http://www.gnu.org/software/bash/manual/))
However, `gawk' always looks in the current directory _before_
searching `AWKPATH', so there is no real reason to include the
@@ -22240,6 +22242,7 @@ not return a value.
`#define emalloc(pointer, type, size, message) ...'
The arguments to this macro are as follows:
+
`pointer'
The pointer variable to point at the allocated storage.
@@ -22399,6 +22402,7 @@ function with `gawk' using the following function.
`void awk_atexit(void (*funcp)(void *data, int exit_status),'
` void *arg0);'
The parameters are:
+
`funcp'
A pointer to the function to be called before `gawk' exits.
The `data' parameter will be the original value of `arg0'.
@@ -26100,6 +26104,9 @@ Info file, in approximate chronological order:
- The improved array sorting features were driven by John
together with Pat Rankin.
+ Panos Papadopoulos contributed the original text for *note Include
+ Files::.
+
* Efraim Yawitz contributed the original text for *note Debugger::.
* The development of the extension API first released with `gawk'
@@ -27764,11 +27771,11 @@ critical, that for any given branch, the above incantation _just works_.
2. It would certainly help if everyone used the same versions of the
GNU tools as he does, which in general are the latest released
- versions of Automake, Autoconf, `bison', and `gettext'.
+ versions of Automake, Autoconf, `bison', and GNU `gettext'.
Installing from source is quite easy. It's how the maintainer
- worked for years, and still works. He had `/usr/local/bin' at the
- front of his `PATH' and just did:
+ worked for years (and still works). He had `/usr/local/bin' at
+ the front of his `PATH' and just did:
wget http://ftp.gnu.org/gnu/PACKAGE/PACKAGE-X.Y.Z.tar.gz
tar -xpzvf PACKAGE-X.Y.Z.tar.gz
@@ -30861,7 +30868,7 @@ Index
* Collado, Manuel: Acknowledgments. (line 60)
* collating elements: Bracket Expressions. (line 69)
* collating symbols: Bracket Expressions. (line 76)
-* Colombo, Antonio <1>: Contributors. (line 135)
+* Colombo, Antonio <1>: Contributors. (line 138)
* Colombo, Antonio: Acknowledgments. (line 60)
* columns, aligning: Print Examples. (line 70)
* columns, cutting: Cut Program. (line 6)
@@ -32309,6 +32316,7 @@ Index
* output, standard: Special FD. (line 6)
* p debugger command (alias for print): Viewing And Changing Data.
(line 36)
+* Papadopoulos, Panos: Contributors. (line 129)
* parent process ID of gawk process: Auto-set. (line 189)
* parentheses (), in a profile: Profiling. (line 146)
* parentheses (), regexp operator: Regexp Operators. (line 80)
@@ -32655,7 +32663,7 @@ Index
* RLENGTH variable, match() function and: String Functions. (line 224)
* Robbins, Arnold <1>: Future Extensions. (line 6)
* Robbins, Arnold <2>: Bugs. (line 32)
-* Robbins, Arnold <3>: Contributors. (line 139)
+* Robbins, Arnold <3>: Contributors. (line 142)
* Robbins, Arnold <4>: General Data Types. (line 6)
* Robbins, Arnold <5>: Alarm Program. (line 6)
* Robbins, Arnold <6>: Passwd Functions. (line 90)
@@ -32701,7 +32709,7 @@ Index
* scalar values: Basic Data Typing. (line 13)
* scanning arrays: Scanning an Array. (line 6)
* scanning multidimensional arrays: Multiscanning. (line 11)
-* Schorr, Andrew <1>: Contributors. (line 131)
+* Schorr, Andrew <1>: Contributors. (line 134)
* Schorr, Andrew <2>: Auto-set. (line 292)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
@@ -33188,7 +33196,7 @@ Index
* xgettext utility: String Extraction. (line 13)
* xor: Bitwise Functions. (line 55)
* XOR bitwise operation: Bitwise Functions. (line 6)
-* Yawitz, Efraim: Contributors. (line 129)
+* Yawitz, Efraim: Contributors. (line 132)
* Zaretskii, Eli <1>: Bugs. (line 71)
* Zaretskii, Eli <2>: Contributors. (line 55)
* Zaretskii, Eli: Acknowledgments. (line 60)
@@ -33234,526 +33242,526 @@ Node: This Manual52572
Ref: This Manual-Footnote-158351
Node: Conventions58451
Node: Manual History60607
-Ref: Manual History-Footnote-164038
-Ref: Manual History-Footnote-264079
-Node: How To Contribute64153
-Node: Acknowledgments65392
-Node: Getting Started69541
-Node: Running gawk71914
-Node: One-shot73104
-Node: Read Terminal74329
-Ref: Read Terminal-Footnote-175979
-Ref: Read Terminal-Footnote-276255
-Node: Long76426
-Node: Executable Scripts77802
-Ref: Executable Scripts-Footnote-179635
-Ref: Executable Scripts-Footnote-279737
-Node: Comments80284
-Node: Quoting82751
-Node: DOS Quoting88067
-Node: Sample Data Files88742
-Node: Very Simple91257
-Node: Two Rules95895
-Node: More Complex97790
-Ref: More Complex-Footnote-1100722
-Node: Statements/Lines100807
-Ref: Statements/Lines-Footnote-1105262
-Node: Other Features105527
-Node: When106455
-Node: Invoking Gawk108603
-Node: Command Line110066
-Node: Options110857
-Ref: Options-Footnote-1126669
-Node: Other Arguments126694
-Node: Naming Standard Input129356
-Node: Environment Variables130450
-Node: AWKPATH Variable131008
-Ref: AWKPATH Variable-Footnote-1133786
-Ref: AWKPATH Variable-Footnote-2133831
-Node: AWKLIBPATH Variable134091
-Node: Other Environment Variables134850
-Node: Exit Status138505
-Node: Include Files139180
-Node: Loading Shared Libraries142758
-Node: Obsolete144141
-Node: Undocumented144838
-Node: Regexp145080
-Node: Regexp Usage146469
-Node: Escape Sequences148502
-Node: Regexp Operators154169
-Ref: Regexp Operators-Footnote-1161649
-Ref: Regexp Operators-Footnote-2161796
-Node: Bracket Expressions161894
-Ref: table-char-classes163784
-Node: GNU Regexp Operators166307
-Node: Case-sensitivity170030
-Ref: Case-sensitivity-Footnote-1172922
-Ref: Case-sensitivity-Footnote-2173157
-Node: Leftmost Longest173265
-Node: Computed Regexps174466
-Node: Reading Files177815
-Node: Records179817
-Node: awk split records180552
-Node: gawk split records185410
-Ref: gawk split records-Footnote-1189931
-Node: Fields189968
-Ref: Fields-Footnote-1192932
-Node: Nonconstant Fields193018
-Ref: Nonconstant Fields-Footnote-1195248
-Node: Changing Fields195450
-Node: Field Separators201404
-Node: Default Field Splitting204106
-Node: Regexp Field Splitting205223
-Node: Single Character Fields208564
-Node: Command Line Field Separator209623
-Node: Full Line Fields212965
-Ref: Full Line Fields-Footnote-1213473
-Node: Field Splitting Summary213519
-Ref: Field Splitting Summary-Footnote-1216618
-Node: Constant Size216719
-Node: Splitting By Content221326
-Ref: Splitting By Content-Footnote-1225076
-Node: Multiple Line225116
-Ref: Multiple Line-Footnote-1230972
-Node: Getline231151
-Node: Plain Getline233367
-Node: Getline/Variable235462
-Node: Getline/File236609
-Node: Getline/Variable/File237993
-Ref: Getline/Variable/File-Footnote-1239592
-Node: Getline/Pipe239679
-Node: Getline/Variable/Pipe242378
-Node: Getline/Coprocess243485
-Node: Getline/Variable/Coprocess244737
-Node: Getline Notes245474
-Node: Getline Summary248278
-Ref: table-getline-variants248686
-Node: Read Timeout249598
-Ref: Read Timeout-Footnote-1253425
-Node: Command line directories253483
-Node: Printing254365
-Node: Print255996
-Node: Print Examples257337
-Node: Output Separators260116
-Node: OFMT262132
-Node: Printf263490
-Node: Basic Printf264396
-Node: Control Letters265935
-Node: Format Modifiers269789
-Node: Printf Examples275816
-Node: Redirection278523
-Node: Special Files285495
-Node: Special FD286028
-Ref: Special FD-Footnote-1289652
-Node: Special Network289726
-Node: Special Caveats290576
-Node: Close Files And Pipes291372
-Ref: Close Files And Pipes-Footnote-1298510
-Ref: Close Files And Pipes-Footnote-2298658
-Node: Expressions298808
-Node: Values299940
-Node: Constants300616
-Node: Scalar Constants301296
-Ref: Scalar Constants-Footnote-1302155
-Node: Nondecimal-numbers302405
-Node: Regexp Constants305405
-Node: Using Constant Regexps305880
-Node: Variables308950
-Node: Using Variables309605
-Node: Assignment Options311329
-Node: Conversion313204
-Ref: table-locale-affects318640
-Ref: Conversion-Footnote-1319264
-Node: All Operators319373
-Node: Arithmetic Ops320003
-Node: Concatenation322508
-Ref: Concatenation-Footnote-1325304
-Node: Assignment Ops325424
-Ref: table-assign-ops330407
-Node: Increment Ops331724
-Node: Truth Values and Conditions335162
-Node: Truth Values336245
-Node: Typing and Comparison337294
-Node: Variable Typing338087
-Ref: Variable Typing-Footnote-1341987
-Node: Comparison Operators342109
-Ref: table-relational-ops342519
-Node: POSIX String Comparison346067
-Ref: POSIX String Comparison-Footnote-1347151
-Node: Boolean Ops347289
-Ref: Boolean Ops-Footnote-1351359
-Node: Conditional Exp351450
-Node: Function Calls353177
-Node: Precedence356935
-Node: Locales360604
-Node: Patterns and Actions362207
-Node: Pattern Overview363261
-Node: Regexp Patterns364938
-Node: Expression Patterns365481
-Node: Ranges369262
-Node: BEGIN/END372368
-Node: Using BEGIN/END373130
-Ref: Using BEGIN/END-Footnote-1375866
-Node: I/O And BEGIN/END375972
-Node: BEGINFILE/ENDFILE378257
-Node: Empty381188
-Node: Using Shell Variables381505
-Node: Action Overview383788
-Node: Statements386115
-Node: If Statement387963
-Node: While Statement389461
-Node: Do Statement391505
-Node: For Statement392661
-Node: Switch Statement395813
-Node: Break Statement397916
-Node: Continue Statement399971
-Node: Next Statement401764
-Node: Nextfile Statement404154
-Node: Exit Statement406809
-Node: Built-in Variables409213
-Node: User-modified410309
-Ref: User-modified-Footnote-1417994
-Node: Auto-set418056
-Ref: Auto-set-Footnote-1430958
-Ref: Auto-set-Footnote-2431163
-Node: ARGC and ARGV431219
-Node: Arrays435073
-Node: Array Basics436571
-Node: Array Intro437397
-Ref: figure-array-elements439370
-Node: Reference to Elements441777
-Node: Assigning Elements444050
-Node: Array Example444541
-Node: Scanning an Array446273
-Node: Controlling Scanning449288
-Ref: Controlling Scanning-Footnote-1454461
-Node: Delete454777
-Ref: Delete-Footnote-1457542
-Node: Numeric Array Subscripts457599
-Node: Uninitialized Subscripts459782
-Node: Multidimensional461407
-Node: Multiscanning464500
-Node: Arrays of Arrays466089
-Node: Functions470729
-Node: Built-in471548
-Node: Calling Built-in472626
-Node: Numeric Functions474614
-Ref: Numeric Functions-Footnote-1478448
-Ref: Numeric Functions-Footnote-2478805
-Ref: Numeric Functions-Footnote-3478853
-Node: String Functions479122
-Ref: String Functions-Footnote-1502133
-Ref: String Functions-Footnote-2502262
-Ref: String Functions-Footnote-3502510
-Node: Gory Details502597
-Ref: table-sub-escapes504266
-Ref: table-sub-posix-92505620
-Ref: table-sub-proposed506971
-Ref: table-posix-sub508325
-Ref: table-gensub-escapes509870
-Ref: Gory Details-Footnote-1511046
-Ref: Gory Details-Footnote-2511097
-Node: I/O Functions511248
-Ref: I/O Functions-Footnote-1518371
-Node: Time Functions518518
-Ref: Time Functions-Footnote-1528982
-Ref: Time Functions-Footnote-2529050
-Ref: Time Functions-Footnote-3529208
-Ref: Time Functions-Footnote-4529319
-Ref: Time Functions-Footnote-5529431
-Ref: Time Functions-Footnote-6529658
-Node: Bitwise Functions529924
-Ref: table-bitwise-ops530486
-Ref: Bitwise Functions-Footnote-1534731
-Node: Type Functions534915
-Node: I18N Functions536057
-Node: User-defined537702
-Node: Definition Syntax538506
-Ref: Definition Syntax-Footnote-1543431
-Node: Function Example543500
-Ref: Function Example-Footnote-1546144
-Node: Function Caveats546166
-Node: Calling A Function546684
-Node: Variable Scope547639
-Node: Pass By Value/Reference550627
-Node: Return Statement554135
-Node: Dynamic Typing557119
-Node: Indirect Calls558048
-Node: Library Functions567735
-Ref: Library Functions-Footnote-1571248
-Ref: Library Functions-Footnote-2571391
-Node: Library Names571562
-Ref: Library Names-Footnote-1575035
-Ref: Library Names-Footnote-2575255
-Node: General Functions575341
-Node: Strtonum Function576369
-Node: Assert Function579299
-Node: Round Function582625
-Node: Cliff Random Function584166
-Node: Ordinal Functions585182
-Ref: Ordinal Functions-Footnote-1588259
-Ref: Ordinal Functions-Footnote-2588511
-Node: Join Function588722
-Ref: Join Function-Footnote-1590493
-Node: Getlocaltime Function590693
-Node: Readfile Function594429
-Node: Data File Management596268
-Node: Filetrans Function596900
-Node: Rewind Function600969
-Node: File Checking602356
-Ref: File Checking-Footnote-1603488
-Node: Empty Files603689
-Node: Ignoring Assigns605919
-Node: Getopt Function607473
-Ref: Getopt Function-Footnote-1618776
-Node: Passwd Functions618979
-Ref: Passwd Functions-Footnote-1627958
-Node: Group Functions628046
-Ref: Group Functions-Footnote-1635988
-Node: Walking Arrays636201
-Node: Sample Programs638337
-Node: Running Examples639011
-Node: Clones639739
-Node: Cut Program640963
-Node: Egrep Program650816
-Ref: Egrep Program-Footnote-1658787
-Node: Id Program658897
-Node: Split Program662561
-Ref: Split Program-Footnote-1666099
-Node: Tee Program666227
-Node: Uniq Program669034
-Node: Wc Program676464
-Ref: Wc Program-Footnote-1680732
-Ref: Wc Program-Footnote-2680932
-Node: Miscellaneous Programs681024
-Node: Dupword Program682212
-Node: Alarm Program684243
-Node: Translate Program689050
-Ref: Translate Program-Footnote-1693441
-Ref: Translate Program-Footnote-2693711
-Node: Labels Program693845
-Ref: Labels Program-Footnote-1697216
-Node: Word Sorting697300
-Node: History Sorting701343
-Node: Extract Program703179
-Ref: Extract Program-Footnote-1710709
-Node: Simple Sed710838
-Node: Igawk Program713900
-Ref: Igawk Program-Footnote-1729075
-Ref: Igawk Program-Footnote-2729276
-Node: Anagram Program729414
-Node: Signature Program732482
-Node: Advanced Features733729
-Node: Nondecimal Data735615
-Node: Array Sorting737192
-Node: Controlling Array Traversal737889
-Node: Array Sorting Functions746169
-Ref: Array Sorting Functions-Footnote-1750076
-Node: Two-way I/O750270
-Ref: Two-way I/O-Footnote-1755786
-Node: TCP/IP Networking755868
-Node: Profiling758712
-Node: Internationalization766220
-Node: I18N and L10N767645
-Node: Explaining gettext768331
-Ref: Explaining gettext-Footnote-1773471
-Ref: Explaining gettext-Footnote-2773655
-Node: Programmer i18n773820
-Node: Translator i18n778045
-Node: String Extraction778839
-Ref: String Extraction-Footnote-1779800
-Node: Printf Ordering779886
-Ref: Printf Ordering-Footnote-1782668
-Node: I18N Portability782732
-Ref: I18N Portability-Footnote-1785181
-Node: I18N Example785244
-Ref: I18N Example-Footnote-1787966
-Node: Gawk I18N788038
-Node: Debugger788659
-Node: Debugging789630
-Node: Debugging Concepts790071
-Node: Debugging Terms791927
-Node: Awk Debugging794524
-Node: Sample Debugging Session795416
-Node: Debugger Invocation795936
-Node: Finding The Bug797269
-Node: List of Debugger Commands803751
-Node: Breakpoint Control805083
-Node: Debugger Execution Control808747
-Node: Viewing And Changing Data812107
-Node: Execution Stack815465
-Node: Debugger Info816978
-Node: Miscellaneous Debugger Commands820972
-Node: Readline Support826156
-Node: Limitations827048
-Node: Arbitrary Precision Arithmetic829296
-Ref: Arbitrary Precision Arithmetic-Footnote-1830945
-Node: General Arithmetic831093
-Node: Floating Point Issues832813
-Node: String Conversion Precision833694
-Ref: String Conversion Precision-Footnote-1835399
-Node: Unexpected Results835508
-Node: POSIX Floating Point Problems837661
-Ref: POSIX Floating Point Problems-Footnote-1841482
-Node: Integer Programming841520
-Node: Floating-point Programming843331
-Ref: Floating-point Programming-Footnote-1849659
-Ref: Floating-point Programming-Footnote-2849929
-Node: Floating-point Representation850193
-Node: Floating-point Context851358
-Ref: table-ieee-formats852197
-Node: Rounding Mode853581
-Ref: table-rounding-modes854060
-Ref: Rounding Mode-Footnote-1857075
-Node: Gawk and MPFR857254
-Node: Arbitrary Precision Floats858663
-Ref: Arbitrary Precision Floats-Footnote-1861106
-Node: Setting Precision861427
-Ref: table-predefined-precision-strings862111
-Node: Setting Rounding Mode864256
-Ref: table-gawk-rounding-modes864660
-Node: Floating-point Constants865847
-Node: Changing Precision867299
-Ref: Changing Precision-Footnote-1868691
-Node: Exact Arithmetic868865
-Node: Arbitrary Precision Integers871999
-Ref: Arbitrary Precision Integers-Footnote-1875014
-Node: Dynamic Extensions875161
-Node: Extension Intro876619
-Node: Plugin License877884
-Node: Extension Mechanism Outline878569
-Ref: figure-load-extension878993
-Ref: figure-load-new-function880478
-Ref: figure-call-new-function881480
-Node: Extension API Description883464
-Node: Extension API Functions Introduction884914
-Node: General Data Types889780
-Ref: General Data Types-Footnote-1895473
-Node: Requesting Values895772
-Ref: table-value-types-returned896509
-Node: Memory Allocation Functions897467
-Ref: Memory Allocation Functions-Footnote-1900213
-Node: Constructor Functions900309
-Node: Registration Functions902067
-Node: Extension Functions902752
-Node: Exit Callback Functions905054
-Node: Extension Version String906303
-Node: Input Parsers906953
-Node: Output Wrappers916756
-Node: Two-way processors921272
-Node: Printing Messages923475
-Ref: Printing Messages-Footnote-1924552
-Node: Updating `ERRNO'924704
-Node: Accessing Parameters925443
-Node: Symbol Table Access926673
-Node: Symbol table by name927187
-Node: Symbol table by cookie929163
-Ref: Symbol table by cookie-Footnote-1933296
-Node: Cached values933359
-Ref: Cached values-Footnote-1936864
-Node: Array Manipulation936955
-Ref: Array Manipulation-Footnote-1938053
-Node: Array Data Types938092
-Ref: Array Data Types-Footnote-1940795
-Node: Array Functions940887
-Node: Flattening Arrays944761
-Node: Creating Arrays951613
-Node: Extension API Variables956344
-Node: Extension Versioning956980
-Node: Extension API Informational Variables958881
-Node: Extension API Boilerplate959967
-Node: Finding Extensions963771
-Node: Extension Example964331
-Node: Internal File Description965061
-Node: Internal File Ops969152
-Ref: Internal File Ops-Footnote-1980698
-Node: Using Internal File Ops980838
-Ref: Using Internal File Ops-Footnote-1983185
-Node: Extension Samples983453
-Node: Extension Sample File Functions984977
-Node: Extension Sample Fnmatch992544
-Node: Extension Sample Fork994023
-Node: Extension Sample Inplace995236
-Node: Extension Sample Ord997014
-Node: Extension Sample Readdir997850
-Ref: table-readdir-file-types998705
-Node: Extension Sample Revout999504
-Node: Extension Sample Rev2way1000095
-Node: Extension Sample Read write array1000836
-Node: Extension Sample Readfile1002715
-Node: Extension Sample API Tests1003815
-Node: Extension Sample Time1004340
-Node: gawkextlib1005655
-Node: Language History1008442
-Node: V7/SVR3.11010036
-Node: SVR41012356
-Node: POSIX1013798
-Node: BTL1015184
-Node: POSIX/GNU1015918
-Node: Feature History1021517
-Node: Common Extensions1034629
-Node: Ranges and Locales1035941
-Ref: Ranges and Locales-Footnote-11040558
-Ref: Ranges and Locales-Footnote-21040585
-Ref: Ranges and Locales-Footnote-31040819
-Node: Contributors1041040
-Node: Installation1046391
-Node: Gawk Distribution1047285
-Node: Getting1047769
-Node: Extracting1048595
-Node: Distribution contents1050237
-Node: Unix Installation1055954
-Node: Quick Installation1056571
-Node: Additional Configuration Options1059013
-Node: Configuration Philosophy1060751
-Node: Non-Unix Installation1063102
-Node: PC Installation1063560
-Node: PC Binary Installation1064871
-Node: PC Compiling1066719
-Ref: PC Compiling-Footnote-11069718
-Node: PC Testing1069823
-Node: PC Using1070999
-Node: Cygwin1075157
-Node: MSYS1075966
-Node: VMS Installation1076480
-Node: VMS Compilation1077276
-Ref: VMS Compilation-Footnote-11078497
-Node: VMS Dynamic Extensions1078555
-Node: VMS Installation Details1079928
-Node: VMS Running1082179
-Node: VMS GNV1085013
-Node: VMS Old Gawk1085736
-Node: Bugs1086206
-Node: Other Versions1090210
-Node: Notes1096435
-Node: Compatibility Mode1097235
-Node: Additions1098017
-Node: Accessing The Source1098942
-Node: Adding Code1100378
-Node: New Ports1106556
-Node: Derived Files1111037
-Ref: Derived Files-Footnote-11116113
-Ref: Derived Files-Footnote-21116147
-Ref: Derived Files-Footnote-31116743
-Node: Future Extensions1116857
-Node: Implementation Limitations1117463
-Node: Extension Design1118711
-Node: Old Extension Problems1119865
-Ref: Old Extension Problems-Footnote-11121382
-Node: Extension New Mechanism Goals1121439
-Ref: Extension New Mechanism Goals-Footnote-11124800
-Node: Extension Other Design Decisions1124989
-Node: Extension Future Growth1127095
-Node: Old Extension Mechanism1127931
-Node: Basic Concepts1129671
-Node: Basic High Level1130352
-Ref: figure-general-flow1130624
-Ref: figure-process-flow1131223
-Ref: Basic High Level-Footnote-11134452
-Node: Basic Data Typing1134637
-Node: Glossary1137964
-Node: Copying1163116
-Node: GNU Free Documentation License1200672
-Node: Index1225808
+Ref: Manual History-Footnote-164046
+Ref: Manual History-Footnote-264087
+Node: How To Contribute64161
+Node: Acknowledgments65400
+Node: Getting Started69549
+Node: Running gawk71922
+Node: One-shot73112
+Node: Read Terminal74337
+Ref: Read Terminal-Footnote-175987
+Ref: Read Terminal-Footnote-276263
+Node: Long76434
+Node: Executable Scripts77810
+Ref: Executable Scripts-Footnote-179643
+Ref: Executable Scripts-Footnote-279745
+Node: Comments80292
+Node: Quoting82759
+Node: DOS Quoting88075
+Node: Sample Data Files88750
+Node: Very Simple91265
+Node: Two Rules95903
+Node: More Complex97798
+Ref: More Complex-Footnote-1100730
+Node: Statements/Lines100815
+Ref: Statements/Lines-Footnote-1105270
+Node: Other Features105535
+Node: When106463
+Node: Invoking Gawk108611
+Node: Command Line110074
+Node: Options110865
+Ref: Options-Footnote-1126677
+Node: Other Arguments126702
+Node: Naming Standard Input129364
+Node: Environment Variables130458
+Node: AWKPATH Variable131016
+Ref: AWKPATH Variable-Footnote-1133887
+Ref: AWKPATH Variable-Footnote-2133932
+Node: AWKLIBPATH Variable134192
+Node: Other Environment Variables134951
+Node: Exit Status138606
+Node: Include Files139281
+Node: Loading Shared Libraries142859
+Node: Obsolete144242
+Node: Undocumented144939
+Node: Regexp145181
+Node: Regexp Usage146570
+Node: Escape Sequences148603
+Node: Regexp Operators154270
+Ref: Regexp Operators-Footnote-1161750
+Ref: Regexp Operators-Footnote-2161897
+Node: Bracket Expressions161995
+Ref: table-char-classes163885
+Node: GNU Regexp Operators166408
+Node: Case-sensitivity170131
+Ref: Case-sensitivity-Footnote-1173023
+Ref: Case-sensitivity-Footnote-2173258
+Node: Leftmost Longest173366
+Node: Computed Regexps174567
+Node: Reading Files177916
+Node: Records179918
+Node: awk split records180653
+Node: gawk split records185511
+Ref: gawk split records-Footnote-1190032
+Node: Fields190069
+Ref: Fields-Footnote-1193033
+Node: Nonconstant Fields193119
+Ref: Nonconstant Fields-Footnote-1195349
+Node: Changing Fields195551
+Node: Field Separators201505
+Node: Default Field Splitting204207
+Node: Regexp Field Splitting205324
+Node: Single Character Fields208665
+Node: Command Line Field Separator209724
+Node: Full Line Fields213066
+Ref: Full Line Fields-Footnote-1213574
+Node: Field Splitting Summary213620
+Ref: Field Splitting Summary-Footnote-1216719
+Node: Constant Size216820
+Node: Splitting By Content221427
+Ref: Splitting By Content-Footnote-1225177
+Node: Multiple Line225217
+Ref: Multiple Line-Footnote-1231073
+Node: Getline231252
+Node: Plain Getline233468
+Node: Getline/Variable235563
+Node: Getline/File236710
+Node: Getline/Variable/File238094
+Ref: Getline/Variable/File-Footnote-1239693
+Node: Getline/Pipe239780
+Node: Getline/Variable/Pipe242479
+Node: Getline/Coprocess243586
+Node: Getline/Variable/Coprocess244838
+Node: Getline Notes245575
+Node: Getline Summary248379
+Ref: table-getline-variants248787
+Node: Read Timeout249699
+Ref: Read Timeout-Footnote-1253526
+Node: Command line directories253584
+Node: Printing254466
+Node: Print256097
+Node: Print Examples257438
+Node: Output Separators260217
+Node: OFMT262233
+Node: Printf263591
+Node: Basic Printf264497
+Node: Control Letters266036
+Node: Format Modifiers269890
+Node: Printf Examples275917
+Node: Redirection278624
+Node: Special Files285596
+Node: Special FD286129
+Ref: Special FD-Footnote-1289753
+Node: Special Network289827
+Node: Special Caveats290677
+Node: Close Files And Pipes291473
+Ref: Close Files And Pipes-Footnote-1298611
+Ref: Close Files And Pipes-Footnote-2298759
+Node: Expressions298909
+Node: Values300041
+Node: Constants300717
+Node: Scalar Constants301397
+Ref: Scalar Constants-Footnote-1302256
+Node: Nondecimal-numbers302506
+Node: Regexp Constants305506
+Node: Using Constant Regexps305981
+Node: Variables309051
+Node: Using Variables309706
+Node: Assignment Options311430
+Node: Conversion313305
+Ref: table-locale-affects318741
+Ref: Conversion-Footnote-1319365
+Node: All Operators319474
+Node: Arithmetic Ops320104
+Node: Concatenation322609
+Ref: Concatenation-Footnote-1325405
+Node: Assignment Ops325525
+Ref: table-assign-ops330508
+Node: Increment Ops331825
+Node: Truth Values and Conditions335263
+Node: Truth Values336346
+Node: Typing and Comparison337395
+Node: Variable Typing338188
+Ref: Variable Typing-Footnote-1342088
+Node: Comparison Operators342210
+Ref: table-relational-ops342620
+Node: POSIX String Comparison346168
+Ref: POSIX String Comparison-Footnote-1347252
+Node: Boolean Ops347390
+Ref: Boolean Ops-Footnote-1351460
+Node: Conditional Exp351551
+Node: Function Calls353278
+Node: Precedence357036
+Node: Locales360705
+Node: Patterns and Actions362308
+Node: Pattern Overview363362
+Node: Regexp Patterns365039
+Node: Expression Patterns365582
+Node: Ranges369363
+Node: BEGIN/END372469
+Node: Using BEGIN/END373231
+Ref: Using BEGIN/END-Footnote-1375967
+Node: I/O And BEGIN/END376073
+Node: BEGINFILE/ENDFILE378358
+Node: Empty381289
+Node: Using Shell Variables381606
+Node: Action Overview383889
+Node: Statements386216
+Node: If Statement388064
+Node: While Statement389562
+Node: Do Statement391606
+Node: For Statement392762
+Node: Switch Statement395914
+Node: Break Statement398017
+Node: Continue Statement400072
+Node: Next Statement401865
+Node: Nextfile Statement404255
+Node: Exit Statement406910
+Node: Built-in Variables409314
+Node: User-modified410410
+Ref: User-modified-Footnote-1418095
+Node: Auto-set418157
+Ref: Auto-set-Footnote-1431059
+Ref: Auto-set-Footnote-2431264
+Node: ARGC and ARGV431320
+Node: Arrays435174
+Node: Array Basics436672
+Node: Array Intro437498
+Ref: figure-array-elements439471
+Node: Reference to Elements441878
+Node: Assigning Elements444151
+Node: Array Example444642
+Node: Scanning an Array446374
+Node: Controlling Scanning449389
+Ref: Controlling Scanning-Footnote-1454562
+Node: Delete454878
+Ref: Delete-Footnote-1457643
+Node: Numeric Array Subscripts457700
+Node: Uninitialized Subscripts459883
+Node: Multidimensional461508
+Node: Multiscanning464601
+Node: Arrays of Arrays466190
+Node: Functions470830
+Node: Built-in471649
+Node: Calling Built-in472727
+Node: Numeric Functions474715
+Ref: Numeric Functions-Footnote-1478549
+Ref: Numeric Functions-Footnote-2478906
+Ref: Numeric Functions-Footnote-3478954
+Node: String Functions479223
+Ref: String Functions-Footnote-1502234
+Ref: String Functions-Footnote-2502363
+Ref: String Functions-Footnote-3502611
+Node: Gory Details502698
+Ref: table-sub-escapes504367
+Ref: table-sub-posix-92505721
+Ref: table-sub-proposed507072
+Ref: table-posix-sub508426
+Ref: table-gensub-escapes509971
+Ref: Gory Details-Footnote-1511147
+Ref: Gory Details-Footnote-2511198
+Node: I/O Functions511349
+Ref: I/O Functions-Footnote-1518472
+Node: Time Functions518619
+Ref: Time Functions-Footnote-1529083
+Ref: Time Functions-Footnote-2529151
+Ref: Time Functions-Footnote-3529309
+Ref: Time Functions-Footnote-4529420
+Ref: Time Functions-Footnote-5529532
+Ref: Time Functions-Footnote-6529759
+Node: Bitwise Functions530025
+Ref: table-bitwise-ops530587
+Ref: Bitwise Functions-Footnote-1534832
+Node: Type Functions535016
+Node: I18N Functions536158
+Node: User-defined537803
+Node: Definition Syntax538607
+Ref: Definition Syntax-Footnote-1543532
+Node: Function Example543601
+Ref: Function Example-Footnote-1546245
+Node: Function Caveats546267
+Node: Calling A Function546785
+Node: Variable Scope547740
+Node: Pass By Value/Reference550728
+Node: Return Statement554236
+Node: Dynamic Typing557220
+Node: Indirect Calls558149
+Node: Library Functions567836
+Ref: Library Functions-Footnote-1571349
+Ref: Library Functions-Footnote-2571492
+Node: Library Names571663
+Ref: Library Names-Footnote-1575136
+Ref: Library Names-Footnote-2575356
+Node: General Functions575442
+Node: Strtonum Function576470
+Node: Assert Function579400
+Node: Round Function582726
+Node: Cliff Random Function584267
+Node: Ordinal Functions585283
+Ref: Ordinal Functions-Footnote-1588360
+Ref: Ordinal Functions-Footnote-2588612
+Node: Join Function588823
+Ref: Join Function-Footnote-1590594
+Node: Getlocaltime Function590794
+Node: Readfile Function594530
+Node: Data File Management596369
+Node: Filetrans Function597001
+Node: Rewind Function601070
+Node: File Checking602457
+Ref: File Checking-Footnote-1603589
+Node: Empty Files603790
+Node: Ignoring Assigns606020
+Node: Getopt Function607574
+Ref: Getopt Function-Footnote-1618877
+Node: Passwd Functions619080
+Ref: Passwd Functions-Footnote-1628059
+Node: Group Functions628147
+Ref: Group Functions-Footnote-1636089
+Node: Walking Arrays636302
+Node: Sample Programs638438
+Node: Running Examples639112
+Node: Clones639840
+Node: Cut Program641064
+Node: Egrep Program650917
+Ref: Egrep Program-Footnote-1658888
+Node: Id Program658998
+Node: Split Program662662
+Ref: Split Program-Footnote-1666200
+Node: Tee Program666328
+Node: Uniq Program669135
+Node: Wc Program676565
+Ref: Wc Program-Footnote-1680833
+Ref: Wc Program-Footnote-2681033
+Node: Miscellaneous Programs681125
+Node: Dupword Program682313
+Node: Alarm Program684344
+Node: Translate Program689151
+Ref: Translate Program-Footnote-1693542
+Ref: Translate Program-Footnote-2693812
+Node: Labels Program693946
+Ref: Labels Program-Footnote-1697317
+Node: Word Sorting697401
+Node: History Sorting701444
+Node: Extract Program703280
+Ref: Extract Program-Footnote-1710810
+Node: Simple Sed710939
+Node: Igawk Program714001
+Ref: Igawk Program-Footnote-1729176
+Ref: Igawk Program-Footnote-2729377
+Node: Anagram Program729515
+Node: Signature Program732583
+Node: Advanced Features733830
+Node: Nondecimal Data735716
+Node: Array Sorting737293
+Node: Controlling Array Traversal737990
+Node: Array Sorting Functions746270
+Ref: Array Sorting Functions-Footnote-1750177
+Node: Two-way I/O750371
+Ref: Two-way I/O-Footnote-1755887
+Node: TCP/IP Networking755969
+Node: Profiling758813
+Node: Internationalization766321
+Node: I18N and L10N767746
+Node: Explaining gettext768432
+Ref: Explaining gettext-Footnote-1773572
+Ref: Explaining gettext-Footnote-2773756
+Node: Programmer i18n773921
+Node: Translator i18n778146
+Node: String Extraction778940
+Ref: String Extraction-Footnote-1779901
+Node: Printf Ordering779987
+Ref: Printf Ordering-Footnote-1782769
+Node: I18N Portability782833
+Ref: I18N Portability-Footnote-1785282
+Node: I18N Example785345
+Ref: I18N Example-Footnote-1788067
+Node: Gawk I18N788139
+Node: Debugger788760
+Node: Debugging789731
+Node: Debugging Concepts790172
+Node: Debugging Terms792028
+Node: Awk Debugging794625
+Node: Sample Debugging Session795517
+Node: Debugger Invocation796037
+Node: Finding The Bug797370
+Node: List of Debugger Commands803852
+Node: Breakpoint Control805184
+Node: Debugger Execution Control808848
+Node: Viewing And Changing Data812208
+Node: Execution Stack815566
+Node: Debugger Info817079
+Node: Miscellaneous Debugger Commands821073
+Node: Readline Support826257
+Node: Limitations827149
+Node: Arbitrary Precision Arithmetic829397
+Ref: Arbitrary Precision Arithmetic-Footnote-1831046
+Node: General Arithmetic831194
+Node: Floating Point Issues832914
+Node: String Conversion Precision833795
+Ref: String Conversion Precision-Footnote-1835500
+Node: Unexpected Results835609
+Node: POSIX Floating Point Problems837762
+Ref: POSIX Floating Point Problems-Footnote-1841583
+Node: Integer Programming841621
+Node: Floating-point Programming843432
+Ref: Floating-point Programming-Footnote-1849760
+Ref: Floating-point Programming-Footnote-2850030
+Node: Floating-point Representation850294
+Node: Floating-point Context851459
+Ref: table-ieee-formats852298
+Node: Rounding Mode853682
+Ref: table-rounding-modes854161
+Ref: Rounding Mode-Footnote-1857176
+Node: Gawk and MPFR857355
+Node: Arbitrary Precision Floats858764
+Ref: Arbitrary Precision Floats-Footnote-1861207
+Node: Setting Precision861528
+Ref: table-predefined-precision-strings862212
+Node: Setting Rounding Mode864357
+Ref: table-gawk-rounding-modes864761
+Node: Floating-point Constants865948
+Node: Changing Precision867400
+Ref: Changing Precision-Footnote-1868792
+Node: Exact Arithmetic868966
+Node: Arbitrary Precision Integers872100
+Ref: Arbitrary Precision Integers-Footnote-1875115
+Node: Dynamic Extensions875262
+Node: Extension Intro876720
+Node: Plugin License877985
+Node: Extension Mechanism Outline878670
+Ref: figure-load-extension879094
+Ref: figure-load-new-function880579
+Ref: figure-call-new-function881581
+Node: Extension API Description883565
+Node: Extension API Functions Introduction885015
+Node: General Data Types889881
+Ref: General Data Types-Footnote-1895574
+Node: Requesting Values895873
+Ref: table-value-types-returned896610
+Node: Memory Allocation Functions897568
+Ref: Memory Allocation Functions-Footnote-1900315
+Node: Constructor Functions900411
+Node: Registration Functions902169
+Node: Extension Functions902854
+Node: Exit Callback Functions905156
+Node: Extension Version String906406
+Node: Input Parsers907056
+Node: Output Wrappers916859
+Node: Two-way processors921375
+Node: Printing Messages923578
+Ref: Printing Messages-Footnote-1924655
+Node: Updating `ERRNO'924807
+Node: Accessing Parameters925546
+Node: Symbol Table Access926776
+Node: Symbol table by name927290
+Node: Symbol table by cookie929266
+Ref: Symbol table by cookie-Footnote-1933399
+Node: Cached values933462
+Ref: Cached values-Footnote-1936967
+Node: Array Manipulation937058
+Ref: Array Manipulation-Footnote-1938156
+Node: Array Data Types938195
+Ref: Array Data Types-Footnote-1940898
+Node: Array Functions940990
+Node: Flattening Arrays944864
+Node: Creating Arrays951716
+Node: Extension API Variables956447
+Node: Extension Versioning957083
+Node: Extension API Informational Variables958984
+Node: Extension API Boilerplate960070
+Node: Finding Extensions963874
+Node: Extension Example964434
+Node: Internal File Description965164
+Node: Internal File Ops969255
+Ref: Internal File Ops-Footnote-1980801
+Node: Using Internal File Ops980941
+Ref: Using Internal File Ops-Footnote-1983288
+Node: Extension Samples983556
+Node: Extension Sample File Functions985080
+Node: Extension Sample Fnmatch992647
+Node: Extension Sample Fork994126
+Node: Extension Sample Inplace995339
+Node: Extension Sample Ord997117
+Node: Extension Sample Readdir997953
+Ref: table-readdir-file-types998808
+Node: Extension Sample Revout999607
+Node: Extension Sample Rev2way1000198
+Node: Extension Sample Read write array1000939
+Node: Extension Sample Readfile1002818
+Node: Extension Sample API Tests1003918
+Node: Extension Sample Time1004443
+Node: gawkextlib1005758
+Node: Language History1008545
+Node: V7/SVR3.11010139
+Node: SVR41012459
+Node: POSIX1013901
+Node: BTL1015287
+Node: POSIX/GNU1016021
+Node: Feature History1021620
+Node: Common Extensions1034732
+Node: Ranges and Locales1036044
+Ref: Ranges and Locales-Footnote-11040661
+Ref: Ranges and Locales-Footnote-21040688
+Ref: Ranges and Locales-Footnote-31040922
+Node: Contributors1041143
+Node: Installation1046581
+Node: Gawk Distribution1047475
+Node: Getting1047959
+Node: Extracting1048785
+Node: Distribution contents1050427
+Node: Unix Installation1056144
+Node: Quick Installation1056761
+Node: Additional Configuration Options1059203
+Node: Configuration Philosophy1060941
+Node: Non-Unix Installation1063292
+Node: PC Installation1063750
+Node: PC Binary Installation1065061
+Node: PC Compiling1066909
+Ref: PC Compiling-Footnote-11069908
+Node: PC Testing1070013
+Node: PC Using1071189
+Node: Cygwin1075347
+Node: MSYS1076156
+Node: VMS Installation1076670
+Node: VMS Compilation1077466
+Ref: VMS Compilation-Footnote-11078687
+Node: VMS Dynamic Extensions1078745
+Node: VMS Installation Details1080118
+Node: VMS Running1082369
+Node: VMS GNV1085203
+Node: VMS Old Gawk1085926
+Node: Bugs1086396
+Node: Other Versions1090400
+Node: Notes1096625
+Node: Compatibility Mode1097425
+Node: Additions1098207
+Node: Accessing The Source1099132
+Node: Adding Code1100568
+Node: New Ports1106746
+Node: Derived Files1111227
+Ref: Derived Files-Footnote-11116308
+Ref: Derived Files-Footnote-21116342
+Ref: Derived Files-Footnote-31116938
+Node: Future Extensions1117052
+Node: Implementation Limitations1117658
+Node: Extension Design1118906
+Node: Old Extension Problems1120060
+Ref: Old Extension Problems-Footnote-11121577
+Node: Extension New Mechanism Goals1121634
+Ref: Extension New Mechanism Goals-Footnote-11124995
+Node: Extension Other Design Decisions1125184
+Node: Extension Future Growth1127290
+Node: Old Extension Mechanism1128126
+Node: Basic Concepts1129866
+Node: Basic High Level1130547
+Ref: figure-general-flow1130819
+Ref: figure-process-flow1131418
+Ref: Basic High Level-Footnote-11134647
+Node: Basic Data Typing1134832
+Node: Glossary1138159
+Node: Copying1163311
+Node: GNU Free Documentation License1200867
+Node: Index1226003

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 36a28e07..08102cfa 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -241,6 +241,10 @@ quirk of the language / makeinfo, and isn't going to change.
@copying
@docbook
+<para>
+&ldquo;To boldly go where no man has gone before&rdquo; is a
+Registered Trademark of Paramount Pictures Corporation.</para>
+
<para>Published by:</para>
<literallayout class="normal">Free Software Foundation
@@ -1799,49 +1803,6 @@ License in @ref{GNU Free Documentation License}.)
@end ifclear
@end ifnotinfo
-@ignore
-@cindex Close, Diane
-The @value{DOCUMENT} itself has gone through several previous,
-preliminary editions.
-Paul Rubin wrote the very first draft of @cite{The GAWK Manual};
-it was around 40 pages in size.
-Diane Close and Richard Stallman improved it, yielding the
-version which I started working with in the fall of 1988.
-It was around 90 pages long and barely described the original, ``old''
-version of @command{awk}. After substantial revision, the first version of
-the @cite{The GAWK Manual} to be released was Edition 0.11 Beta in
-October of 1989. The manual then underwent more substantial revision
-for Edition 0.13 of December 1991.
-David Trueman, Pat Rankin and Michal Jaegermann contributed sections
-of the manual for Edition 0.13.
-That edition was published by the
-FSF as a bound book early in 1992. Since then there were several
-minor revisions, notably Edition 0.14 of November 1992 that was published
-by the FSF in January of 1993 and Edition 0.16 of August 1993.
-
-Edition 1.0 of @cite{GAWK: The GNU Awk User's Guide} represented a significant re-working
-of @cite{The GAWK Manual}, with much additional material.
-The FSF and I agreed that I was now the primary author.
-@c I also felt that the manual needed a more descriptive title.
-
-In January 1996, SSC published Edition 1.0 under the title @cite{Effective AWK Programming}.
-In February 1997, they published Edition 1.0.3 which had minor changes
-as a ``second edition.''
-In 1999, the FSF published this same version as Edition 2
-of @cite{GAWK: The GNU Awk User's Guide}.
-
-Edition @value{EDITION} maintains the basic structure of Edition 1.0,
-but with significant additional material, reflecting the host of new features
-in @command{gawk} version @value{VERSION}.
-Of particular note is
-@ref{Array Sorting},
-@ref{Bitwise Functions},
-@ref{Internationalization},
-@ref{Advanced Features},
-and
-@ref{Dynamic Extensions}.
-@end ignore
-
@cindex Close, Diane
The @value{DOCUMENT} itself has gone through a number of previous editions.
Paul Rubin wrote the very first draft of @cite{The GAWK Manual};
@@ -1860,16 +1821,24 @@ the title @cite{The GNU Awk User's Guide}.
@ifset FOR_PRINT
SSC published two editions of the @value{DOCUMENT} under the
title @cite{Effective awk Programming}, and in O'Reilly published
-the edition in 2001.
+the third edition in 2001.
@end ifset
This edition maintains the basic structure of the previous editions.
-For Edition 4.0, the content has been thoroughly reviewed
+For FSF edition 4.0, the content has been thoroughly reviewed
and updated. All references to @command{gawk} versions prior to 4.0 have been
removed.
Of significant note for this edition was @ref{Debugger}.
-For edition @value{EDITION}, the content has been reorganized into parts,
+For FSF edition
+@ifclear FOR_PRINT
+@value{EDITION},
+@end ifclear
+@ifset FOR_PRINT
+@value{EDITION}
+(the fourth edition as published by O'Reilly),
+@end ifset
+the content has been reorganized into parts,
and the major new additions are @ref{Arbitrary Precision Arithmetic},
and @ref{Dynamic Extensions}.
@@ -4178,7 +4147,8 @@ path. (A null entry is indicated by starting or ending the path with a
colon or by placing two colons next to each other [@samp{::}].)
This path search mechanism is similar
to the shell's.
-@c someday, @cite{The Bourne Again Shell}....
+(See @uref{http://www.gnu.org/software/bash/manual/,
+@cite{The Bourne-Again SHell manual}.})
However, @command{gawk} always looks in the current directory @emph{before}
searching @env{AWKPATH}, so there is no real reason to include
@@ -4491,6 +4461,8 @@ that can be loaded with either @code{@@load} or the @option{-l} option.
@node Obsolete
@section Obsolete Options and/or Features
+@c update this section for each release!
+
@cindex options, deprecated
@cindex features, deprecated
@cindex obsolete features
@@ -4499,8 +4471,6 @@ previous releases of @command{gawk} that are either not available in the
current version or that are still supported but deprecated (meaning that
they will @emph{not} be in the next release).
-@c update this section for each release!
-
The process-related special files @file{/dev/pid}, @file{/dev/ppid},
@file{/dev/pgrpid}, and @file{/dev/user} were deprecated in @command{gawk}
3.1, but still worked. As of version 4.0, they are no longer
@@ -5518,9 +5488,6 @@ GNU operators, but this was deemed too confusing. The current
method of using @samp{\y} for the GNU @samp{\b} appears to be the
lesser of two evils.
-@c NOTE!!! Keep this in sync with the same table in the summary appendix!
-@c
-@c Should really do this with file inclusion.
@cindex regular expressions, @command{gawk}, command-line options
@cindex @command{gawk}, command-line options, and regular expressions
The various command-line options
@@ -6978,7 +6945,6 @@ program on the file @file{mail-list}. The following command prints a
list of the names of the people that work at or attend a university, and
the first three digits of their phone numbers:
-@c tweaked to make the tex output look better in @smallbook
@example
$ @kbd{awk -F- -f edu.awk mail-list}
@print{} Fabius 555
@@ -8777,16 +8743,6 @@ the first character of the string.
@cindex dark corner, format-control characters
@cindex @command{gawk}, format-control characters
@quotation NOTE
-@ignore
-The @samp{%c} format does @emph{not} handle values outside the range
-0--255. On most systems, values from 0--127 are within the range of
-ASCII and will yield an ASCII character. Values in the range 128--255
-may format as characters in some extended character set, or they may not.
-System 390 (IBM architecture mainframe) systems use 8-bit characters,
-and thus values from 0--255 yield the corresponding EBCDIC character.
-Any value above 255 is treated as modulo 255; i.e., the lowest eight bits
-of the value are used. The locale and character set are always ignored.
-@end ignore
The POSIX standard says the first character of a string is printed.
In locales with multibyte characters, @command{gawk} attempts to
convert the leading bytes of the string into a valid wide character
@@ -8909,7 +8865,7 @@ which they may appear:
@table @code
@cindex differences in @command{awk} and @command{gawk}, @code{print}/@code{printf} statements
@cindex @code{printf} statement, positional specifiers
-@c the command does NOT start a secondary
+@c the code{} does NOT start a secondary
@cindex positional specifiers, @code{printf} statement
@item @var{N}$
An integer constant followed by a @samp{$} is a @dfn{positional specifier}.
@@ -10669,7 +10625,7 @@ One possibly undesirable effect of this definition of remainder is that
In other @command{awk} implementations, the signedness of the remainder
may be machine-dependent.
-@c !!! what does posix say?
+@c FIXME !!! what does posix say?
@cindex portability, @code{**} operator and
@cindex @code{*} (asterisk), @code{**} operator
@@ -19602,7 +19558,6 @@ that their statement is correct, this @value{CHAPTER} and @ref{Sample
Programs}, provide a good-sized body of code for you to read, and we hope,
to learn from.
-@c 2e: USE TEXINFO-2 FUNCTION DEFINITION STUFF!!!!!!!!!!!!!
This @value{CHAPTER} presents a library of useful @command{awk} functions.
Many of the sample programs presented later in this @value{DOCUMENT}
use these functions.
@@ -21011,7 +20966,6 @@ application might want to print its own error message.)
@item optopt
The letter representing the command-line option.
-@c While not usually documented, most versions supply this variable.
@end table
The following C fragment shows how @code{getopt()} might process command-line
@@ -21062,7 +21016,6 @@ necessary for accessing individual characters
function was written before @command{gawk} acquired the ability to
split strings into single characters using @code{""} as the separator.
We have left it alone, since using @code{substr()} is more portable.}
-@c FIXME: could use split(str, a, "") to do it more easily.
The discussion that follows walks through the code a bit at a time:
@@ -21347,8 +21300,6 @@ no more entries, it returns @code{NULL}, the null pointer. When this
happens, the C program should call @code{endpwent()} to close the database.
Following is @command{pwcat}, a C program that ``cats'' the password database:
-@c Use old style function header for portability to old systems (SunOS, HP/UX).
-
@example
@c file eg/lib/pwcat.c
/*
@@ -24742,7 +24693,6 @@ Finally, the function @code{@w{unexpected_eof()}} prints an appropriate
error message and then exits.
The @code{END} rule handles the final cleanup, closing the open file:
-@c function lb put on same line for page breaking. sigh
@example
@c file eg/prog/extract.awk
@group
@@ -26664,7 +26614,6 @@ the body of an @code{if}, @code{else}, or loop is only a single statement.
@item
Parentheses are used only where needed, as indicated by the structure
of the program and the precedence rules.
-@c extra verbiage here satisfies the copyeditor. ugh.
For example, @samp{(3 + 5) * 4} means add three plus five, then multiply
the total by four. However, @samp{3 + 5 * 4} has no parentheses, and
means @samp{3 + (5 * 4)}.
@@ -27272,7 +27221,6 @@ present a special problem for translation.
Consider the following:@footnote{This example is borrowed
from the GNU @command{gettext} manual.}
-@c line broken here only for smallbook format
@example
printf(_"String `%s' has %d characters\n",
string, length(string)))
@@ -28972,8 +28920,6 @@ exactly.
@command{awk} uses @dfn{double precision} floating-point numbers, which
can hold more digits than @dfn{single precision}
floating-point numbers.
-@c Floating-point issues are discussed more fully in
-@c @ref{Floating Point Issues}.
There a several important issues to be aware of, described next.
@@ -30913,6 +30859,7 @@ procedure calls that do not return a value.
@table @code
@item #define emalloc(pointer, type, size, message) @dots{}
The arguments to this macro are as follows:
+
@c nested table
@table @code
@item pointer
@@ -31074,6 +31021,7 @@ a function with @command{gawk} using the following function.
@item void awk_atexit(void (*funcp)(void *data, int exit_status),
@itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ void *arg0);
The parameters are:
+
@c nested table
@table @code
@item funcp
@@ -32856,7 +32804,6 @@ Those are followed by the necessary variable declarations
to make use of the API macros and boilerplate code
(@pxref{Extension API Boilerplate}).
-@c break line for page breaking
@example
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -32943,7 +32890,6 @@ The @code{stat()} extension is more involved. First comes a function
that turns a numeric mode into a printable representation
(e.g., 644 becomes @samp{-rw-r--r--}). This is omitted here for brevity:
-@c break line for page breaking
@example
/* format_mode --- turn a stat mode field into something readable */
@@ -34358,7 +34304,7 @@ The @code{fflush()} built-in function for flushing buffered output
@ignore
@item
The @code{SYMTAB} array, that allows access to @command{awk}'s internal symbol
-table. This feature is not documented, largely because
+table. This feature was never documented for his @command{awk}, largely because
it is somewhat shakily implemented. For instance, you cannot access arrays
or array elements through it.
@end ignore
@@ -35667,6 +35613,9 @@ The improved array sorting features were driven by John together
with Pat Rankin.
@end itemize
+@cindex Papadopoulos, Panos
+Panos Papadopoulos contributed the original text for @ref{Include Files}.
+
@item
@cindex Yawitz, Efraim
Efraim Yawitz contributed the original text for @ref{Debugger}.
@@ -37787,19 +37736,19 @@ Automake,
Autoconf,
@command{bison},
and
-@command{gettext}.
+GNU @command{gettext}.
@ignore
-If it would help if I sent out an "I just upgraded to version x.y
-of tool Z" kind of message to this list, I can do that. Up until
+If it would help if I sent out an ``I just upgraded to version x.y
+of tool Z'' kind of message to this list, I can do that. Up until
now it hasn't been a real issue since I'm the only one who's been
dorking with the configuration machinery.
@end ignore
@c @enumerate A
@c @item
-Installing from source is quite easy. It's how the maintainer worked for years,
-and still works.
+Installing from source is quite easy. It's how the maintainer worked for years
+(and still works).
He had @file{/usr/local/bin} at the front of his @env{PATH} and just did:
@example
@@ -40469,9 +40418,6 @@ recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
-@c Local Variables:
-@c ispell-local-pdict: "ispell-dict"
-@c End:
@end ifclear
@ifnotdocbook
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index c85ba0bc..b9024eb9 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -236,6 +236,10 @@ quirk of the language / makeinfo, and isn't going to change.
@copying
@docbook
+<para>
+&ldquo;To boldly go where no man has gone before&rdquo; is a
+Registered Trademark of Paramount Pictures Corporation.</para>
+
<para>Published by:</para>
<literallayout class="normal">Free Software Foundation
@@ -1766,49 +1770,6 @@ License in @ref{GNU Free Documentation License}.)
@end ifclear
@end ifnotinfo
-@ignore
-@cindex Close, Diane
-The @value{DOCUMENT} itself has gone through several previous,
-preliminary editions.
-Paul Rubin wrote the very first draft of @cite{The GAWK Manual};
-it was around 40 pages in size.
-Diane Close and Richard Stallman improved it, yielding the
-version which I started working with in the fall of 1988.
-It was around 90 pages long and barely described the original, ``old''
-version of @command{awk}. After substantial revision, the first version of
-the @cite{The GAWK Manual} to be released was Edition 0.11 Beta in
-October of 1989. The manual then underwent more substantial revision
-for Edition 0.13 of December 1991.
-David Trueman, Pat Rankin and Michal Jaegermann contributed sections
-of the manual for Edition 0.13.
-That edition was published by the
-FSF as a bound book early in 1992. Since then there were several
-minor revisions, notably Edition 0.14 of November 1992 that was published
-by the FSF in January of 1993 and Edition 0.16 of August 1993.
-
-Edition 1.0 of @cite{GAWK: The GNU Awk User's Guide} represented a significant re-working
-of @cite{The GAWK Manual}, with much additional material.
-The FSF and I agreed that I was now the primary author.
-@c I also felt that the manual needed a more descriptive title.
-
-In January 1996, SSC published Edition 1.0 under the title @cite{Effective AWK Programming}.
-In February 1997, they published Edition 1.0.3 which had minor changes
-as a ``second edition.''
-In 1999, the FSF published this same version as Edition 2
-of @cite{GAWK: The GNU Awk User's Guide}.
-
-Edition @value{EDITION} maintains the basic structure of Edition 1.0,
-but with significant additional material, reflecting the host of new features
-in @command{gawk} version @value{VERSION}.
-Of particular note is
-@ref{Array Sorting},
-@ref{Bitwise Functions},
-@ref{Internationalization},
-@ref{Advanced Features},
-and
-@ref{Dynamic Extensions}.
-@end ignore
-
@cindex Close, Diane
The @value{DOCUMENT} itself has gone through a number of previous editions.
Paul Rubin wrote the very first draft of @cite{The GAWK Manual};
@@ -1827,16 +1788,24 @@ the title @cite{The GNU Awk User's Guide}.
@ifset FOR_PRINT
SSC published two editions of the @value{DOCUMENT} under the
title @cite{Effective awk Programming}, and in O'Reilly published
-the edition in 2001.
+the third edition in 2001.
@end ifset
This edition maintains the basic structure of the previous editions.
-For Edition 4.0, the content has been thoroughly reviewed
+For FSF edition 4.0, the content has been thoroughly reviewed
and updated. All references to @command{gawk} versions prior to 4.0 have been
removed.
Of significant note for this edition was @ref{Debugger}.
-For edition @value{EDITION}, the content has been reorganized into parts,
+For FSF edition
+@ifclear FOR_PRINT
+@value{EDITION},
+@end ifclear
+@ifset FOR_PRINT
+@value{EDITION}
+(the fourth edition as published by O'Reilly),
+@end ifset
+the content has been reorganized into parts,
and the major new additions are @ref{Arbitrary Precision Arithmetic},
and @ref{Dynamic Extensions}.
@@ -4106,7 +4075,8 @@ path. (A null entry is indicated by starting or ending the path with a
colon or by placing two colons next to each other [@samp{::}].)
This path search mechanism is similar
to the shell's.
-@c someday, @cite{The Bourne Again Shell}....
+(See @uref{http://www.gnu.org/software/bash/manual/,
+@cite{The Bourne-Again SHell manual}.})
However, @command{gawk} always looks in the current directory @emph{before}
searching @env{AWKPATH}, so there is no real reason to include
@@ -4419,6 +4389,8 @@ that can be loaded with either @code{@@load} or the @option{-l} option.
@node Obsolete
@section Obsolete Options and/or Features
+@c update this section for each release!
+
@cindex options, deprecated
@cindex features, deprecated
@cindex obsolete features
@@ -4427,8 +4399,6 @@ previous releases of @command{gawk} that are either not available in the
current version or that are still supported but deprecated (meaning that
they will @emph{not} be in the next release).
-@c update this section for each release!
-
The process-related special files @file{/dev/pid}, @file{/dev/ppid},
@file{/dev/pgrpid}, and @file{/dev/user} were deprecated in @command{gawk}
3.1, but still worked. As of version 4.0, they are no longer
@@ -5363,9 +5333,6 @@ GNU operators, but this was deemed too confusing. The current
method of using @samp{\y} for the GNU @samp{\b} appears to be the
lesser of two evils.
-@c NOTE!!! Keep this in sync with the same table in the summary appendix!
-@c
-@c Should really do this with file inclusion.
@cindex regular expressions, @command{gawk}, command-line options
@cindex @command{gawk}, command-line options, and regular expressions
The various command-line options
@@ -6692,7 +6659,6 @@ program on the file @file{mail-list}. The following command prints a
list of the names of the people that work at or attend a university, and
the first three digits of their phone numbers:
-@c tweaked to make the tex output look better in @smallbook
@example
$ @kbd{awk -F- -f edu.awk mail-list}
@print{} Fabius 555
@@ -8396,16 +8362,6 @@ the first character of the string.
@cindex dark corner, format-control characters
@cindex @command{gawk}, format-control characters
@quotation NOTE
-@ignore
-The @samp{%c} format does @emph{not} handle values outside the range
-0--255. On most systems, values from 0--127 are within the range of
-ASCII and will yield an ASCII character. Values in the range 128--255
-may format as characters in some extended character set, or they may not.
-System 390 (IBM architecture mainframe) systems use 8-bit characters,
-and thus values from 0--255 yield the corresponding EBCDIC character.
-Any value above 255 is treated as modulo 255; i.e., the lowest eight bits
-of the value are used. The locale and character set are always ignored.
-@end ignore
The POSIX standard says the first character of a string is printed.
In locales with multibyte characters, @command{gawk} attempts to
convert the leading bytes of the string into a valid wide character
@@ -8528,7 +8484,7 @@ which they may appear:
@table @code
@cindex differences in @command{awk} and @command{gawk}, @code{print}/@code{printf} statements
@cindex @code{printf} statement, positional specifiers
-@c the command does NOT start a secondary
+@c the code{} does NOT start a secondary
@cindex positional specifiers, @code{printf} statement
@item @var{N}$
An integer constant followed by a @samp{$} is a @dfn{positional specifier}.
@@ -10159,7 +10115,7 @@ One possibly undesirable effect of this definition of remainder is that
In other @command{awk} implementations, the signedness of the remainder
may be machine-dependent.
-@c !!! what does posix say?
+@c FIXME !!! what does posix say?
@cindex portability, @code{**} operator and
@cindex @code{*} (asterisk), @code{**} operator
@@ -18775,7 +18731,6 @@ that their statement is correct, this @value{CHAPTER} and @ref{Sample
Programs}, provide a good-sized body of code for you to read, and we hope,
to learn from.
-@c 2e: USE TEXINFO-2 FUNCTION DEFINITION STUFF!!!!!!!!!!!!!
This @value{CHAPTER} presents a library of useful @command{awk} functions.
Many of the sample programs presented later in this @value{DOCUMENT}
use these functions.
@@ -20155,7 +20110,6 @@ application might want to print its own error message.)
@item optopt
The letter representing the command-line option.
-@c While not usually documented, most versions supply this variable.
@end table
The following C fragment shows how @code{getopt()} might process command-line
@@ -20206,7 +20160,6 @@ necessary for accessing individual characters
function was written before @command{gawk} acquired the ability to
split strings into single characters using @code{""} as the separator.
We have left it alone, since using @code{substr()} is more portable.}
-@c FIXME: could use split(str, a, "") to do it more easily.
The discussion that follows walks through the code a bit at a time:
@@ -20491,8 +20444,6 @@ no more entries, it returns @code{NULL}, the null pointer. When this
happens, the C program should call @code{endpwent()} to close the database.
Following is @command{pwcat}, a C program that ``cats'' the password database:
-@c Use old style function header for portability to old systems (SunOS, HP/UX).
-
@example
@c file eg/lib/pwcat.c
/*
@@ -23886,7 +23837,6 @@ Finally, the function @code{@w{unexpected_eof()}} prints an appropriate
error message and then exits.
The @code{END} rule handles the final cleanup, closing the open file:
-@c function lb put on same line for page breaking. sigh
@example
@c file eg/prog/extract.awk
@group
@@ -25808,7 +25758,6 @@ the body of an @code{if}, @code{else}, or loop is only a single statement.
@item
Parentheses are used only where needed, as indicated by the structure
of the program and the precedence rules.
-@c extra verbiage here satisfies the copyeditor. ugh.
For example, @samp{(3 + 5) * 4} means add three plus five, then multiply
the total by four. However, @samp{3 + 5 * 4} has no parentheses, and
means @samp{3 + (5 * 4)}.
@@ -26416,7 +26365,6 @@ present a special problem for translation.
Consider the following:@footnote{This example is borrowed
from the GNU @command{gettext} manual.}
-@c line broken here only for smallbook format
@example
printf(_"String `%s' has %d characters\n",
string, length(string)))
@@ -28116,8 +28064,6 @@ exactly.
@command{awk} uses @dfn{double precision} floating-point numbers, which
can hold more digits than @dfn{single precision}
floating-point numbers.
-@c Floating-point issues are discussed more fully in
-@c @ref{Floating Point Issues}.
There a several important issues to be aware of, described next.
@@ -30057,6 +30003,7 @@ procedure calls that do not return a value.
@table @code
@item #define emalloc(pointer, type, size, message) @dots{}
The arguments to this macro are as follows:
+
@c nested table
@table @code
@item pointer
@@ -30218,6 +30165,7 @@ a function with @command{gawk} using the following function.
@item void awk_atexit(void (*funcp)(void *data, int exit_status),
@itemx @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ void *arg0);
The parameters are:
+
@c nested table
@table @code
@item funcp
@@ -32000,7 +31948,6 @@ Those are followed by the necessary variable declarations
to make use of the API macros and boilerplate code
(@pxref{Extension API Boilerplate}).
-@c break line for page breaking
@example
#ifdef HAVE_CONFIG_H
#include <config.h>
@@ -32087,7 +32034,6 @@ The @code{stat()} extension is more involved. First comes a function
that turns a numeric mode into a printable representation
(e.g., 644 becomes @samp{-rw-r--r--}). This is omitted here for brevity:
-@c break line for page breaking
@example
/* format_mode --- turn a stat mode field into something readable */
@@ -33502,7 +33448,7 @@ The @code{fflush()} built-in function for flushing buffered output
@ignore
@item
The @code{SYMTAB} array, that allows access to @command{awk}'s internal symbol
-table. This feature is not documented, largely because
+table. This feature was never documented for his @command{awk}, largely because
it is somewhat shakily implemented. For instance, you cannot access arrays
or array elements through it.
@end ignore
@@ -34811,6 +34757,9 @@ The improved array sorting features were driven by John together
with Pat Rankin.
@end itemize
+@cindex Papadopoulos, Panos
+Panos Papadopoulos contributed the original text for @ref{Include Files}.
+
@item
@cindex Yawitz, Efraim
Efraim Yawitz contributed the original text for @ref{Debugger}.
@@ -36931,19 +36880,19 @@ Automake,
Autoconf,
@command{bison},
and
-@command{gettext}.
+GNU @command{gettext}.
@ignore
-If it would help if I sent out an "I just upgraded to version x.y
-of tool Z" kind of message to this list, I can do that. Up until
+If it would help if I sent out an ``I just upgraded to version x.y
+of tool Z'' kind of message to this list, I can do that. Up until
now it hasn't been a real issue since I'm the only one who's been
dorking with the configuration machinery.
@end ignore
@c @enumerate A
@c @item
-Installing from source is quite easy. It's how the maintainer worked for years,
-and still works.
+Installing from source is quite easy. It's how the maintainer worked for years
+(and still works).
He had @file{/usr/local/bin} at the front of his @env{PATH} and just did:
@example
@@ -39613,9 +39562,6 @@ recommend releasing these examples in parallel under your choice of
free software license, such as the GNU General Public License,
to permit their use in free software.
-@c Local Variables:
-@c ispell-local-pdict: "ispell-dict"
-@c End:
@end ifclear
@ifnotdocbook