aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.info971
-rw-r--r--doc/gawk.texi95
-rw-r--r--doc/gawktexi.in95
4 files changed, 649 insertions, 517 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index e70a49bc..eecfbd04 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2014-05-07 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Docbook edits for preface and parts.
+ Document AWKBUFSIZE.
+
2014-05-05 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Editing progress. Through Chapter 9.
diff --git a/doc/gawk.info b/doc/gawk.info
index 2f45d06f..faaa1364 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2875,9 +2875,18 @@ used by regular users.
the `gawk' developers for testing and tuning. They are subject to
change. The variables are:
+`AWKBUFSIZE'
+ This variable only affects `gawk' on POSIX-compliant systems.
+ With a value of `exact', `gawk' uses the size of each input file
+ as the size of the memory buffer to allocate for I/O. Otherwise,
+ the value should be a number, and `gawk' uses that number as the
+ size of the buffer to allocate. (When this variable is not set,
+ `gawk' uses the smaller of the file's size and the "default"
+ blocksize, which is usually the file systems I/O blocksize.)
+
`AWK_HASH'
- If this variable exists with a value of `gst', `gawk' will switch
- to using the hash function from GNU Smalltalk for managing arrays.
+ If this variable exists with a value of `gst', `gawk' switches to
+ using the hash function from GNU Smalltalk for managing arrays.
This function may be marginally faster than the standard function.
`AWKREADFUNC'
@@ -33251,484 +33260,484 @@ Ref: AWKPATH Variable-Footnote-1133823
Ref: AWKPATH Variable-Footnote-2133868
Node: AWKLIBPATH Variable134128
Node: Other Environment Variables134887
-Node: Exit Status138052
-Node: Include Files138727
-Node: Loading Shared Libraries142305
-Node: Obsolete143688
-Node: Undocumented144385
-Node: Regexp144627
-Node: Regexp Usage146016
-Node: Escape Sequences148049
-Node: Regexp Operators153716
-Ref: Regexp Operators-Footnote-1161196
-Ref: Regexp Operators-Footnote-2161343
-Node: Bracket Expressions161441
-Ref: table-char-classes163331
-Node: GNU Regexp Operators165854
-Node: Case-sensitivity169577
-Ref: Case-sensitivity-Footnote-1172469
-Ref: Case-sensitivity-Footnote-2172704
-Node: Leftmost Longest172812
-Node: Computed Regexps174013
-Node: Reading Files177362
-Node: Records179364
-Node: awk split records180099
-Node: gawk split records184957
-Ref: gawk split records-Footnote-1189478
-Node: Fields189515
-Ref: Fields-Footnote-1192479
-Node: Nonconstant Fields192565
-Ref: Nonconstant Fields-Footnote-1194795
-Node: Changing Fields194997
-Node: Field Separators200951
-Node: Default Field Splitting203653
-Node: Regexp Field Splitting204770
-Node: Single Character Fields208111
-Node: Command Line Field Separator209170
-Node: Full Line Fields212512
-Ref: Full Line Fields-Footnote-1213020
-Node: Field Splitting Summary213066
-Ref: Field Splitting Summary-Footnote-1216165
-Node: Constant Size216266
-Node: Splitting By Content220873
-Ref: Splitting By Content-Footnote-1224623
-Node: Multiple Line224663
-Ref: Multiple Line-Footnote-1230519
-Node: Getline230698
-Node: Plain Getline232914
-Node: Getline/Variable235009
-Node: Getline/File236156
-Node: Getline/Variable/File237540
-Ref: Getline/Variable/File-Footnote-1239139
-Node: Getline/Pipe239226
-Node: Getline/Variable/Pipe241925
-Node: Getline/Coprocess243032
-Node: Getline/Variable/Coprocess244284
-Node: Getline Notes245021
-Node: Getline Summary247825
-Ref: table-getline-variants248233
-Node: Read Timeout249145
-Ref: Read Timeout-Footnote-1252972
-Node: Command line directories253030
-Node: Printing253912
-Node: Print255543
-Node: Print Examples256884
-Node: Output Separators259663
-Node: OFMT261679
-Node: Printf263037
-Node: Basic Printf263943
-Node: Control Letters265482
-Node: Format Modifiers269336
-Node: Printf Examples275363
-Node: Redirection278070
-Node: Special Files285042
-Node: Special FD285575
-Ref: Special FD-Footnote-1289199
-Node: Special Network289273
-Node: Special Caveats290123
-Node: Close Files And Pipes290919
-Ref: Close Files And Pipes-Footnote-1298057
-Ref: Close Files And Pipes-Footnote-2298205
-Node: Expressions298355
-Node: Values299487
-Node: Constants300163
-Node: Scalar Constants300843
-Ref: Scalar Constants-Footnote-1301702
-Node: Nondecimal-numbers301952
-Node: Regexp Constants304952
-Node: Using Constant Regexps305427
-Node: Variables308497
-Node: Using Variables309152
-Node: Assignment Options310876
-Node: Conversion312751
-Ref: table-locale-affects318187
-Ref: Conversion-Footnote-1318811
-Node: All Operators318920
-Node: Arithmetic Ops319550
-Node: Concatenation322055
-Ref: Concatenation-Footnote-1324851
-Node: Assignment Ops324971
-Ref: table-assign-ops329954
-Node: Increment Ops331271
-Node: Truth Values and Conditions334709
-Node: Truth Values335792
-Node: Typing and Comparison336841
-Node: Variable Typing337634
-Ref: Variable Typing-Footnote-1341534
-Node: Comparison Operators341656
-Ref: table-relational-ops342066
-Node: POSIX String Comparison345614
-Ref: POSIX String Comparison-Footnote-1346698
-Node: Boolean Ops346836
-Ref: Boolean Ops-Footnote-1350906
-Node: Conditional Exp350997
-Node: Function Calls352724
-Node: Precedence356482
-Node: Locales360151
-Node: Patterns and Actions361754
-Node: Pattern Overview362808
-Node: Regexp Patterns364485
-Node: Expression Patterns365028
-Node: Ranges368809
-Node: BEGIN/END371915
-Node: Using BEGIN/END372677
-Ref: Using BEGIN/END-Footnote-1375413
-Node: I/O And BEGIN/END375519
-Node: BEGINFILE/ENDFILE377804
-Node: Empty380740
-Node: Using Shell Variables381057
-Node: Action Overview383340
-Node: Statements385685
-Node: If Statement387539
-Node: While Statement389038
-Node: Do Statement391082
-Node: For Statement392238
-Node: Switch Statement395390
-Node: Break Statement397493
-Node: Continue Statement399548
-Node: Next Statement401341
-Node: Nextfile Statement403731
-Node: Exit Statement406386
-Node: Built-in Variables408788
-Node: User-modified409884
-Ref: User-modified-Footnote-1417569
-Node: Auto-set417631
-Ref: Auto-set-Footnote-1430533
-Ref: Auto-set-Footnote-2430738
-Node: ARGC and ARGV430794
-Node: Arrays434648
-Node: Array Basics436146
-Node: Array Intro436972
-Ref: figure-array-elements438945
-Node: Reference to Elements441352
-Node: Assigning Elements443625
-Node: Array Example444116
-Node: Scanning an Array445848
-Node: Controlling Scanning448863
-Ref: Controlling Scanning-Footnote-1454036
-Node: Delete454352
-Ref: Delete-Footnote-1457117
-Node: Numeric Array Subscripts457174
-Node: Uninitialized Subscripts459357
-Node: Multidimensional460982
-Node: Multiscanning464075
-Node: Arrays of Arrays465664
-Node: Functions470304
-Node: Built-in471123
-Node: Calling Built-in472201
-Node: Numeric Functions474189
-Ref: Numeric Functions-Footnote-1478023
-Ref: Numeric Functions-Footnote-2478380
-Ref: Numeric Functions-Footnote-3478428
-Node: String Functions478697
-Ref: String Functions-Footnote-1501708
-Ref: String Functions-Footnote-2501837
-Ref: String Functions-Footnote-3502085
-Node: Gory Details502172
-Ref: table-sub-escapes503841
-Ref: table-sub-posix-92505195
-Ref: table-sub-proposed506546
-Ref: table-posix-sub507900
-Ref: table-gensub-escapes509445
-Ref: Gory Details-Footnote-1510621
-Ref: Gory Details-Footnote-2510672
-Node: I/O Functions510823
-Ref: I/O Functions-Footnote-1517946
-Node: Time Functions518093
-Ref: Time Functions-Footnote-1528557
-Ref: Time Functions-Footnote-2528625
-Ref: Time Functions-Footnote-3528783
-Ref: Time Functions-Footnote-4528894
-Ref: Time Functions-Footnote-5529006
-Ref: Time Functions-Footnote-6529233
-Node: Bitwise Functions529499
-Ref: table-bitwise-ops530061
-Ref: Bitwise Functions-Footnote-1534306
-Node: Type Functions534490
-Node: I18N Functions535632
-Node: User-defined537277
-Node: Definition Syntax538081
-Ref: Definition Syntax-Footnote-1542996
-Node: Function Example543065
-Ref: Function Example-Footnote-1545709
-Node: Function Caveats545731
-Node: Calling A Function546249
-Node: Variable Scope547204
-Node: Pass By Value/Reference550192
-Node: Return Statement553700
-Node: Dynamic Typing556682
-Node: Indirect Calls557611
-Node: Library Functions567298
-Ref: Library Functions-Footnote-1570811
-Ref: Library Functions-Footnote-2570954
-Node: Library Names571125
-Ref: Library Names-Footnote-1574598
-Ref: Library Names-Footnote-2574818
-Node: General Functions574904
-Node: Strtonum Function575932
-Node: Assert Function578862
-Node: Round Function582188
-Node: Cliff Random Function583729
-Node: Ordinal Functions584745
-Ref: Ordinal Functions-Footnote-1587822
-Ref: Ordinal Functions-Footnote-2588074
-Node: Join Function588285
-Ref: Join Function-Footnote-1590056
-Node: Getlocaltime Function590256
-Node: Readfile Function593997
-Node: Data File Management595836
-Node: Filetrans Function596468
-Node: Rewind Function600537
-Node: File Checking601924
-Node: Empty Files603018
-Node: Ignoring Assigns605248
-Node: Getopt Function606802
-Ref: Getopt Function-Footnote-1618105
-Node: Passwd Functions618308
-Ref: Passwd Functions-Footnote-1627286
-Node: Group Functions627374
-Node: Walking Arrays635458
-Node: Sample Programs637594
-Node: Running Examples638268
-Node: Clones638996
-Node: Cut Program640220
-Node: Egrep Program650071
-Ref: Egrep Program-Footnote-1657844
-Node: Id Program657954
-Node: Split Program661603
-Ref: Split Program-Footnote-1665122
-Node: Tee Program665250
-Node: Uniq Program668053
-Node: Wc Program675482
-Ref: Wc Program-Footnote-1679748
-Ref: Wc Program-Footnote-2679948
-Node: Miscellaneous Programs680040
-Node: Dupword Program681228
-Node: Alarm Program683259
-Node: Translate Program688066
-Ref: Translate Program-Footnote-1692453
-Ref: Translate Program-Footnote-2692701
-Node: Labels Program692835
-Ref: Labels Program-Footnote-1696206
-Node: Word Sorting696290
-Node: History Sorting700174
-Node: Extract Program702013
-Ref: Extract Program-Footnote-1709516
-Node: Simple Sed709644
-Node: Igawk Program712706
-Ref: Igawk Program-Footnote-1727877
-Ref: Igawk Program-Footnote-2728078
-Node: Anagram Program728216
-Node: Signature Program731284
-Node: Advanced Features732384
-Node: Nondecimal Data734270
-Node: Array Sorting735853
-Node: Controlling Array Traversal736550
-Node: Array Sorting Functions744834
-Ref: Array Sorting Functions-Footnote-1748703
-Node: Two-way I/O748897
-Ref: Two-way I/O-Footnote-1754329
-Node: TCP/IP Networking754411
-Node: Profiling757255
-Node: Internationalization764758
-Node: I18N and L10N766183
-Node: Explaining gettext766869
-Ref: Explaining gettext-Footnote-1771937
-Ref: Explaining gettext-Footnote-2772121
-Node: Programmer i18n772286
-Node: Translator i18n776513
-Node: String Extraction777307
-Ref: String Extraction-Footnote-1778268
-Node: Printf Ordering778354
-Ref: Printf Ordering-Footnote-1781136
-Node: I18N Portability781200
-Ref: I18N Portability-Footnote-1783649
-Node: I18N Example783712
-Ref: I18N Example-Footnote-1786350
-Node: Gawk I18N786422
-Node: Debugger787043
-Node: Debugging788014
-Node: Debugging Concepts788447
-Node: Debugging Terms790303
-Node: Awk Debugging792900
-Node: Sample Debugging Session793792
-Node: Debugger Invocation794312
-Node: Finding The Bug795645
-Node: List of Debugger Commands802132
-Node: Breakpoint Control803466
-Node: Debugger Execution Control807130
-Node: Viewing And Changing Data810490
-Node: Execution Stack813846
-Node: Debugger Info815313
-Node: Miscellaneous Debugger Commands819307
-Node: Readline Support824485
-Node: Limitations825316
-Node: Arbitrary Precision Arithmetic827568
-Ref: Arbitrary Precision Arithmetic-Footnote-1829217
-Node: General Arithmetic829365
-Node: Floating Point Issues831085
-Node: String Conversion Precision831966
-Ref: String Conversion Precision-Footnote-1833671
-Node: Unexpected Results833780
-Node: POSIX Floating Point Problems835933
-Ref: POSIX Floating Point Problems-Footnote-1839758
-Node: Integer Programming839796
-Node: Floating-point Programming841535
-Ref: Floating-point Programming-Footnote-1847866
-Ref: Floating-point Programming-Footnote-2848136
-Node: Floating-point Representation848400
-Node: Floating-point Context849565
-Ref: table-ieee-formats850404
-Node: Rounding Mode851788
-Ref: table-rounding-modes852267
-Ref: Rounding Mode-Footnote-1855282
-Node: Gawk and MPFR855461
-Node: Arbitrary Precision Floats856870
-Ref: Arbitrary Precision Floats-Footnote-1859313
-Node: Setting Precision859629
-Ref: table-predefined-precision-strings860315
-Node: Setting Rounding Mode862460
-Ref: table-gawk-rounding-modes862864
-Node: Floating-point Constants864051
-Node: Changing Precision865480
-Ref: Changing Precision-Footnote-1866877
-Node: Exact Arithmetic867051
-Node: Arbitrary Precision Integers870189
-Ref: Arbitrary Precision Integers-Footnote-1873204
-Node: Dynamic Extensions873351
-Node: Extension Intro874809
-Node: Plugin License876074
-Node: Extension Mechanism Outline876759
-Ref: load-extension877176
-Ref: load-new-function878654
-Ref: call-new-function879649
-Node: Extension API Description881664
-Node: Extension API Functions Introduction882951
-Node: General Data Types887878
-Ref: General Data Types-Footnote-1893573
-Node: Requesting Values893872
-Ref: table-value-types-returned894609
-Node: Memory Allocation Functions895563
-Ref: Memory Allocation Functions-Footnote-1898309
-Node: Constructor Functions898405
-Node: Registration Functions900163
-Node: Extension Functions900848
-Node: Exit Callback Functions903150
-Node: Extension Version String904399
-Node: Input Parsers905049
-Node: Output Wrappers914806
-Node: Two-way processors919316
-Node: Printing Messages921524
-Ref: Printing Messages-Footnote-1922601
-Node: Updating `ERRNO'922753
-Node: Accessing Parameters923492
-Node: Symbol Table Access924722
-Node: Symbol table by name925236
-Node: Symbol table by cookie927212
-Ref: Symbol table by cookie-Footnote-1931344
-Node: Cached values931407
-Ref: Cached values-Footnote-1934897
-Node: Array Manipulation934988
-Ref: Array Manipulation-Footnote-1936086
-Node: Array Data Types936125
-Ref: Array Data Types-Footnote-1938828
-Node: Array Functions938920
-Node: Flattening Arrays942756
-Node: Creating Arrays949608
-Node: Extension API Variables954333
-Node: Extension Versioning954969
-Node: Extension API Informational Variables956870
-Node: Extension API Boilerplate957956
-Node: Finding Extensions961760
-Node: Extension Example962320
-Node: Internal File Description963050
-Node: Internal File Ops967141
-Ref: Internal File Ops-Footnote-1978650
-Node: Using Internal File Ops978790
-Ref: Using Internal File Ops-Footnote-1981137
-Node: Extension Samples981403
-Node: Extension Sample File Functions982927
-Node: Extension Sample Fnmatch991414
-Node: Extension Sample Fork993183
-Node: Extension Sample Inplace994396
-Node: Extension Sample Ord996174
-Node: Extension Sample Readdir997010
-Node: Extension Sample Revout998542
-Node: Extension Sample Rev2way999135
-Node: Extension Sample Read write array999825
-Node: Extension Sample Readfile1001708
-Node: Extension Sample API Tests1002808
-Node: Extension Sample Time1003333
-Node: gawkextlib1004697
-Node: Language History1007478
-Node: V7/SVR3.11009071
-Node: SVR41011391
-Node: POSIX1012833
-Node: BTL1014219
-Node: POSIX/GNU1014953
-Node: Feature History1020552
-Node: Common Extensions1033528
-Node: Ranges and Locales1034840
-Ref: Ranges and Locales-Footnote-11039457
-Ref: Ranges and Locales-Footnote-21039484
-Ref: Ranges and Locales-Footnote-31039718
-Node: Contributors1039939
-Node: Installation1045320
-Node: Gawk Distribution1046214
-Node: Getting1046698
-Node: Extracting1047524
-Node: Distribution contents1049216
-Node: Unix Installation1054937
-Node: Quick Installation1055554
-Node: Additional Configuration Options1058000
-Node: Configuration Philosophy1059736
-Node: Non-Unix Installation1062090
-Node: PC Installation1062548
-Node: PC Binary Installation1063847
-Node: PC Compiling1065695
-Node: PC Testing1068639
-Node: PC Using1069815
-Node: Cygwin1073983
-Node: MSYS1074792
-Node: VMS Installation1075306
-Node: VMS Compilation1076102
-Ref: VMS Compilation-Footnote-11077354
-Node: VMS Dynamic Extensions1077412
-Node: VMS Installation Details1078785
-Node: VMS Running1081036
-Node: VMS GNV1083870
-Node: VMS Old Gawk1084593
-Node: Bugs1085063
-Node: Other Versions1088981
-Node: Notes1095065
-Node: Compatibility Mode1095865
-Node: Additions1096648
-Node: Accessing The Source1097575
-Node: Adding Code1099015
-Node: New Ports1105060
-Node: Derived Files1109195
-Ref: Derived Files-Footnote-11114516
-Ref: Derived Files-Footnote-21114550
-Ref: Derived Files-Footnote-31115150
-Node: Future Extensions1115248
-Node: Implementation Limitations1115831
-Node: Extension Design1117079
-Node: Old Extension Problems1118233
-Ref: Old Extension Problems-Footnote-11119741
-Node: Extension New Mechanism Goals1119798
-Ref: Extension New Mechanism Goals-Footnote-11123163
-Node: Extension Other Design Decisions1123349
-Node: Extension Future Growth1125455
-Node: Old Extension Mechanism1126291
-Node: Basic Concepts1128031
-Node: Basic High Level1128712
-Ref: figure-general-flow1128984
-Ref: figure-process-flow1129583
-Ref: Basic High Level-Footnote-11132812
-Node: Basic Data Typing1132997
-Node: Glossary1136352
-Node: Copying1161583
-Node: GNU Free Documentation License1199139
-Node: Index1224275
+Node: Exit Status138542
+Node: Include Files139217
+Node: Loading Shared Libraries142795
+Node: Obsolete144178
+Node: Undocumented144875
+Node: Regexp145117
+Node: Regexp Usage146506
+Node: Escape Sequences148539
+Node: Regexp Operators154206
+Ref: Regexp Operators-Footnote-1161686
+Ref: Regexp Operators-Footnote-2161833
+Node: Bracket Expressions161931
+Ref: table-char-classes163821
+Node: GNU Regexp Operators166344
+Node: Case-sensitivity170067
+Ref: Case-sensitivity-Footnote-1172959
+Ref: Case-sensitivity-Footnote-2173194
+Node: Leftmost Longest173302
+Node: Computed Regexps174503
+Node: Reading Files177852
+Node: Records179854
+Node: awk split records180589
+Node: gawk split records185447
+Ref: gawk split records-Footnote-1189968
+Node: Fields190005
+Ref: Fields-Footnote-1192969
+Node: Nonconstant Fields193055
+Ref: Nonconstant Fields-Footnote-1195285
+Node: Changing Fields195487
+Node: Field Separators201441
+Node: Default Field Splitting204143
+Node: Regexp Field Splitting205260
+Node: Single Character Fields208601
+Node: Command Line Field Separator209660
+Node: Full Line Fields213002
+Ref: Full Line Fields-Footnote-1213510
+Node: Field Splitting Summary213556
+Ref: Field Splitting Summary-Footnote-1216655
+Node: Constant Size216756
+Node: Splitting By Content221363
+Ref: Splitting By Content-Footnote-1225113
+Node: Multiple Line225153
+Ref: Multiple Line-Footnote-1231009
+Node: Getline231188
+Node: Plain Getline233404
+Node: Getline/Variable235499
+Node: Getline/File236646
+Node: Getline/Variable/File238030
+Ref: Getline/Variable/File-Footnote-1239629
+Node: Getline/Pipe239716
+Node: Getline/Variable/Pipe242415
+Node: Getline/Coprocess243522
+Node: Getline/Variable/Coprocess244774
+Node: Getline Notes245511
+Node: Getline Summary248315
+Ref: table-getline-variants248723
+Node: Read Timeout249635
+Ref: Read Timeout-Footnote-1253462
+Node: Command line directories253520
+Node: Printing254402
+Node: Print256033
+Node: Print Examples257374
+Node: Output Separators260153
+Node: OFMT262169
+Node: Printf263527
+Node: Basic Printf264433
+Node: Control Letters265972
+Node: Format Modifiers269826
+Node: Printf Examples275853
+Node: Redirection278560
+Node: Special Files285532
+Node: Special FD286065
+Ref: Special FD-Footnote-1289689
+Node: Special Network289763
+Node: Special Caveats290613
+Node: Close Files And Pipes291409
+Ref: Close Files And Pipes-Footnote-1298547
+Ref: Close Files And Pipes-Footnote-2298695
+Node: Expressions298845
+Node: Values299977
+Node: Constants300653
+Node: Scalar Constants301333
+Ref: Scalar Constants-Footnote-1302192
+Node: Nondecimal-numbers302442
+Node: Regexp Constants305442
+Node: Using Constant Regexps305917
+Node: Variables308987
+Node: Using Variables309642
+Node: Assignment Options311366
+Node: Conversion313241
+Ref: table-locale-affects318677
+Ref: Conversion-Footnote-1319301
+Node: All Operators319410
+Node: Arithmetic Ops320040
+Node: Concatenation322545
+Ref: Concatenation-Footnote-1325341
+Node: Assignment Ops325461
+Ref: table-assign-ops330444
+Node: Increment Ops331761
+Node: Truth Values and Conditions335199
+Node: Truth Values336282
+Node: Typing and Comparison337331
+Node: Variable Typing338124
+Ref: Variable Typing-Footnote-1342024
+Node: Comparison Operators342146
+Ref: table-relational-ops342556
+Node: POSIX String Comparison346104
+Ref: POSIX String Comparison-Footnote-1347188
+Node: Boolean Ops347326
+Ref: Boolean Ops-Footnote-1351396
+Node: Conditional Exp351487
+Node: Function Calls353214
+Node: Precedence356972
+Node: Locales360641
+Node: Patterns and Actions362244
+Node: Pattern Overview363298
+Node: Regexp Patterns364975
+Node: Expression Patterns365518
+Node: Ranges369299
+Node: BEGIN/END372405
+Node: Using BEGIN/END373167
+Ref: Using BEGIN/END-Footnote-1375903
+Node: I/O And BEGIN/END376009
+Node: BEGINFILE/ENDFILE378294
+Node: Empty381230
+Node: Using Shell Variables381547
+Node: Action Overview383830
+Node: Statements386175
+Node: If Statement388029
+Node: While Statement389528
+Node: Do Statement391572
+Node: For Statement392728
+Node: Switch Statement395880
+Node: Break Statement397983
+Node: Continue Statement400038
+Node: Next Statement401831
+Node: Nextfile Statement404221
+Node: Exit Statement406876
+Node: Built-in Variables409278
+Node: User-modified410374
+Ref: User-modified-Footnote-1418059
+Node: Auto-set418121
+Ref: Auto-set-Footnote-1431023
+Ref: Auto-set-Footnote-2431228
+Node: ARGC and ARGV431284
+Node: Arrays435138
+Node: Array Basics436636
+Node: Array Intro437462
+Ref: figure-array-elements439435
+Node: Reference to Elements441842
+Node: Assigning Elements444115
+Node: Array Example444606
+Node: Scanning an Array446338
+Node: Controlling Scanning449353
+Ref: Controlling Scanning-Footnote-1454526
+Node: Delete454842
+Ref: Delete-Footnote-1457607
+Node: Numeric Array Subscripts457664
+Node: Uninitialized Subscripts459847
+Node: Multidimensional461472
+Node: Multiscanning464565
+Node: Arrays of Arrays466154
+Node: Functions470794
+Node: Built-in471613
+Node: Calling Built-in472691
+Node: Numeric Functions474679
+Ref: Numeric Functions-Footnote-1478513
+Ref: Numeric Functions-Footnote-2478870
+Ref: Numeric Functions-Footnote-3478918
+Node: String Functions479187
+Ref: String Functions-Footnote-1502198
+Ref: String Functions-Footnote-2502327
+Ref: String Functions-Footnote-3502575
+Node: Gory Details502662
+Ref: table-sub-escapes504331
+Ref: table-sub-posix-92505685
+Ref: table-sub-proposed507036
+Ref: table-posix-sub508390
+Ref: table-gensub-escapes509935
+Ref: Gory Details-Footnote-1511111
+Ref: Gory Details-Footnote-2511162
+Node: I/O Functions511313
+Ref: I/O Functions-Footnote-1518436
+Node: Time Functions518583
+Ref: Time Functions-Footnote-1529047
+Ref: Time Functions-Footnote-2529115
+Ref: Time Functions-Footnote-3529273
+Ref: Time Functions-Footnote-4529384
+Ref: Time Functions-Footnote-5529496
+Ref: Time Functions-Footnote-6529723
+Node: Bitwise Functions529989
+Ref: table-bitwise-ops530551
+Ref: Bitwise Functions-Footnote-1534796
+Node: Type Functions534980
+Node: I18N Functions536122
+Node: User-defined537767
+Node: Definition Syntax538571
+Ref: Definition Syntax-Footnote-1543486
+Node: Function Example543555
+Ref: Function Example-Footnote-1546199
+Node: Function Caveats546221
+Node: Calling A Function546739
+Node: Variable Scope547694
+Node: Pass By Value/Reference550682
+Node: Return Statement554190
+Node: Dynamic Typing557172
+Node: Indirect Calls558101
+Node: Library Functions567788
+Ref: Library Functions-Footnote-1571301
+Ref: Library Functions-Footnote-2571444
+Node: Library Names571615
+Ref: Library Names-Footnote-1575088
+Ref: Library Names-Footnote-2575308
+Node: General Functions575394
+Node: Strtonum Function576422
+Node: Assert Function579352
+Node: Round Function582678
+Node: Cliff Random Function584219
+Node: Ordinal Functions585235
+Ref: Ordinal Functions-Footnote-1588312
+Ref: Ordinal Functions-Footnote-2588564
+Node: Join Function588775
+Ref: Join Function-Footnote-1590546
+Node: Getlocaltime Function590746
+Node: Readfile Function594487
+Node: Data File Management596326
+Node: Filetrans Function596958
+Node: Rewind Function601027
+Node: File Checking602414
+Node: Empty Files603508
+Node: Ignoring Assigns605738
+Node: Getopt Function607292
+Ref: Getopt Function-Footnote-1618595
+Node: Passwd Functions618798
+Ref: Passwd Functions-Footnote-1627776
+Node: Group Functions627864
+Node: Walking Arrays635948
+Node: Sample Programs638084
+Node: Running Examples638758
+Node: Clones639486
+Node: Cut Program640710
+Node: Egrep Program650561
+Ref: Egrep Program-Footnote-1658334
+Node: Id Program658444
+Node: Split Program662093
+Ref: Split Program-Footnote-1665612
+Node: Tee Program665740
+Node: Uniq Program668543
+Node: Wc Program675972
+Ref: Wc Program-Footnote-1680238
+Ref: Wc Program-Footnote-2680438
+Node: Miscellaneous Programs680530
+Node: Dupword Program681718
+Node: Alarm Program683749
+Node: Translate Program688556
+Ref: Translate Program-Footnote-1692943
+Ref: Translate Program-Footnote-2693191
+Node: Labels Program693325
+Ref: Labels Program-Footnote-1696696
+Node: Word Sorting696780
+Node: History Sorting700664
+Node: Extract Program702503
+Ref: Extract Program-Footnote-1710006
+Node: Simple Sed710134
+Node: Igawk Program713196
+Ref: Igawk Program-Footnote-1728367
+Ref: Igawk Program-Footnote-2728568
+Node: Anagram Program728706
+Node: Signature Program731774
+Node: Advanced Features732874
+Node: Nondecimal Data734760
+Node: Array Sorting736343
+Node: Controlling Array Traversal737040
+Node: Array Sorting Functions745324
+Ref: Array Sorting Functions-Footnote-1749193
+Node: Two-way I/O749387
+Ref: Two-way I/O-Footnote-1754819
+Node: TCP/IP Networking754901
+Node: Profiling757745
+Node: Internationalization765248
+Node: I18N and L10N766673
+Node: Explaining gettext767359
+Ref: Explaining gettext-Footnote-1772427
+Ref: Explaining gettext-Footnote-2772611
+Node: Programmer i18n772776
+Node: Translator i18n777003
+Node: String Extraction777797
+Ref: String Extraction-Footnote-1778758
+Node: Printf Ordering778844
+Ref: Printf Ordering-Footnote-1781626
+Node: I18N Portability781690
+Ref: I18N Portability-Footnote-1784139
+Node: I18N Example784202
+Ref: I18N Example-Footnote-1786840
+Node: Gawk I18N786912
+Node: Debugger787533
+Node: Debugging788504
+Node: Debugging Concepts788937
+Node: Debugging Terms790793
+Node: Awk Debugging793390
+Node: Sample Debugging Session794282
+Node: Debugger Invocation794802
+Node: Finding The Bug796135
+Node: List of Debugger Commands802622
+Node: Breakpoint Control803956
+Node: Debugger Execution Control807620
+Node: Viewing And Changing Data810980
+Node: Execution Stack814336
+Node: Debugger Info815803
+Node: Miscellaneous Debugger Commands819797
+Node: Readline Support824975
+Node: Limitations825806
+Node: Arbitrary Precision Arithmetic828058
+Ref: Arbitrary Precision Arithmetic-Footnote-1829707
+Node: General Arithmetic829855
+Node: Floating Point Issues831575
+Node: String Conversion Precision832456
+Ref: String Conversion Precision-Footnote-1834161
+Node: Unexpected Results834270
+Node: POSIX Floating Point Problems836423
+Ref: POSIX Floating Point Problems-Footnote-1840248
+Node: Integer Programming840286
+Node: Floating-point Programming842025
+Ref: Floating-point Programming-Footnote-1848356
+Ref: Floating-point Programming-Footnote-2848626
+Node: Floating-point Representation848890
+Node: Floating-point Context850055
+Ref: table-ieee-formats850894
+Node: Rounding Mode852278
+Ref: table-rounding-modes852757
+Ref: Rounding Mode-Footnote-1855772
+Node: Gawk and MPFR855951
+Node: Arbitrary Precision Floats857360
+Ref: Arbitrary Precision Floats-Footnote-1859803
+Node: Setting Precision860119
+Ref: table-predefined-precision-strings860805
+Node: Setting Rounding Mode862950
+Ref: table-gawk-rounding-modes863354
+Node: Floating-point Constants864541
+Node: Changing Precision865970
+Ref: Changing Precision-Footnote-1867367
+Node: Exact Arithmetic867541
+Node: Arbitrary Precision Integers870679
+Ref: Arbitrary Precision Integers-Footnote-1873694
+Node: Dynamic Extensions873841
+Node: Extension Intro875299
+Node: Plugin License876564
+Node: Extension Mechanism Outline877249
+Ref: load-extension877666
+Ref: load-new-function879144
+Ref: call-new-function880139
+Node: Extension API Description882154
+Node: Extension API Functions Introduction883441
+Node: General Data Types888368
+Ref: General Data Types-Footnote-1894063
+Node: Requesting Values894362
+Ref: table-value-types-returned895099
+Node: Memory Allocation Functions896053
+Ref: Memory Allocation Functions-Footnote-1898799
+Node: Constructor Functions898895
+Node: Registration Functions900653
+Node: Extension Functions901338
+Node: Exit Callback Functions903640
+Node: Extension Version String904889
+Node: Input Parsers905539
+Node: Output Wrappers915296
+Node: Two-way processors919806
+Node: Printing Messages922014
+Ref: Printing Messages-Footnote-1923091
+Node: Updating `ERRNO'923243
+Node: Accessing Parameters923982
+Node: Symbol Table Access925212
+Node: Symbol table by name925726
+Node: Symbol table by cookie927702
+Ref: Symbol table by cookie-Footnote-1931834
+Node: Cached values931897
+Ref: Cached values-Footnote-1935387
+Node: Array Manipulation935478
+Ref: Array Manipulation-Footnote-1936576
+Node: Array Data Types936615
+Ref: Array Data Types-Footnote-1939318
+Node: Array Functions939410
+Node: Flattening Arrays943246
+Node: Creating Arrays950098
+Node: Extension API Variables954823
+Node: Extension Versioning955459
+Node: Extension API Informational Variables957360
+Node: Extension API Boilerplate958446
+Node: Finding Extensions962250
+Node: Extension Example962810
+Node: Internal File Description963540
+Node: Internal File Ops967631
+Ref: Internal File Ops-Footnote-1979140
+Node: Using Internal File Ops979280
+Ref: Using Internal File Ops-Footnote-1981627
+Node: Extension Samples981893
+Node: Extension Sample File Functions983417
+Node: Extension Sample Fnmatch991904
+Node: Extension Sample Fork993673
+Node: Extension Sample Inplace994886
+Node: Extension Sample Ord996664
+Node: Extension Sample Readdir997500
+Node: Extension Sample Revout999032
+Node: Extension Sample Rev2way999625
+Node: Extension Sample Read write array1000315
+Node: Extension Sample Readfile1002198
+Node: Extension Sample API Tests1003298
+Node: Extension Sample Time1003823
+Node: gawkextlib1005187
+Node: Language History1007968
+Node: V7/SVR3.11009561
+Node: SVR41011881
+Node: POSIX1013323
+Node: BTL1014709
+Node: POSIX/GNU1015443
+Node: Feature History1021042
+Node: Common Extensions1034018
+Node: Ranges and Locales1035330
+Ref: Ranges and Locales-Footnote-11039947
+Ref: Ranges and Locales-Footnote-21039974
+Ref: Ranges and Locales-Footnote-31040208
+Node: Contributors1040429
+Node: Installation1045810
+Node: Gawk Distribution1046704
+Node: Getting1047188
+Node: Extracting1048014
+Node: Distribution contents1049706
+Node: Unix Installation1055427
+Node: Quick Installation1056044
+Node: Additional Configuration Options1058490
+Node: Configuration Philosophy1060226
+Node: Non-Unix Installation1062580
+Node: PC Installation1063038
+Node: PC Binary Installation1064337
+Node: PC Compiling1066185
+Node: PC Testing1069129
+Node: PC Using1070305
+Node: Cygwin1074473
+Node: MSYS1075282
+Node: VMS Installation1075796
+Node: VMS Compilation1076592
+Ref: VMS Compilation-Footnote-11077844
+Node: VMS Dynamic Extensions1077902
+Node: VMS Installation Details1079275
+Node: VMS Running1081526
+Node: VMS GNV1084360
+Node: VMS Old Gawk1085083
+Node: Bugs1085553
+Node: Other Versions1089471
+Node: Notes1095555
+Node: Compatibility Mode1096355
+Node: Additions1097138
+Node: Accessing The Source1098065
+Node: Adding Code1099505
+Node: New Ports1105550
+Node: Derived Files1109685
+Ref: Derived Files-Footnote-11115006
+Ref: Derived Files-Footnote-21115040
+Ref: Derived Files-Footnote-31115640
+Node: Future Extensions1115738
+Node: Implementation Limitations1116321
+Node: Extension Design1117569
+Node: Old Extension Problems1118723
+Ref: Old Extension Problems-Footnote-11120231
+Node: Extension New Mechanism Goals1120288
+Ref: Extension New Mechanism Goals-Footnote-11123653
+Node: Extension Other Design Decisions1123839
+Node: Extension Future Growth1125945
+Node: Old Extension Mechanism1126781
+Node: Basic Concepts1128521
+Node: Basic High Level1129202
+Ref: figure-general-flow1129474
+Ref: figure-process-flow1130073
+Ref: Basic High Level-Footnote-11133302
+Node: Basic Data Typing1133487
+Node: Glossary1136842
+Node: Copying1162073
+Node: GNU Free Documentation License1199629
+Node: Index1224765

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 6034cd92..708c3a3b 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -105,6 +105,21 @@
@set COMMONEXT (c.e.)
@end ifplaintext
+@ifdocbook
+@c empty on purpose
+@set PART1
+@set PART2
+@set PART3
+@set PART4
+@end ifdocbook
+
+@ifnotdocbook
+@set PART1 Part I:@*
+@set PART2 Part II:@*
+@set PART3 Part III:@*
+@set PART4 Part IV:@*
+@end ifnotdocbook
+
@c some special symbols
@iftex
@set LEQ @math{@leq}
@@ -963,6 +978,20 @@ for enrichening our lives in innumerable ways.
@node Foreword
@unnumbered Foreword
+@c This bit is post-processed by a script which turns the chapter
+@c tag into a preface tag, and moves this stuff to before the title.
+@c Bleah.
+@docbook
+ <prefaceinfo>
+ <author>
+ <firstname>Michael</firstname>
+ <surname>Brennan</surname>
+ <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation>
+ </author>
+ <date>March, 2001</date>
+ </prefaceinfo>
+@end docbook
+
Arnold Robbins and I are good friends. We were introduced
@c 11 years ago
in 1990
@@ -1087,12 +1116,14 @@ Arnold has distilled over a decade of experience writing and
using AWK programs, and developing @command{gawk}, into this book. If you use
AWK or want to learn how, then read this book.
+@ifnotdocbook
@cindex Brennan, Michael
@display
Michael Brennan
Author of @command{mawk}
March, 2001
@end display
+@end ifnotdocbook
@node Preface
@unnumbered Preface
@@ -1982,13 +2013,15 @@ Nof Ayalon @*
ISRAEL @*
May, 2014
-@iftex
-@part Part I:@* The @command{awk} Language
-@end iftex
+@ifnotinfo
+@part @value{PART1}The @command{awk} Language
+@end ifnotinfo
@ifdocbook
-@part The @command{awk} Language
+@docbook
+<partintro>
+@end docbook
Part I describes the @command{awk} language and @command{gawk} program
in detail. It starts with the basics, and continues through all of
the features of @command{awk}. Included also are many, but not all,
@@ -2023,6 +2056,9 @@ following chapters:
@item
@ref{Functions}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Getting Started
@@ -4141,9 +4177,18 @@ for use by the @command{gawk} developers for testing and tuning.
They are subject to change. The variables are:
@table @env
+@item AWKBUFSIZE
+This variable only affects @command{gawk} on POSIX-compliant systems.
+With a value of @samp{exact}, @command{gawk} uses the size of each input
+file as the size of the memory buffer to allocate for I/O. Otherwise,
+the value should be a number, and @command{gawk} uses that number as
+the size of the buffer to allocate. (When this variable is not set,
+@command{gawk} uses the smaller of the file's size and the ``default''
+blocksize, which is usually the file systems I/O blocksize.)
+
@item AWK_HASH
If this variable exists with a value of @samp{gst}, @command{gawk}
-will switch to using the hash function from GNU Smalltalk for
+switches to using the hash function from GNU Smalltalk for
managing arrays.
This function may be marginally faster than the standard function.
@@ -19432,13 +19477,15 @@ for (i = 1; i <= n; i++)
@c ENDOFRANGE funcud
-@iftex
-@part Part II:@* Problem Solving With @command{awk}
-@end iftex
+@ifnotinfo
+@part @value{PART2}Problem Solving With @command{awk}
+@end ifnotinfo
@ifdocbook
-@part Problem Solving With @command{awk}
+@docbook
+<partintro>
+@end docbook
Part II shows how to use @command{awk} and @command{gawk} for problem solving.
There is lots of code here for you to read and learn from.
It contains the following chapters:
@@ -19450,6 +19497,9 @@ It contains the following chapters:
@item
@ref{Sample Programs}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Library Functions
@@ -25517,13 +25567,15 @@ BEGIN {
}
@end ignore
-@iftex
-@part Part III:@* Moving Beyond Standard @command{awk} With @command{gawk}
-@end iftex
+@ifnotinfo
+@part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk}
+@end ifnotinfo
@ifdocbook
-@part Moving Beyond Standard @command{awk} With @command{gawk}
+@docbook
+<partintro>
+@end docbook
Part III focuses on features specific to @command{gawk}.
It contains the following chapters:
@@ -25543,6 +25595,9 @@ It contains the following chapters:
@item
@ref{Dynamic Extensions}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Advanced Features
@@ -33928,14 +33983,15 @@ If you write an extension that you wish to share with other
@code{gawkextlib} project.
See the project's web site for more information.
-@iftex
-@part Part IV:@* Appendices
-@end iftex
+@ifnotinfo
+@part @value{PART4}Appendices
+@end ifnotinfo
@ifdocbook
-@part Appendices
-
+@docbook
+<partintro>
+@end docbook
@ifclear FOR_PRINT
Part IV contains the appendixes (including the two licenses that cover
the @command{gawk} source code and this @value{DOCUMENT}, respectively)
@@ -33970,6 +34026,9 @@ Part IV contains two appendixes:
@ref{GNU Free Documentation License}.
@end ifclear
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Language History
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 5086a215..32a7543d 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -100,6 +100,21 @@
@set COMMONEXT (c.e.)
@end ifplaintext
+@ifdocbook
+@c empty on purpose
+@set PART1
+@set PART2
+@set PART3
+@set PART4
+@end ifdocbook
+
+@ifnotdocbook
+@set PART1 Part I:@*
+@set PART2 Part II:@*
+@set PART3 Part III:@*
+@set PART4 Part IV:@*
+@end ifnotdocbook
+
@c some special symbols
@iftex
@set LEQ @math{@leq}
@@ -958,6 +973,20 @@ for enrichening our lives in innumerable ways.
@node Foreword
@unnumbered Foreword
+@c This bit is post-processed by a script which turns the chapter
+@c tag into a preface tag, and moves this stuff to before the title.
+@c Bleah.
+@docbook
+ <prefaceinfo>
+ <author>
+ <firstname>Michael</firstname>
+ <surname>Brennan</surname>
+ <affiliation><jobtitle>Author of <command>mawk</command></jobtitle></affiliation>
+ </author>
+ <date>March, 2001</date>
+ </prefaceinfo>
+@end docbook
+
Arnold Robbins and I are good friends. We were introduced
@c 11 years ago
in 1990
@@ -1082,12 +1111,14 @@ Arnold has distilled over a decade of experience writing and
using AWK programs, and developing @command{gawk}, into this book. If you use
AWK or want to learn how, then read this book.
+@ifnotdocbook
@cindex Brennan, Michael
@display
Michael Brennan
Author of @command{mawk}
March, 2001
@end display
+@end ifnotdocbook
@node Preface
@unnumbered Preface
@@ -1949,13 +1980,15 @@ Nof Ayalon @*
ISRAEL @*
May, 2014
-@iftex
-@part Part I:@* The @command{awk} Language
-@end iftex
+@ifnotinfo
+@part @value{PART1}The @command{awk} Language
+@end ifnotinfo
@ifdocbook
-@part The @command{awk} Language
+@docbook
+<partintro>
+@end docbook
Part I describes the @command{awk} language and @command{gawk} program
in detail. It starts with the basics, and continues through all of
the features of @command{awk}. Included also are many, but not all,
@@ -1990,6 +2023,9 @@ following chapters:
@item
@ref{Functions}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Getting Started
@@ -4069,9 +4105,18 @@ for use by the @command{gawk} developers for testing and tuning.
They are subject to change. The variables are:
@table @env
+@item AWKBUFSIZE
+This variable only affects @command{gawk} on POSIX-compliant systems.
+With a value of @samp{exact}, @command{gawk} uses the size of each input
+file as the size of the memory buffer to allocate for I/O. Otherwise,
+the value should be a number, and @command{gawk} uses that number as
+the size of the buffer to allocate. (When this variable is not set,
+@command{gawk} uses the smaller of the file's size and the ``default''
+blocksize, which is usually the file systems I/O blocksize.)
+
@item AWK_HASH
If this variable exists with a value of @samp{gst}, @command{gawk}
-will switch to using the hash function from GNU Smalltalk for
+switches to using the hash function from GNU Smalltalk for
managing arrays.
This function may be marginally faster than the standard function.
@@ -18605,13 +18650,15 @@ for (i = 1; i <= n; i++)
@c ENDOFRANGE funcud
-@iftex
-@part Part II:@* Problem Solving With @command{awk}
-@end iftex
+@ifnotinfo
+@part @value{PART2}Problem Solving With @command{awk}
+@end ifnotinfo
@ifdocbook
-@part Problem Solving With @command{awk}
+@docbook
+<partintro>
+@end docbook
Part II shows how to use @command{awk} and @command{gawk} for problem solving.
There is lots of code here for you to read and learn from.
It contains the following chapters:
@@ -18623,6 +18670,9 @@ It contains the following chapters:
@item
@ref{Sample Programs}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Library Functions
@@ -24661,13 +24711,15 @@ BEGIN {
}
@end ignore
-@iftex
-@part Part III:@* Moving Beyond Standard @command{awk} With @command{gawk}
-@end iftex
+@ifnotinfo
+@part @value{PART3}Moving Beyond Standard @command{awk} With @command{gawk}
+@end ifnotinfo
@ifdocbook
-@part Moving Beyond Standard @command{awk} With @command{gawk}
+@docbook
+<partintro>
+@end docbook
Part III focuses on features specific to @command{gawk}.
It contains the following chapters:
@@ -24687,6 +24739,9 @@ It contains the following chapters:
@item
@ref{Dynamic Extensions}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Advanced Features
@@ -33072,14 +33127,15 @@ If you write an extension that you wish to share with other
@code{gawkextlib} project.
See the project's web site for more information.
-@iftex
-@part Part IV:@* Appendices
-@end iftex
+@ifnotinfo
+@part @value{PART4}Appendices
+@end ifnotinfo
@ifdocbook
-@part Appendices
-
+@docbook
+<partintro>
+@end docbook
@ifclear FOR_PRINT
Part IV contains the appendixes (including the two licenses that cover
the @command{gawk} source code and this @value{DOCUMENT}, respectively)
@@ -33114,6 +33170,9 @@ Part IV contains two appendixes:
@ref{GNU Free Documentation License}.
@end ifclear
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Language History