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 194cf695..beb0413c 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 706dace1..9bcd7e0c 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'
@@ -33243,484 +33252,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-1430196
-Ref: Auto-set-Footnote-2430401
-Node: ARGC and ARGV430457
-Node: Arrays434311
-Node: Array Basics435809
-Node: Array Intro436635
-Ref: figure-array-elements438608
-Node: Reference to Elements441015
-Node: Assigning Elements443288
-Node: Array Example443779
-Node: Scanning an Array445511
-Node: Controlling Scanning448526
-Ref: Controlling Scanning-Footnote-1453699
-Node: Delete454015
-Ref: Delete-Footnote-1456780
-Node: Numeric Array Subscripts456837
-Node: Uninitialized Subscripts459020
-Node: Multidimensional460645
-Node: Multiscanning463738
-Node: Arrays of Arrays465327
-Node: Functions469967
-Node: Built-in470786
-Node: Calling Built-in471864
-Node: Numeric Functions473852
-Ref: Numeric Functions-Footnote-1477686
-Ref: Numeric Functions-Footnote-2478043
-Ref: Numeric Functions-Footnote-3478091
-Node: String Functions478360
-Ref: String Functions-Footnote-1501371
-Ref: String Functions-Footnote-2501500
-Ref: String Functions-Footnote-3501748
-Node: Gory Details501835
-Ref: table-sub-escapes503504
-Ref: table-sub-posix-92504858
-Ref: table-sub-proposed506209
-Ref: table-posix-sub507563
-Ref: table-gensub-escapes509108
-Ref: Gory Details-Footnote-1510284
-Ref: Gory Details-Footnote-2510335
-Node: I/O Functions510486
-Ref: I/O Functions-Footnote-1517609
-Node: Time Functions517756
-Ref: Time Functions-Footnote-1528220
-Ref: Time Functions-Footnote-2528288
-Ref: Time Functions-Footnote-3528446
-Ref: Time Functions-Footnote-4528557
-Ref: Time Functions-Footnote-5528669
-Ref: Time Functions-Footnote-6528896
-Node: Bitwise Functions529162
-Ref: table-bitwise-ops529724
-Ref: Bitwise Functions-Footnote-1533969
-Node: Type Functions534153
-Node: I18N Functions535295
-Node: User-defined536940
-Node: Definition Syntax537744
-Ref: Definition Syntax-Footnote-1542659
-Node: Function Example542728
-Ref: Function Example-Footnote-1545372
-Node: Function Caveats545394
-Node: Calling A Function545912
-Node: Variable Scope546867
-Node: Pass By Value/Reference549855
-Node: Return Statement553363
-Node: Dynamic Typing556345
-Node: Indirect Calls557274
-Node: Library Functions566961
-Ref: Library Functions-Footnote-1570474
-Ref: Library Functions-Footnote-2570617
-Node: Library Names570788
-Ref: Library Names-Footnote-1574261
-Ref: Library Names-Footnote-2574481
-Node: General Functions574567
-Node: Strtonum Function575595
-Node: Assert Function578525
-Node: Round Function581851
-Node: Cliff Random Function583392
-Node: Ordinal Functions584408
-Ref: Ordinal Functions-Footnote-1587485
-Ref: Ordinal Functions-Footnote-2587737
-Node: Join Function587948
-Ref: Join Function-Footnote-1589719
-Node: Getlocaltime Function589919
-Node: Readfile Function593660
-Node: Data File Management595499
-Node: Filetrans Function596131
-Node: Rewind Function600200
-Node: File Checking601587
-Node: Empty Files602681
-Node: Ignoring Assigns604911
-Node: Getopt Function606465
-Ref: Getopt Function-Footnote-1617768
-Node: Passwd Functions617971
-Ref: Passwd Functions-Footnote-1626949
-Node: Group Functions627037
-Node: Walking Arrays635121
-Node: Sample Programs637257
-Node: Running Examples637931
-Node: Clones638659
-Node: Cut Program639883
-Node: Egrep Program649734
-Ref: Egrep Program-Footnote-1657507
-Node: Id Program657617
-Node: Split Program661266
-Ref: Split Program-Footnote-1664785
-Node: Tee Program664913
-Node: Uniq Program667716
-Node: Wc Program675145
-Ref: Wc Program-Footnote-1679411
-Ref: Wc Program-Footnote-2679611
-Node: Miscellaneous Programs679703
-Node: Dupword Program680891
-Node: Alarm Program682922
-Node: Translate Program687729
-Ref: Translate Program-Footnote-1692116
-Ref: Translate Program-Footnote-2692364
-Node: Labels Program692498
-Ref: Labels Program-Footnote-1695869
-Node: Word Sorting695953
-Node: History Sorting699837
-Node: Extract Program701676
-Ref: Extract Program-Footnote-1709179
-Node: Simple Sed709307
-Node: Igawk Program712369
-Ref: Igawk Program-Footnote-1727540
-Ref: Igawk Program-Footnote-2727741
-Node: Anagram Program727879
-Node: Signature Program730947
-Node: Advanced Features732047
-Node: Nondecimal Data733933
-Node: Array Sorting735516
-Node: Controlling Array Traversal736213
-Node: Array Sorting Functions744497
-Ref: Array Sorting Functions-Footnote-1748366
-Node: Two-way I/O748560
-Ref: Two-way I/O-Footnote-1753992
-Node: TCP/IP Networking754074
-Node: Profiling756918
-Node: Internationalization764421
-Node: I18N and L10N765846
-Node: Explaining gettext766532
-Ref: Explaining gettext-Footnote-1771600
-Ref: Explaining gettext-Footnote-2771784
-Node: Programmer i18n771949
-Node: Translator i18n776176
-Node: String Extraction776970
-Ref: String Extraction-Footnote-1777931
-Node: Printf Ordering778017
-Ref: Printf Ordering-Footnote-1780799
-Node: I18N Portability780863
-Ref: I18N Portability-Footnote-1783312
-Node: I18N Example783375
-Ref: I18N Example-Footnote-1786013
-Node: Gawk I18N786085
-Node: Debugger786706
-Node: Debugging787677
-Node: Debugging Concepts788110
-Node: Debugging Terms789966
-Node: Awk Debugging792563
-Node: Sample Debugging Session793455
-Node: Debugger Invocation793975
-Node: Finding The Bug795308
-Node: List of Debugger Commands801795
-Node: Breakpoint Control803129
-Node: Debugger Execution Control806793
-Node: Viewing And Changing Data810153
-Node: Execution Stack813509
-Node: Debugger Info814976
-Node: Miscellaneous Debugger Commands818970
-Node: Readline Support824148
-Node: Limitations824979
-Node: Arbitrary Precision Arithmetic827231
-Ref: Arbitrary Precision Arithmetic-Footnote-1828880
-Node: General Arithmetic829028
-Node: Floating Point Issues830748
-Node: String Conversion Precision831629
-Ref: String Conversion Precision-Footnote-1833334
-Node: Unexpected Results833443
-Node: POSIX Floating Point Problems835596
-Ref: POSIX Floating Point Problems-Footnote-1839421
-Node: Integer Programming839459
-Node: Floating-point Programming841198
-Ref: Floating-point Programming-Footnote-1847529
-Ref: Floating-point Programming-Footnote-2847799
-Node: Floating-point Representation848063
-Node: Floating-point Context849228
-Ref: table-ieee-formats850067
-Node: Rounding Mode851451
-Ref: table-rounding-modes851930
-Ref: Rounding Mode-Footnote-1854945
-Node: Gawk and MPFR855124
-Node: Arbitrary Precision Floats856533
-Ref: Arbitrary Precision Floats-Footnote-1858976
-Node: Setting Precision859292
-Ref: table-predefined-precision-strings859978
-Node: Setting Rounding Mode862123
-Ref: table-gawk-rounding-modes862527
-Node: Floating-point Constants863714
-Node: Changing Precision865143
-Ref: Changing Precision-Footnote-1866540
-Node: Exact Arithmetic866714
-Node: Arbitrary Precision Integers869852
-Ref: Arbitrary Precision Integers-Footnote-1872867
-Node: Dynamic Extensions873014
-Node: Extension Intro874472
-Node: Plugin License875737
-Node: Extension Mechanism Outline876422
-Ref: load-extension876839
-Ref: load-new-function878317
-Ref: call-new-function879312
-Node: Extension API Description881327
-Node: Extension API Functions Introduction882614
-Node: General Data Types887541
-Ref: General Data Types-Footnote-1893236
-Node: Requesting Values893535
-Ref: table-value-types-returned894272
-Node: Memory Allocation Functions895226
-Ref: Memory Allocation Functions-Footnote-1897972
-Node: Constructor Functions898068
-Node: Registration Functions899826
-Node: Extension Functions900511
-Node: Exit Callback Functions902813
-Node: Extension Version String904062
-Node: Input Parsers904712
-Node: Output Wrappers914469
-Node: Two-way processors918979
-Node: Printing Messages921187
-Ref: Printing Messages-Footnote-1922264
-Node: Updating `ERRNO'922416
-Node: Accessing Parameters923155
-Node: Symbol Table Access924385
-Node: Symbol table by name924899
-Node: Symbol table by cookie926875
-Ref: Symbol table by cookie-Footnote-1931007
-Node: Cached values931070
-Ref: Cached values-Footnote-1934560
-Node: Array Manipulation934651
-Ref: Array Manipulation-Footnote-1935749
-Node: Array Data Types935788
-Ref: Array Data Types-Footnote-1938491
-Node: Array Functions938583
-Node: Flattening Arrays942419
-Node: Creating Arrays949271
-Node: Extension API Variables953996
-Node: Extension Versioning954632
-Node: Extension API Informational Variables956533
-Node: Extension API Boilerplate957619
-Node: Finding Extensions961423
-Node: Extension Example961983
-Node: Internal File Description962713
-Node: Internal File Ops966804
-Ref: Internal File Ops-Footnote-1978313
-Node: Using Internal File Ops978453
-Ref: Using Internal File Ops-Footnote-1980800
-Node: Extension Samples981066
-Node: Extension Sample File Functions982590
-Node: Extension Sample Fnmatch991077
-Node: Extension Sample Fork992846
-Node: Extension Sample Inplace994059
-Node: Extension Sample Ord995837
-Node: Extension Sample Readdir996673
-Node: Extension Sample Revout998205
-Node: Extension Sample Rev2way998798
-Node: Extension Sample Read write array999488
-Node: Extension Sample Readfile1001371
-Node: Extension Sample API Tests1002471
-Node: Extension Sample Time1002996
-Node: gawkextlib1004360
-Node: Language History1007141
-Node: V7/SVR3.11008734
-Node: SVR41011054
-Node: POSIX1012496
-Node: BTL1013882
-Node: POSIX/GNU1014616
-Node: Feature History1020215
-Node: Common Extensions1033191
-Node: Ranges and Locales1034503
-Ref: Ranges and Locales-Footnote-11039120
-Ref: Ranges and Locales-Footnote-21039147
-Ref: Ranges and Locales-Footnote-31039381
-Node: Contributors1039602
-Node: Installation1044983
-Node: Gawk Distribution1045877
-Node: Getting1046361
-Node: Extracting1047187
-Node: Distribution contents1048879
-Node: Unix Installation1054600
-Node: Quick Installation1055217
-Node: Additional Configuration Options1057663
-Node: Configuration Philosophy1059399
-Node: Non-Unix Installation1061753
-Node: PC Installation1062211
-Node: PC Binary Installation1063510
-Node: PC Compiling1065358
-Node: PC Testing1068302
-Node: PC Using1069478
-Node: Cygwin1073646
-Node: MSYS1074455
-Node: VMS Installation1074969
-Node: VMS Compilation1075765
-Ref: VMS Compilation-Footnote-11077017
-Node: VMS Dynamic Extensions1077075
-Node: VMS Installation Details1078448
-Node: VMS Running1080699
-Node: VMS GNV1083533
-Node: VMS Old Gawk1084256
-Node: Bugs1084726
-Node: Other Versions1088644
-Node: Notes1094728
-Node: Compatibility Mode1095528
-Node: Additions1096311
-Node: Accessing The Source1097238
-Node: Adding Code1098678
-Node: New Ports1104723
-Node: Derived Files1108858
-Ref: Derived Files-Footnote-11114179
-Ref: Derived Files-Footnote-21114213
-Ref: Derived Files-Footnote-31114813
-Node: Future Extensions1114911
-Node: Implementation Limitations1115494
-Node: Extension Design1116742
-Node: Old Extension Problems1117896
-Ref: Old Extension Problems-Footnote-11119404
-Node: Extension New Mechanism Goals1119461
-Ref: Extension New Mechanism Goals-Footnote-11122826
-Node: Extension Other Design Decisions1123012
-Node: Extension Future Growth1125118
-Node: Old Extension Mechanism1125954
-Node: Basic Concepts1127694
-Node: Basic High Level1128375
-Ref: figure-general-flow1128647
-Ref: figure-process-flow1129246
-Ref: Basic High Level-Footnote-11132475
-Node: Basic Data Typing1132660
-Node: Glossary1136015
-Node: Copying1161246
-Node: GNU Free Documentation License1198802
-Node: Index1223938
+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-1430686
+Ref: Auto-set-Footnote-2430891
+Node: ARGC and ARGV430947
+Node: Arrays434801
+Node: Array Basics436299
+Node: Array Intro437125
+Ref: figure-array-elements439098
+Node: Reference to Elements441505
+Node: Assigning Elements443778
+Node: Array Example444269
+Node: Scanning an Array446001
+Node: Controlling Scanning449016
+Ref: Controlling Scanning-Footnote-1454189
+Node: Delete454505
+Ref: Delete-Footnote-1457270
+Node: Numeric Array Subscripts457327
+Node: Uninitialized Subscripts459510
+Node: Multidimensional461135
+Node: Multiscanning464228
+Node: Arrays of Arrays465817
+Node: Functions470457
+Node: Built-in471276
+Node: Calling Built-in472354
+Node: Numeric Functions474342
+Ref: Numeric Functions-Footnote-1478176
+Ref: Numeric Functions-Footnote-2478533
+Ref: Numeric Functions-Footnote-3478581
+Node: String Functions478850
+Ref: String Functions-Footnote-1501861
+Ref: String Functions-Footnote-2501990
+Ref: String Functions-Footnote-3502238
+Node: Gory Details502325
+Ref: table-sub-escapes503994
+Ref: table-sub-posix-92505348
+Ref: table-sub-proposed506699
+Ref: table-posix-sub508053
+Ref: table-gensub-escapes509598
+Ref: Gory Details-Footnote-1510774
+Ref: Gory Details-Footnote-2510825
+Node: I/O Functions510976
+Ref: I/O Functions-Footnote-1518099
+Node: Time Functions518246
+Ref: Time Functions-Footnote-1528710
+Ref: Time Functions-Footnote-2528778
+Ref: Time Functions-Footnote-3528936
+Ref: Time Functions-Footnote-4529047
+Ref: Time Functions-Footnote-5529159
+Ref: Time Functions-Footnote-6529386
+Node: Bitwise Functions529652
+Ref: table-bitwise-ops530214
+Ref: Bitwise Functions-Footnote-1534459
+Node: Type Functions534643
+Node: I18N Functions535785
+Node: User-defined537430
+Node: Definition Syntax538234
+Ref: Definition Syntax-Footnote-1543149
+Node: Function Example543218
+Ref: Function Example-Footnote-1545862
+Node: Function Caveats545884
+Node: Calling A Function546402
+Node: Variable Scope547357
+Node: Pass By Value/Reference550345
+Node: Return Statement553853
+Node: Dynamic Typing556835
+Node: Indirect Calls557764
+Node: Library Functions567451
+Ref: Library Functions-Footnote-1570964
+Ref: Library Functions-Footnote-2571107
+Node: Library Names571278
+Ref: Library Names-Footnote-1574751
+Ref: Library Names-Footnote-2574971
+Node: General Functions575057
+Node: Strtonum Function576085
+Node: Assert Function579015
+Node: Round Function582341
+Node: Cliff Random Function583882
+Node: Ordinal Functions584898
+Ref: Ordinal Functions-Footnote-1587975
+Ref: Ordinal Functions-Footnote-2588227
+Node: Join Function588438
+Ref: Join Function-Footnote-1590209
+Node: Getlocaltime Function590409
+Node: Readfile Function594150
+Node: Data File Management595989
+Node: Filetrans Function596621
+Node: Rewind Function600690
+Node: File Checking602077
+Node: Empty Files603171
+Node: Ignoring Assigns605401
+Node: Getopt Function606955
+Ref: Getopt Function-Footnote-1618258
+Node: Passwd Functions618461
+Ref: Passwd Functions-Footnote-1627439
+Node: Group Functions627527
+Node: Walking Arrays635611
+Node: Sample Programs637747
+Node: Running Examples638421
+Node: Clones639149
+Node: Cut Program640373
+Node: Egrep Program650224
+Ref: Egrep Program-Footnote-1657997
+Node: Id Program658107
+Node: Split Program661756
+Ref: Split Program-Footnote-1665275
+Node: Tee Program665403
+Node: Uniq Program668206
+Node: Wc Program675635
+Ref: Wc Program-Footnote-1679901
+Ref: Wc Program-Footnote-2680101
+Node: Miscellaneous Programs680193
+Node: Dupword Program681381
+Node: Alarm Program683412
+Node: Translate Program688219
+Ref: Translate Program-Footnote-1692606
+Ref: Translate Program-Footnote-2692854
+Node: Labels Program692988
+Ref: Labels Program-Footnote-1696359
+Node: Word Sorting696443
+Node: History Sorting700327
+Node: Extract Program702166
+Ref: Extract Program-Footnote-1709669
+Node: Simple Sed709797
+Node: Igawk Program712859
+Ref: Igawk Program-Footnote-1728030
+Ref: Igawk Program-Footnote-2728231
+Node: Anagram Program728369
+Node: Signature Program731437
+Node: Advanced Features732537
+Node: Nondecimal Data734423
+Node: Array Sorting736006
+Node: Controlling Array Traversal736703
+Node: Array Sorting Functions744987
+Ref: Array Sorting Functions-Footnote-1748856
+Node: Two-way I/O749050
+Ref: Two-way I/O-Footnote-1754482
+Node: TCP/IP Networking754564
+Node: Profiling757408
+Node: Internationalization764911
+Node: I18N and L10N766336
+Node: Explaining gettext767022
+Ref: Explaining gettext-Footnote-1772090
+Ref: Explaining gettext-Footnote-2772274
+Node: Programmer i18n772439
+Node: Translator i18n776666
+Node: String Extraction777460
+Ref: String Extraction-Footnote-1778421
+Node: Printf Ordering778507
+Ref: Printf Ordering-Footnote-1781289
+Node: I18N Portability781353
+Ref: I18N Portability-Footnote-1783802
+Node: I18N Example783865
+Ref: I18N Example-Footnote-1786503
+Node: Gawk I18N786575
+Node: Debugger787196
+Node: Debugging788167
+Node: Debugging Concepts788600
+Node: Debugging Terms790456
+Node: Awk Debugging793053
+Node: Sample Debugging Session793945
+Node: Debugger Invocation794465
+Node: Finding The Bug795798
+Node: List of Debugger Commands802285
+Node: Breakpoint Control803619
+Node: Debugger Execution Control807283
+Node: Viewing And Changing Data810643
+Node: Execution Stack813999
+Node: Debugger Info815466
+Node: Miscellaneous Debugger Commands819460
+Node: Readline Support824638
+Node: Limitations825469
+Node: Arbitrary Precision Arithmetic827721
+Ref: Arbitrary Precision Arithmetic-Footnote-1829370
+Node: General Arithmetic829518
+Node: Floating Point Issues831238
+Node: String Conversion Precision832119
+Ref: String Conversion Precision-Footnote-1833824
+Node: Unexpected Results833933
+Node: POSIX Floating Point Problems836086
+Ref: POSIX Floating Point Problems-Footnote-1839911
+Node: Integer Programming839949
+Node: Floating-point Programming841688
+Ref: Floating-point Programming-Footnote-1848019
+Ref: Floating-point Programming-Footnote-2848289
+Node: Floating-point Representation848553
+Node: Floating-point Context849718
+Ref: table-ieee-formats850557
+Node: Rounding Mode851941
+Ref: table-rounding-modes852420
+Ref: Rounding Mode-Footnote-1855435
+Node: Gawk and MPFR855614
+Node: Arbitrary Precision Floats857023
+Ref: Arbitrary Precision Floats-Footnote-1859466
+Node: Setting Precision859782
+Ref: table-predefined-precision-strings860468
+Node: Setting Rounding Mode862613
+Ref: table-gawk-rounding-modes863017
+Node: Floating-point Constants864204
+Node: Changing Precision865633
+Ref: Changing Precision-Footnote-1867030
+Node: Exact Arithmetic867204
+Node: Arbitrary Precision Integers870342
+Ref: Arbitrary Precision Integers-Footnote-1873357
+Node: Dynamic Extensions873504
+Node: Extension Intro874962
+Node: Plugin License876227
+Node: Extension Mechanism Outline876912
+Ref: load-extension877329
+Ref: load-new-function878807
+Ref: call-new-function879802
+Node: Extension API Description881817
+Node: Extension API Functions Introduction883104
+Node: General Data Types888031
+Ref: General Data Types-Footnote-1893726
+Node: Requesting Values894025
+Ref: table-value-types-returned894762
+Node: Memory Allocation Functions895716
+Ref: Memory Allocation Functions-Footnote-1898462
+Node: Constructor Functions898558
+Node: Registration Functions900316
+Node: Extension Functions901001
+Node: Exit Callback Functions903303
+Node: Extension Version String904552
+Node: Input Parsers905202
+Node: Output Wrappers914959
+Node: Two-way processors919469
+Node: Printing Messages921677
+Ref: Printing Messages-Footnote-1922754
+Node: Updating `ERRNO'922906
+Node: Accessing Parameters923645
+Node: Symbol Table Access924875
+Node: Symbol table by name925389
+Node: Symbol table by cookie927365
+Ref: Symbol table by cookie-Footnote-1931497
+Node: Cached values931560
+Ref: Cached values-Footnote-1935050
+Node: Array Manipulation935141
+Ref: Array Manipulation-Footnote-1936239
+Node: Array Data Types936278
+Ref: Array Data Types-Footnote-1938981
+Node: Array Functions939073
+Node: Flattening Arrays942909
+Node: Creating Arrays949761
+Node: Extension API Variables954486
+Node: Extension Versioning955122
+Node: Extension API Informational Variables957023
+Node: Extension API Boilerplate958109
+Node: Finding Extensions961913
+Node: Extension Example962473
+Node: Internal File Description963203
+Node: Internal File Ops967294
+Ref: Internal File Ops-Footnote-1978803
+Node: Using Internal File Ops978943
+Ref: Using Internal File Ops-Footnote-1981290
+Node: Extension Samples981556
+Node: Extension Sample File Functions983080
+Node: Extension Sample Fnmatch991567
+Node: Extension Sample Fork993336
+Node: Extension Sample Inplace994549
+Node: Extension Sample Ord996327
+Node: Extension Sample Readdir997163
+Node: Extension Sample Revout998695
+Node: Extension Sample Rev2way999288
+Node: Extension Sample Read write array999978
+Node: Extension Sample Readfile1001861
+Node: Extension Sample API Tests1002961
+Node: Extension Sample Time1003486
+Node: gawkextlib1004850
+Node: Language History1007631
+Node: V7/SVR3.11009224
+Node: SVR41011544
+Node: POSIX1012986
+Node: BTL1014372
+Node: POSIX/GNU1015106
+Node: Feature History1020705
+Node: Common Extensions1033681
+Node: Ranges and Locales1034993
+Ref: Ranges and Locales-Footnote-11039610
+Ref: Ranges and Locales-Footnote-21039637
+Ref: Ranges and Locales-Footnote-31039871
+Node: Contributors1040092
+Node: Installation1045473
+Node: Gawk Distribution1046367
+Node: Getting1046851
+Node: Extracting1047677
+Node: Distribution contents1049369
+Node: Unix Installation1055090
+Node: Quick Installation1055707
+Node: Additional Configuration Options1058153
+Node: Configuration Philosophy1059889
+Node: Non-Unix Installation1062243
+Node: PC Installation1062701
+Node: PC Binary Installation1064000
+Node: PC Compiling1065848
+Node: PC Testing1068792
+Node: PC Using1069968
+Node: Cygwin1074136
+Node: MSYS1074945
+Node: VMS Installation1075459
+Node: VMS Compilation1076255
+Ref: VMS Compilation-Footnote-11077507
+Node: VMS Dynamic Extensions1077565
+Node: VMS Installation Details1078938
+Node: VMS Running1081189
+Node: VMS GNV1084023
+Node: VMS Old Gawk1084746
+Node: Bugs1085216
+Node: Other Versions1089134
+Node: Notes1095218
+Node: Compatibility Mode1096018
+Node: Additions1096801
+Node: Accessing The Source1097728
+Node: Adding Code1099168
+Node: New Ports1105213
+Node: Derived Files1109348
+Ref: Derived Files-Footnote-11114669
+Ref: Derived Files-Footnote-21114703
+Ref: Derived Files-Footnote-31115303
+Node: Future Extensions1115401
+Node: Implementation Limitations1115984
+Node: Extension Design1117232
+Node: Old Extension Problems1118386
+Ref: Old Extension Problems-Footnote-11119894
+Node: Extension New Mechanism Goals1119951
+Ref: Extension New Mechanism Goals-Footnote-11123316
+Node: Extension Other Design Decisions1123502
+Node: Extension Future Growth1125608
+Node: Old Extension Mechanism1126444
+Node: Basic Concepts1128184
+Node: Basic High Level1128865
+Ref: figure-general-flow1129137
+Ref: figure-process-flow1129736
+Ref: Basic High Level-Footnote-11132965
+Node: Basic Data Typing1133150
+Node: Glossary1136505
+Node: Copying1161736
+Node: GNU Free Documentation License1199292
+Node: Index1224428

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 3a81e85b..c69be641 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.
@@ -19424,13 +19469,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:
@@ -19442,6 +19489,9 @@ It contains the following chapters:
@item
@ref{Sample Programs}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Library Functions
@@ -25509,13 +25559,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:
@@ -25535,6 +25587,9 @@ It contains the following chapters:
@item
@ref{Dynamic Extensions}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Advanced Features
@@ -33920,14 +33975,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)
@@ -33962,6 +34018,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 ee781f12..6e1b9fba 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.
@@ -18597,13 +18642,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:
@@ -18615,6 +18662,9 @@ It contains the following chapters:
@item
@ref{Sample Programs}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Library Functions
@@ -24653,13 +24703,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:
@@ -24679,6 +24731,9 @@ It contains the following chapters:
@item
@ref{Dynamic Extensions}.
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Advanced Features
@@ -33064,14 +33119,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)
@@ -33106,6 +33162,9 @@ Part IV contains two appendixes:
@ref{GNU Free Documentation License}.
@end ifclear
@end itemize
+@docbook
+</partintro>
+@end docbook
@end ifdocbook
@node Language History