aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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 b91b9238..9d4809ae 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 ceeeb6f7..cb22b934 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
@@ -22232,6 +22234,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.
@@ -22391,6 +22394,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'.
@@ -26092,6 +26096,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'
@@ -27756,11 +27763,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
@@ -30853,7 +30860,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)
@@ -32301,6 +32308,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 181)
* parentheses (), in a profile: Profiling. (line 146)
* parentheses (), regexp operator: Regexp Operators. (line 80)
@@ -32647,7 +32655,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)
@@ -32693,7 +32701,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 284)
* Schorr, Andrew: Acknowledgments. (line 60)
* Schreiber, Bert: Acknowledgments. (line 38)
@@ -33180,7 +33188,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)
@@ -33226,526 +33234,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-1430621
-Ref: Auto-set-Footnote-2430826
-Node: ARGC and ARGV430882
-Node: Arrays434736
-Node: Array Basics436234
-Node: Array Intro437060
-Ref: figure-array-elements439033
-Node: Reference to Elements441440
-Node: Assigning Elements443713
-Node: Array Example444204
-Node: Scanning an Array445936
-Node: Controlling Scanning448951
-Ref: Controlling Scanning-Footnote-1454124
-Node: Delete454440
-Ref: Delete-Footnote-1457205
-Node: Numeric Array Subscripts457262
-Node: Uninitialized Subscripts459445
-Node: Multidimensional461070
-Node: Multiscanning464163
-Node: Arrays of Arrays465752
-Node: Functions470392
-Node: Built-in471211
-Node: Calling Built-in472289
-Node: Numeric Functions474277
-Ref: Numeric Functions-Footnote-1478111
-Ref: Numeric Functions-Footnote-2478468
-Ref: Numeric Functions-Footnote-3478516
-Node: String Functions478785
-Ref: String Functions-Footnote-1501796
-Ref: String Functions-Footnote-2501925
-Ref: String Functions-Footnote-3502173
-Node: Gory Details502260
-Ref: table-sub-escapes503929
-Ref: table-sub-posix-92505283
-Ref: table-sub-proposed506634
-Ref: table-posix-sub507988
-Ref: table-gensub-escapes509533
-Ref: Gory Details-Footnote-1510709
-Ref: Gory Details-Footnote-2510760
-Node: I/O Functions510911
-Ref: I/O Functions-Footnote-1518034
-Node: Time Functions518181
-Ref: Time Functions-Footnote-1528645
-Ref: Time Functions-Footnote-2528713
-Ref: Time Functions-Footnote-3528871
-Ref: Time Functions-Footnote-4528982
-Ref: Time Functions-Footnote-5529094
-Ref: Time Functions-Footnote-6529321
-Node: Bitwise Functions529587
-Ref: table-bitwise-ops530149
-Ref: Bitwise Functions-Footnote-1534394
-Node: Type Functions534578
-Node: I18N Functions535720
-Node: User-defined537365
-Node: Definition Syntax538169
-Ref: Definition Syntax-Footnote-1543094
-Node: Function Example543163
-Ref: Function Example-Footnote-1545807
-Node: Function Caveats545829
-Node: Calling A Function546347
-Node: Variable Scope547302
-Node: Pass By Value/Reference550290
-Node: Return Statement553798
-Node: Dynamic Typing556782
-Node: Indirect Calls557711
-Node: Library Functions567398
-Ref: Library Functions-Footnote-1570911
-Ref: Library Functions-Footnote-2571054
-Node: Library Names571225
-Ref: Library Names-Footnote-1574698
-Ref: Library Names-Footnote-2574918
-Node: General Functions575004
-Node: Strtonum Function576032
-Node: Assert Function578962
-Node: Round Function582288
-Node: Cliff Random Function583829
-Node: Ordinal Functions584845
-Ref: Ordinal Functions-Footnote-1587922
-Ref: Ordinal Functions-Footnote-2588174
-Node: Join Function588385
-Ref: Join Function-Footnote-1590156
-Node: Getlocaltime Function590356
-Node: Readfile Function594092
-Node: Data File Management595931
-Node: Filetrans Function596563
-Node: Rewind Function600632
-Node: File Checking602019
-Ref: File Checking-Footnote-1603151
-Node: Empty Files603352
-Node: Ignoring Assigns605582
-Node: Getopt Function607136
-Ref: Getopt Function-Footnote-1618439
-Node: Passwd Functions618642
-Ref: Passwd Functions-Footnote-1627621
-Node: Group Functions627709
-Ref: Group Functions-Footnote-1635651
-Node: Walking Arrays635864
-Node: Sample Programs638000
-Node: Running Examples638674
-Node: Clones639402
-Node: Cut Program640626
-Node: Egrep Program650479
-Ref: Egrep Program-Footnote-1658450
-Node: Id Program658560
-Node: Split Program662224
-Ref: Split Program-Footnote-1665762
-Node: Tee Program665890
-Node: Uniq Program668697
-Node: Wc Program676127
-Ref: Wc Program-Footnote-1680395
-Ref: Wc Program-Footnote-2680595
-Node: Miscellaneous Programs680687
-Node: Dupword Program681875
-Node: Alarm Program683906
-Node: Translate Program688713
-Ref: Translate Program-Footnote-1693104
-Ref: Translate Program-Footnote-2693374
-Node: Labels Program693508
-Ref: Labels Program-Footnote-1696879
-Node: Word Sorting696963
-Node: History Sorting701006
-Node: Extract Program702842
-Ref: Extract Program-Footnote-1710372
-Node: Simple Sed710501
-Node: Igawk Program713563
-Ref: Igawk Program-Footnote-1728738
-Ref: Igawk Program-Footnote-2728939
-Node: Anagram Program729077
-Node: Signature Program732145
-Node: Advanced Features733392
-Node: Nondecimal Data735278
-Node: Array Sorting736855
-Node: Controlling Array Traversal737552
-Node: Array Sorting Functions745832
-Ref: Array Sorting Functions-Footnote-1749739
-Node: Two-way I/O749933
-Ref: Two-way I/O-Footnote-1755449
-Node: TCP/IP Networking755531
-Node: Profiling758375
-Node: Internationalization765883
-Node: I18N and L10N767308
-Node: Explaining gettext767994
-Ref: Explaining gettext-Footnote-1773134
-Ref: Explaining gettext-Footnote-2773318
-Node: Programmer i18n773483
-Node: Translator i18n777708
-Node: String Extraction778502
-Ref: String Extraction-Footnote-1779463
-Node: Printf Ordering779549
-Ref: Printf Ordering-Footnote-1782331
-Node: I18N Portability782395
-Ref: I18N Portability-Footnote-1784844
-Node: I18N Example784907
-Ref: I18N Example-Footnote-1787629
-Node: Gawk I18N787701
-Node: Debugger788322
-Node: Debugging789293
-Node: Debugging Concepts789734
-Node: Debugging Terms791590
-Node: Awk Debugging794187
-Node: Sample Debugging Session795079
-Node: Debugger Invocation795599
-Node: Finding The Bug796932
-Node: List of Debugger Commands803414
-Node: Breakpoint Control804746
-Node: Debugger Execution Control808410
-Node: Viewing And Changing Data811770
-Node: Execution Stack815128
-Node: Debugger Info816641
-Node: Miscellaneous Debugger Commands820635
-Node: Readline Support825819
-Node: Limitations826711
-Node: Arbitrary Precision Arithmetic828959
-Ref: Arbitrary Precision Arithmetic-Footnote-1830608
-Node: General Arithmetic830756
-Node: Floating Point Issues832476
-Node: String Conversion Precision833357
-Ref: String Conversion Precision-Footnote-1835062
-Node: Unexpected Results835171
-Node: POSIX Floating Point Problems837324
-Ref: POSIX Floating Point Problems-Footnote-1841145
-Node: Integer Programming841183
-Node: Floating-point Programming842994
-Ref: Floating-point Programming-Footnote-1849322
-Ref: Floating-point Programming-Footnote-2849592
-Node: Floating-point Representation849856
-Node: Floating-point Context851021
-Ref: table-ieee-formats851860
-Node: Rounding Mode853244
-Ref: table-rounding-modes853723
-Ref: Rounding Mode-Footnote-1856738
-Node: Gawk and MPFR856917
-Node: Arbitrary Precision Floats858326
-Ref: Arbitrary Precision Floats-Footnote-1860769
-Node: Setting Precision861090
-Ref: table-predefined-precision-strings861774
-Node: Setting Rounding Mode863919
-Ref: table-gawk-rounding-modes864323
-Node: Floating-point Constants865510
-Node: Changing Precision866962
-Ref: Changing Precision-Footnote-1868354
-Node: Exact Arithmetic868528
-Node: Arbitrary Precision Integers871662
-Ref: Arbitrary Precision Integers-Footnote-1874677
-Node: Dynamic Extensions874824
-Node: Extension Intro876282
-Node: Plugin License877547
-Node: Extension Mechanism Outline878232
-Ref: figure-load-extension878656
-Ref: figure-load-new-function880141
-Ref: figure-call-new-function881143
-Node: Extension API Description883127
-Node: Extension API Functions Introduction884577
-Node: General Data Types889443
-Ref: General Data Types-Footnote-1895136
-Node: Requesting Values895435
-Ref: table-value-types-returned896172
-Node: Memory Allocation Functions897130
-Ref: Memory Allocation Functions-Footnote-1899876
-Node: Constructor Functions899972
-Node: Registration Functions901730
-Node: Extension Functions902415
-Node: Exit Callback Functions904717
-Node: Extension Version String905966
-Node: Input Parsers906616
-Node: Output Wrappers916419
-Node: Two-way processors920935
-Node: Printing Messages923138
-Ref: Printing Messages-Footnote-1924215
-Node: Updating `ERRNO'924367
-Node: Accessing Parameters925106
-Node: Symbol Table Access926336
-Node: Symbol table by name926850
-Node: Symbol table by cookie928826
-Ref: Symbol table by cookie-Footnote-1932959
-Node: Cached values933022
-Ref: Cached values-Footnote-1936527
-Node: Array Manipulation936618
-Ref: Array Manipulation-Footnote-1937716
-Node: Array Data Types937755
-Ref: Array Data Types-Footnote-1940458
-Node: Array Functions940550
-Node: Flattening Arrays944424
-Node: Creating Arrays951276
-Node: Extension API Variables956007
-Node: Extension Versioning956643
-Node: Extension API Informational Variables958544
-Node: Extension API Boilerplate959630
-Node: Finding Extensions963434
-Node: Extension Example963994
-Node: Internal File Description964724
-Node: Internal File Ops968815
-Ref: Internal File Ops-Footnote-1980361
-Node: Using Internal File Ops980501
-Ref: Using Internal File Ops-Footnote-1982848
-Node: Extension Samples983116
-Node: Extension Sample File Functions984640
-Node: Extension Sample Fnmatch992207
-Node: Extension Sample Fork993686
-Node: Extension Sample Inplace994899
-Node: Extension Sample Ord996677
-Node: Extension Sample Readdir997513
-Ref: table-readdir-file-types998368
-Node: Extension Sample Revout999167
-Node: Extension Sample Rev2way999758
-Node: Extension Sample Read write array1000499
-Node: Extension Sample Readfile1002378
-Node: Extension Sample API Tests1003478
-Node: Extension Sample Time1004003
-Node: gawkextlib1005318
-Node: Language History1008105
-Node: V7/SVR3.11009699
-Node: SVR41012019
-Node: POSIX1013461
-Node: BTL1014847
-Node: POSIX/GNU1015581
-Node: Feature History1021180
-Node: Common Extensions1034292
-Node: Ranges and Locales1035604
-Ref: Ranges and Locales-Footnote-11040221
-Ref: Ranges and Locales-Footnote-21040248
-Ref: Ranges and Locales-Footnote-31040482
-Node: Contributors1040703
-Node: Installation1046054
-Node: Gawk Distribution1046948
-Node: Getting1047432
-Node: Extracting1048258
-Node: Distribution contents1049900
-Node: Unix Installation1055617
-Node: Quick Installation1056234
-Node: Additional Configuration Options1058676
-Node: Configuration Philosophy1060414
-Node: Non-Unix Installation1062765
-Node: PC Installation1063223
-Node: PC Binary Installation1064534
-Node: PC Compiling1066382
-Ref: PC Compiling-Footnote-11069381
-Node: PC Testing1069486
-Node: PC Using1070662
-Node: Cygwin1074820
-Node: MSYS1075629
-Node: VMS Installation1076143
-Node: VMS Compilation1076939
-Ref: VMS Compilation-Footnote-11078160
-Node: VMS Dynamic Extensions1078218
-Node: VMS Installation Details1079591
-Node: VMS Running1081842
-Node: VMS GNV1084676
-Node: VMS Old Gawk1085399
-Node: Bugs1085869
-Node: Other Versions1089873
-Node: Notes1096098
-Node: Compatibility Mode1096898
-Node: Additions1097680
-Node: Accessing The Source1098605
-Node: Adding Code1100041
-Node: New Ports1106219
-Node: Derived Files1110700
-Ref: Derived Files-Footnote-11115776
-Ref: Derived Files-Footnote-21115810
-Ref: Derived Files-Footnote-31116406
-Node: Future Extensions1116520
-Node: Implementation Limitations1117126
-Node: Extension Design1118374
-Node: Old Extension Problems1119528
-Ref: Old Extension Problems-Footnote-11121045
-Node: Extension New Mechanism Goals1121102
-Ref: Extension New Mechanism Goals-Footnote-11124463
-Node: Extension Other Design Decisions1124652
-Node: Extension Future Growth1126758
-Node: Old Extension Mechanism1127594
-Node: Basic Concepts1129334
-Node: Basic High Level1130015
-Ref: figure-general-flow1130287
-Ref: figure-process-flow1130886
-Ref: Basic High Level-Footnote-11134115
-Node: Basic Data Typing1134300
-Node: Glossary1137627
-Node: Copying1162779
-Node: GNU Free Documentation License1200335
-Node: Index1225471
+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-1430722
+Ref: Auto-set-Footnote-2430927
+Node: ARGC and ARGV430983
+Node: Arrays434837
+Node: Array Basics436335
+Node: Array Intro437161
+Ref: figure-array-elements439134
+Node: Reference to Elements441541
+Node: Assigning Elements443814
+Node: Array Example444305
+Node: Scanning an Array446037
+Node: Controlling Scanning449052
+Ref: Controlling Scanning-Footnote-1454225
+Node: Delete454541
+Ref: Delete-Footnote-1457306
+Node: Numeric Array Subscripts457363
+Node: Uninitialized Subscripts459546
+Node: Multidimensional461171
+Node: Multiscanning464264
+Node: Arrays of Arrays465853
+Node: Functions470493
+Node: Built-in471312
+Node: Calling Built-in472390
+Node: Numeric Functions474378
+Ref: Numeric Functions-Footnote-1478212
+Ref: Numeric Functions-Footnote-2478569
+Ref: Numeric Functions-Footnote-3478617
+Node: String Functions478886
+Ref: String Functions-Footnote-1501897
+Ref: String Functions-Footnote-2502026
+Ref: String Functions-Footnote-3502274
+Node: Gory Details502361
+Ref: table-sub-escapes504030
+Ref: table-sub-posix-92505384
+Ref: table-sub-proposed506735
+Ref: table-posix-sub508089
+Ref: table-gensub-escapes509634
+Ref: Gory Details-Footnote-1510810
+Ref: Gory Details-Footnote-2510861
+Node: I/O Functions511012
+Ref: I/O Functions-Footnote-1518135
+Node: Time Functions518282
+Ref: Time Functions-Footnote-1528746
+Ref: Time Functions-Footnote-2528814
+Ref: Time Functions-Footnote-3528972
+Ref: Time Functions-Footnote-4529083
+Ref: Time Functions-Footnote-5529195
+Ref: Time Functions-Footnote-6529422
+Node: Bitwise Functions529688
+Ref: table-bitwise-ops530250
+Ref: Bitwise Functions-Footnote-1534495
+Node: Type Functions534679
+Node: I18N Functions535821
+Node: User-defined537466
+Node: Definition Syntax538270
+Ref: Definition Syntax-Footnote-1543195
+Node: Function Example543264
+Ref: Function Example-Footnote-1545908
+Node: Function Caveats545930
+Node: Calling A Function546448
+Node: Variable Scope547403
+Node: Pass By Value/Reference550391
+Node: Return Statement553899
+Node: Dynamic Typing556883
+Node: Indirect Calls557812
+Node: Library Functions567499
+Ref: Library Functions-Footnote-1571012
+Ref: Library Functions-Footnote-2571155
+Node: Library Names571326
+Ref: Library Names-Footnote-1574799
+Ref: Library Names-Footnote-2575019
+Node: General Functions575105
+Node: Strtonum Function576133
+Node: Assert Function579063
+Node: Round Function582389
+Node: Cliff Random Function583930
+Node: Ordinal Functions584946
+Ref: Ordinal Functions-Footnote-1588023
+Ref: Ordinal Functions-Footnote-2588275
+Node: Join Function588486
+Ref: Join Function-Footnote-1590257
+Node: Getlocaltime Function590457
+Node: Readfile Function594193
+Node: Data File Management596032
+Node: Filetrans Function596664
+Node: Rewind Function600733
+Node: File Checking602120
+Ref: File Checking-Footnote-1603252
+Node: Empty Files603453
+Node: Ignoring Assigns605683
+Node: Getopt Function607237
+Ref: Getopt Function-Footnote-1618540
+Node: Passwd Functions618743
+Ref: Passwd Functions-Footnote-1627722
+Node: Group Functions627810
+Ref: Group Functions-Footnote-1635752
+Node: Walking Arrays635965
+Node: Sample Programs638101
+Node: Running Examples638775
+Node: Clones639503
+Node: Cut Program640727
+Node: Egrep Program650580
+Ref: Egrep Program-Footnote-1658551
+Node: Id Program658661
+Node: Split Program662325
+Ref: Split Program-Footnote-1665863
+Node: Tee Program665991
+Node: Uniq Program668798
+Node: Wc Program676228
+Ref: Wc Program-Footnote-1680496
+Ref: Wc Program-Footnote-2680696
+Node: Miscellaneous Programs680788
+Node: Dupword Program681976
+Node: Alarm Program684007
+Node: Translate Program688814
+Ref: Translate Program-Footnote-1693205
+Ref: Translate Program-Footnote-2693475
+Node: Labels Program693609
+Ref: Labels Program-Footnote-1696980
+Node: Word Sorting697064
+Node: History Sorting701107
+Node: Extract Program702943
+Ref: Extract Program-Footnote-1710473
+Node: Simple Sed710602
+Node: Igawk Program713664
+Ref: Igawk Program-Footnote-1728839
+Ref: Igawk Program-Footnote-2729040
+Node: Anagram Program729178
+Node: Signature Program732246
+Node: Advanced Features733493
+Node: Nondecimal Data735379
+Node: Array Sorting736956
+Node: Controlling Array Traversal737653
+Node: Array Sorting Functions745933
+Ref: Array Sorting Functions-Footnote-1749840
+Node: Two-way I/O750034
+Ref: Two-way I/O-Footnote-1755550
+Node: TCP/IP Networking755632
+Node: Profiling758476
+Node: Internationalization765984
+Node: I18N and L10N767409
+Node: Explaining gettext768095
+Ref: Explaining gettext-Footnote-1773235
+Ref: Explaining gettext-Footnote-2773419
+Node: Programmer i18n773584
+Node: Translator i18n777809
+Node: String Extraction778603
+Ref: String Extraction-Footnote-1779564
+Node: Printf Ordering779650
+Ref: Printf Ordering-Footnote-1782432
+Node: I18N Portability782496
+Ref: I18N Portability-Footnote-1784945
+Node: I18N Example785008
+Ref: I18N Example-Footnote-1787730
+Node: Gawk I18N787802
+Node: Debugger788423
+Node: Debugging789394
+Node: Debugging Concepts789835
+Node: Debugging Terms791691
+Node: Awk Debugging794288
+Node: Sample Debugging Session795180
+Node: Debugger Invocation795700
+Node: Finding The Bug797033
+Node: List of Debugger Commands803515
+Node: Breakpoint Control804847
+Node: Debugger Execution Control808511
+Node: Viewing And Changing Data811871
+Node: Execution Stack815229
+Node: Debugger Info816742
+Node: Miscellaneous Debugger Commands820736
+Node: Readline Support825920
+Node: Limitations826812
+Node: Arbitrary Precision Arithmetic829060
+Ref: Arbitrary Precision Arithmetic-Footnote-1830709
+Node: General Arithmetic830857
+Node: Floating Point Issues832577
+Node: String Conversion Precision833458
+Ref: String Conversion Precision-Footnote-1835163
+Node: Unexpected Results835272
+Node: POSIX Floating Point Problems837425
+Ref: POSIX Floating Point Problems-Footnote-1841246
+Node: Integer Programming841284
+Node: Floating-point Programming843095
+Ref: Floating-point Programming-Footnote-1849423
+Ref: Floating-point Programming-Footnote-2849693
+Node: Floating-point Representation849957
+Node: Floating-point Context851122
+Ref: table-ieee-formats851961
+Node: Rounding Mode853345
+Ref: table-rounding-modes853824
+Ref: Rounding Mode-Footnote-1856839
+Node: Gawk and MPFR857018
+Node: Arbitrary Precision Floats858427
+Ref: Arbitrary Precision Floats-Footnote-1860870
+Node: Setting Precision861191
+Ref: table-predefined-precision-strings861875
+Node: Setting Rounding Mode864020
+Ref: table-gawk-rounding-modes864424
+Node: Floating-point Constants865611
+Node: Changing Precision867063
+Ref: Changing Precision-Footnote-1868455
+Node: Exact Arithmetic868629
+Node: Arbitrary Precision Integers871763
+Ref: Arbitrary Precision Integers-Footnote-1874778
+Node: Dynamic Extensions874925
+Node: Extension Intro876383
+Node: Plugin License877648
+Node: Extension Mechanism Outline878333
+Ref: figure-load-extension878757
+Ref: figure-load-new-function880242
+Ref: figure-call-new-function881244
+Node: Extension API Description883228
+Node: Extension API Functions Introduction884678
+Node: General Data Types889544
+Ref: General Data Types-Footnote-1895237
+Node: Requesting Values895536
+Ref: table-value-types-returned896273
+Node: Memory Allocation Functions897231
+Ref: Memory Allocation Functions-Footnote-1899978
+Node: Constructor Functions900074
+Node: Registration Functions901832
+Node: Extension Functions902517
+Node: Exit Callback Functions904819
+Node: Extension Version String906069
+Node: Input Parsers906719
+Node: Output Wrappers916522
+Node: Two-way processors921038
+Node: Printing Messages923241
+Ref: Printing Messages-Footnote-1924318
+Node: Updating `ERRNO'924470
+Node: Accessing Parameters925209
+Node: Symbol Table Access926439
+Node: Symbol table by name926953
+Node: Symbol table by cookie928929
+Ref: Symbol table by cookie-Footnote-1933062
+Node: Cached values933125
+Ref: Cached values-Footnote-1936630
+Node: Array Manipulation936721
+Ref: Array Manipulation-Footnote-1937819
+Node: Array Data Types937858
+Ref: Array Data Types-Footnote-1940561
+Node: Array Functions940653
+Node: Flattening Arrays944527
+Node: Creating Arrays951379
+Node: Extension API Variables956110
+Node: Extension Versioning956746
+Node: Extension API Informational Variables958647
+Node: Extension API Boilerplate959733
+Node: Finding Extensions963537
+Node: Extension Example964097
+Node: Internal File Description964827
+Node: Internal File Ops968918
+Ref: Internal File Ops-Footnote-1980464
+Node: Using Internal File Ops980604
+Ref: Using Internal File Ops-Footnote-1982951
+Node: Extension Samples983219
+Node: Extension Sample File Functions984743
+Node: Extension Sample Fnmatch992310
+Node: Extension Sample Fork993789
+Node: Extension Sample Inplace995002
+Node: Extension Sample Ord996780
+Node: Extension Sample Readdir997616
+Ref: table-readdir-file-types998471
+Node: Extension Sample Revout999270
+Node: Extension Sample Rev2way999861
+Node: Extension Sample Read write array1000602
+Node: Extension Sample Readfile1002481
+Node: Extension Sample API Tests1003581
+Node: Extension Sample Time1004106
+Node: gawkextlib1005421
+Node: Language History1008208
+Node: V7/SVR3.11009802
+Node: SVR41012122
+Node: POSIX1013564
+Node: BTL1014950
+Node: POSIX/GNU1015684
+Node: Feature History1021283
+Node: Common Extensions1034395
+Node: Ranges and Locales1035707
+Ref: Ranges and Locales-Footnote-11040324
+Ref: Ranges and Locales-Footnote-21040351
+Ref: Ranges and Locales-Footnote-31040585
+Node: Contributors1040806
+Node: Installation1046244
+Node: Gawk Distribution1047138
+Node: Getting1047622
+Node: Extracting1048448
+Node: Distribution contents1050090
+Node: Unix Installation1055807
+Node: Quick Installation1056424
+Node: Additional Configuration Options1058866
+Node: Configuration Philosophy1060604
+Node: Non-Unix Installation1062955
+Node: PC Installation1063413
+Node: PC Binary Installation1064724
+Node: PC Compiling1066572
+Ref: PC Compiling-Footnote-11069571
+Node: PC Testing1069676
+Node: PC Using1070852
+Node: Cygwin1075010
+Node: MSYS1075819
+Node: VMS Installation1076333
+Node: VMS Compilation1077129
+Ref: VMS Compilation-Footnote-11078350
+Node: VMS Dynamic Extensions1078408
+Node: VMS Installation Details1079781
+Node: VMS Running1082032
+Node: VMS GNV1084866
+Node: VMS Old Gawk1085589
+Node: Bugs1086059
+Node: Other Versions1090063
+Node: Notes1096288
+Node: Compatibility Mode1097088
+Node: Additions1097870
+Node: Accessing The Source1098795
+Node: Adding Code1100231
+Node: New Ports1106409
+Node: Derived Files1110890
+Ref: Derived Files-Footnote-11115971
+Ref: Derived Files-Footnote-21116005
+Ref: Derived Files-Footnote-31116601
+Node: Future Extensions1116715
+Node: Implementation Limitations1117321
+Node: Extension Design1118569
+Node: Old Extension Problems1119723
+Ref: Old Extension Problems-Footnote-11121240
+Node: Extension New Mechanism Goals1121297
+Ref: Extension New Mechanism Goals-Footnote-11124658
+Node: Extension Other Design Decisions1124847
+Node: Extension Future Growth1126953
+Node: Old Extension Mechanism1127789
+Node: Basic Concepts1129529
+Node: Basic High Level1130210
+Ref: figure-general-flow1130482
+Ref: figure-process-flow1131081
+Ref: Basic High Level-Footnote-11134310
+Node: Basic Data Typing1134495
+Node: Glossary1137822
+Node: Copying1162974
+Node: GNU Free Documentation License1200530
+Node: Index1225666

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 416bfd8a..4d63bae9 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
@@ -19594,7 +19550,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.
@@ -21003,7 +20958,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
@@ -21054,7 +21008,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:
@@ -21339,8 +21292,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
/*
@@ -24734,7 +24685,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
@@ -26656,7 +26606,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)}.
@@ -27264,7 +27213,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)))
@@ -28964,8 +28912,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.
@@ -30905,6 +30851,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
@@ -31066,6 +31013,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
@@ -32848,7 +32796,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>
@@ -32935,7 +32882,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 */
@@ -34350,7 +34296,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
@@ -35659,6 +35605,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}.
@@ -37777,19 +37726,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
@@ -40459,9 +40408,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 45e807a2..69abf674 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
@@ -18767,7 +18723,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.
@@ -20147,7 +20102,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
@@ -20198,7 +20152,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:
@@ -20483,8 +20436,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
/*
@@ -23878,7 +23829,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
@@ -25800,7 +25750,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)}.
@@ -26408,7 +26357,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)))
@@ -28108,8 +28056,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.
@@ -30049,6 +29995,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
@@ -30210,6 +30157,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
@@ -31992,7 +31940,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>
@@ -32079,7 +32026,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 */
@@ -33494,7 +33440,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
@@ -34803,6 +34749,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}.
@@ -36921,19 +36870,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
@@ -39603,9 +39552,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