summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2019-01-04 12:32:04 +0200
committerArnold D. Robbins <arnold@skeeve.com>2019-01-04 12:32:04 +0200
commit6a41af4e0169f81386922d6a6065a8b408b77296 (patch)
tree88266c9c3a9c4635973f60a1fcb962962c355dbf
parent58d5316f589f4ddac1c8a2ecdacc572ea2997f70 (diff)
parentf8f8129b0cf19bd3a001d9421c35aa3dd818d6d8 (diff)
downloadgawk-6a41af4e0169f81386922d6a6065a8b408b77296.tar.gz
Merge branch 'gawk-4.2-stable'
-rw-r--r--doc/ChangeLog9
-rw-r--r--doc/gawk.info528
-rw-r--r--doc/gawk.texi76
-rw-r--r--doc/gawktexi.in76
4 files changed, 369 insertions, 320 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d1775f23..7a31fa97 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,12 @@
+2019-01-04 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Indexing fixes and small corrections.
+
+2019-01-03 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Some small indexing fixes. Thanks to Antonio
+ Giovanni Colombo for pointing them out.
+
2018-12-18 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Added more indexing to the debugger chapter.
diff --git a/doc/gawk.info b/doc/gawk.info
index b8f5df60..18a834f0 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -20510,10 +20510,10 @@ driver and not passed through.
CAUTION: Finally, coprocesses open up the possibility of "deadlock"
between 'gawk' and the program running in the coprocess. This can
occur if you send "too much" data to the coprocess before reading
- any back; each process is blocked writing data with noone available
- to read what they've already written. There is no workaround for
- deadlock; careful programming and knowledge of the behavior of the
- coprocess are required.
+ any back; each process is blocked writing data with no one
+ available to read what they've already written. There is no
+ workaround for deadlock; careful programming and knowledge of the
+ behavior of the coprocess are required.
The following example, due to Andrew Schorr, demonstrates how using
ptys can help deal with buffering deadlocks.
@@ -20896,9 +20896,9 @@ result as the final version of your program.
recreate an 'awk' program, profiling and pretty-printing automatically
disable 'gawk''s default optimizations.
- Pretty printing also preserves the original format of numeric
-constants; if you used an octal or hexadecimal value in your source
-code, it will appear that way in the output.
+ Profiling and pretty-printing also preserve the original format of
+numeric constants; if you used an octal or hexadecimal value in your
+source code, it will appear that way in the output.

File: gawk.info, Node: Advanced Features Summary, Prev: Profiling, Up: Advanced Features
@@ -33193,7 +33193,9 @@ Index
* /inet/... special files (gawk): TCP/IP Networking. (line 6)
* /inet4/... special files (gawk): TCP/IP Networking. (line 6)
* /inet6/... special files (gawk): TCP/IP Networking. (line 6)
+* : (colon), ?: operator: Precedence. (line 91)
* ; (semicolon), AWKPATH variable and: PC Using. (line 13)
+* ; (semicolon), separating rules: Statements/Lines. (line 90)
* ; (semicolon), separating statements in actions: Statements/Lines.
(line 90)
* ; (semicolon), separating statements in actions <1>: Action Overview.
@@ -33366,9 +33368,9 @@ Index
(line 6)
* arbitrary precision: Arbitrary Precision Arithmetic.
(line 6)
+* arbitrary precision <1>: Computer Arithmetic. (line 61)
* arbitrary precision integers: Arbitrary Precision Integers.
(line 6)
-* arbitrary-precision: Computer Arithmetic. (line 61)
* archaeologists: Bugs. (line 6)
* arctangent: Numeric Functions. (line 12)
* ARGC/ARGV variables: Auto-set. (line 15)
@@ -33395,7 +33397,6 @@ Index
* arrays: Arrays. (line 6)
* arrays of arrays: Arrays of Arrays. (line 6)
* arrays, an example of using: Array Example. (line 6)
-* arrays, and IGNORECASE variable: Array Intro. (line 100)
* arrays, as parameters to functions: Pass By Value/Reference.
(line 44)
* arrays, associative: Array Intro. (line 48)
@@ -33409,6 +33410,7 @@ Index
(line 48)
* arrays, elements, retrieving number of: String Functions. (line 42)
* arrays, for statement and: Scanning an Array. (line 20)
+* arrays, IGNORECASE variable and: Array Intro. (line 100)
* arrays, indexing: Array Intro. (line 48)
* arrays, merging into strings: Join Function. (line 6)
* arrays, multidimensional: Multidimensional. (line 10)
@@ -33420,7 +33422,7 @@ Index
* arrays, scanning: Scanning an Array. (line 6)
* arrays, sorting: Array Sorting Functions.
(line 6)
-* arrays, sorting, and IGNORECASE variable: Array Sorting Functions.
+* arrays, sorting, IGNORECASE variable and: Array Sorting Functions.
(line 83)
* arrays, sparse: Array Intro. (line 76)
* arrays, subscripts, uninitialized variables as: Uninitialized Subscripts.
@@ -33582,7 +33584,6 @@ Index
* BEGIN pattern: Field Separators. (line 44)
* BEGIN pattern <1>: BEGIN/END. (line 6)
* BEGIN pattern <2>: Using BEGIN/END. (line 6)
-* BEGIN pattern, and profiling: Profiling. (line 62)
* BEGIN pattern, assert() user-defined function and: Assert Function.
(line 83)
* BEGIN pattern, Boolean patterns and: Expression Patterns. (line 70)
@@ -33597,6 +33598,7 @@ Index
(line 20)
* BEGIN pattern, operators and: Using BEGIN/END. (line 17)
* BEGIN pattern, print statement and: I/O And BEGIN/END. (line 15)
+* BEGIN pattern, profiling and: Profiling. (line 62)
* BEGIN pattern, pwcat program: Passwd Functions. (line 143)
* BEGIN pattern, running awk programs and: Cut Program. (line 63)
* BEGIN pattern, TEXTDOMAIN variable and: Programmer i18n. (line 60)
@@ -33620,10 +33622,10 @@ Index
* bit-manipulation functions: Bitwise Functions. (line 6)
* bits2str() user-defined function: Bitwise Functions. (line 69)
* bitwise AND: Bitwise Functions. (line 40)
-* bitwise complement: Bitwise Functions. (line 44)
+* bitwise complement: Bitwise Functions. (line 25)
+* bitwise complement <1>: Bitwise Functions. (line 44)
* bitwise OR: Bitwise Functions. (line 50)
* bitwise XOR: Bitwise Functions. (line 57)
-* bitwise, complement: Bitwise Functions. (line 25)
* bitwise, operations: Bitwise Functions. (line 6)
* bitwise, shift: Bitwise Functions. (line 32)
* body, in actions: Statements. (line 10)
@@ -33720,17 +33722,18 @@ Index
* caret (^), ^= operator: Assignment Ops. (line 129)
* caret (^), ^= operator <1>: Precedence. (line 94)
* case keyword: Switch Statement. (line 6)
-* case sensitivity, and regexps: User-modified. (line 79)
-* case sensitivity, and string comparisons: User-modified. (line 79)
* case sensitivity, array indices and: Array Intro. (line 100)
* case sensitivity, converting case: String Functions. (line 528)
* case sensitivity, example programs: Library Functions. (line 53)
* case sensitivity, gawk: Case-sensitivity. (line 26)
* case sensitivity, regexps and: Case-sensitivity. (line 6)
+* case sensitivity, regexps and <1>: User-modified. (line 79)
+* case sensitivity, string comparisons and: User-modified. (line 79)
* CGI, awk scripts for: Options. (line 139)
* character classes, See bracket expressions: Regexp Operators.
(line 56)
-* character lists in regular expression: Bracket Expressions. (line 6)
+* character lists in regular expressions: Bracket Expressions.
+ (line 6)
* character lists, See bracket expressions: Regexp Operators. (line 56)
* character sets (machine character encodings): Ordinal Functions.
(line 45)
@@ -33769,14 +33772,15 @@ Index
* collating symbols: Bracket Expressions. (line 97)
* Colombo, Antonio: Acknowledgments. (line 60)
* Colombo, Antonio <1>: Contributors. (line 143)
+* colon (:), ?: operator: Precedence. (line 91)
* columns, aligning: Print Examples. (line 69)
* columns, cutting: Cut Program. (line 6)
* comma (,), in range patterns: Ranges. (line 6)
* command completion, in debugger: Readline Support. (line 6)
-* command line arguments, PROCINFO["argv"]: Auto-set. (line 154)
* command line, arguments: Other Arguments. (line 6)
* command line, arguments <1>: Auto-set. (line 15)
-* command line, arguments <2>: ARGC and ARGV. (line 6)
+* command line, arguments <2>: Auto-set. (line 154)
+* command line, arguments <3>: ARGC and ARGV. (line 6)
* command line, directories on: Command-line directories.
(line 6)
* command line, formats: Running gawk. (line 12)
@@ -33849,6 +33853,8 @@ Index
* constants, nondecimal: Nondecimal Data. (line 6)
* constants, numeric: Scalar Constants. (line 6)
* constants, types of: Constants. (line 6)
+* continue debugger command: Debugger Execution Control.
+ (line 33)
* continue program, in debugger: Debugger Execution Control.
(line 33)
* continue statement: Continue Statement. (line 6)
@@ -33867,7 +33873,7 @@ Index
* converting, strings to numbers <1>: Bitwise Functions. (line 109)
* CONVFMT variable: Strings And Numbers. (line 29)
* CONVFMT variable <1>: User-modified. (line 30)
-* CONVFMT variable, and array subscripts: Numeric Array Subscripts.
+* CONVFMT variable, array subscripts and: Numeric Array Subscripts.
(line 6)
* cookie: Glossary. (line 255)
* coprocesses: Redirection. (line 96)
@@ -34065,29 +34071,29 @@ Index
* debugger commands, watch: Viewing And Changing Data.
(line 66)
* debugger commands, where (backtrace): Execution Stack. (line 13)
-* debugger concepts: Debugging Terms. (line 6)
-* debugger default list amount: Debugger Info. (line 69)
-* debugger history file: Debugger Info. (line 81)
-* debugger history size: Debugger Info. (line 65)
-* debugger options: Debugger Info. (line 57)
-* debugger prompt: Debugger Info. (line 78)
* debugger, b command: Finding The Bug. (line 32)
* debugger, backtrace command: Finding The Bug. (line 52)
* debugger, break command: Finding The Bug. (line 32)
* debugger, breakpoint command: Finding The Bug. (line 32)
* debugger, bt command: Finding The Bug. (line 52)
* debugger, command completion: Readline Support. (line 6)
+* debugger, concepts: Debugging Terms. (line 6)
+* debugger, default list amount: Debugger Info. (line 69)
* debugger, history expansion: Readline Support. (line 6)
+* debugger, history file: Debugger Info. (line 81)
+* debugger, history size: Debugger Info. (line 65)
* debugger, how to start: Debugger Invocation. (line 6)
* debugger, instruction tracing: Debugger Info. (line 90)
* debugger, limitations: Limitations. (line 6)
* debugger, n command: Finding The Bug. (line 105)
* debugger, next command: Finding The Bug. (line 105)
+* debugger, options: Debugger Info. (line 57)
* debugger, p command: Finding The Bug. (line 68)
* debugger, print command: Finding The Bug. (line 68)
* debugger, printing all array elements: Finding The Bug. (line 154)
* debugger, printing single array elements: Finding The Bug. (line 140)
* debugger, prompt: Debugger Invocation. (line 23)
+* debugger, prompt <1>: Debugger Info. (line 78)
* debugger, read commands from a file: Debugger Info. (line 97)
* debugger, repeating commands: List of Debugger Commands.
(line 21)
@@ -34095,7 +34101,7 @@ Index
* debugger, running the program: Finding The Bug. (line 39)
* debugger, save commands to a file: Debugger Info. (line 92)
* debugger, setting a breakpoint: Finding The Bug. (line 32)
-* debugger, show stack frames: Finding The Bug. (line 52)
+* debugger, stack frames, showing: Finding The Bug. (line 52)
* debugging awk programs: Debugger. (line 6)
* debugging gawk, bug reports: Bugs. (line 9)
* debugging, example session: Sample Debugging Session.
@@ -34106,8 +34112,8 @@ Index
* Deifik, Scott: Acknowledgments. (line 60)
* Deifik, Scott <1>: Contributors. (line 54)
* delete ARRAY: Delete. (line 39)
-* delete breakpoint at location: Breakpoint Control. (line 36)
-* delete breakpoint by number: Breakpoint Control. (line 64)
+* delete breakpoint, at location: Breakpoint Control. (line 36)
+* delete breakpoint, by number: Breakpoint Control. (line 64)
* delete debugger command: Breakpoint Control. (line 64)
* delete statement: Delete. (line 6)
* delete watchpoint: Viewing And Changing Data.
@@ -34116,7 +34122,6 @@ Index
* deleting entire arrays: Delete. (line 39)
* Demaille, Akim: Acknowledgments. (line 60)
* describe call stack frame, in debugger: Debugger Info. (line 27)
-* differences between gawk and awk: String Functions. (line 201)
* differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV.
(line 89)
* differences in awk and gawk, ARGIND variable: Auto-set. (line 44)
@@ -34161,6 +34166,8 @@ Index
(line 6)
* differences in awk and gawk, input/output operators <1>: Redirection.
(line 96)
+* differences in awk and gawk, length() function: String Functions.
+ (line 201)
* differences in awk and gawk, line continuations: Conditional Exp.
(line 34)
* differences in awk and gawk, LINT variable: User-modified. (line 90)
@@ -34180,7 +34187,7 @@ Index
(line 6)
* differences in awk and gawk, RS/RT variables: gawk split records.
(line 58)
-* differences in awk and gawk, RT variable: Auto-set. (line 348)
+* differences in awk and gawk, RS/RT variables <1>: Auto-set. (line 348)
* differences in awk and gawk, single-character fields: Single Character Fields.
(line 6)
* differences in awk and gawk, split() function: String Functions.
@@ -34257,7 +34264,6 @@ Index
(line 10)
* END pattern: BEGIN/END. (line 6)
* END pattern <1>: Using BEGIN/END. (line 6)
-* END pattern, and profiling: Profiling. (line 62)
* END pattern, assert() user-defined function and: Assert Function.
(line 75)
* END pattern, Boolean patterns and: Expression Patterns. (line 70)
@@ -34268,6 +34274,7 @@ Index
(line 44)
* END pattern, operators and: Using BEGIN/END. (line 17)
* END pattern, print statement and: I/O And BEGIN/END. (line 15)
+* END pattern, profiling and: Profiling. (line 62)
* ENDFILE pattern: BEGINFILE/ENDFILE. (line 6)
* ENDFILE pattern, Boolean patterns and: Expression Patterns. (line 70)
* endfile() user-defined function: Filetrans Function. (line 62)
@@ -34329,7 +34336,7 @@ Index
(line 64)
* exit statement: Exit Statement. (line 6)
* exit status, of gawk: Exit Status. (line 6)
-* exit status, of VMS: VMS Running. (line 28)
+* exit status, of gawk, on VMS: VMS Running. (line 28)
* exit the debugger: Miscellaneous Debugger Commands.
(line 64)
* exit the debugger <1>: Miscellaneous Debugger Commands.
@@ -34363,6 +34370,7 @@ Index
* extensions distributed with gawk: Extension Samples. (line 6)
* extensions, allocating memory: Memory Allocation Functions.
(line 6)
+* extensions, array manipulation in: Array Manipulation. (line 6)
* extensions, Brian Kernighan's awk: BTL. (line 6)
* extensions, Brian Kernighan's awk <1>: Common Extensions. (line 6)
* extensions, common, ** operator: Arithmetic Ops. (line 30)
@@ -34843,8 +34851,8 @@ Index
* ignore breakpoint: Breakpoint Control. (line 87)
* ignore debugger command: Breakpoint Control. (line 87)
* IGNORECASE variable: User-modified. (line 79)
-* IGNORECASE variable, and array indices: Array Intro. (line 100)
-* IGNORECASE variable, and array sorting functions: Array Sorting Functions.
+* IGNORECASE variable, array indices and: Array Intro. (line 100)
+* IGNORECASE variable, array sorting functions and: Array Sorting Functions.
(line 83)
* IGNORECASE variable, in example programs: Library Functions.
(line 53)
@@ -35103,6 +35111,8 @@ Index
* maximum precision supported by MPFR library: Auto-set. (line 276)
* McIlroy, Doug: Glossary. (line 255)
* McPhee, Patrick: Contributors. (line 103)
+* memory, allocating for extensions: Memory Allocation Functions.
+ (line 6)
* message object files: Explaining gettext. (line 42)
* message object files, converting from portable object files: I18N Example.
(line 66)
@@ -35119,6 +35129,7 @@ Index
* monetary information, localization: Explaining gettext. (line 104)
* Moore, Duncan: Getline Notes. (line 40)
* MPFR, checking availability of: Checking for MPFR. (line 6)
+* MPFR, checking for: Checking for MPFR. (line 6)
* msgfmt utility: I18N Example. (line 66)
* multiple precision: Arbitrary Precision Arithmetic.
(line 6)
@@ -35179,11 +35190,11 @@ Index
* null strings <2>: Truth Values. (line 6)
* null strings <3>: Basic Data Typing. (line 26)
* null strings in gawk arguments, quoting and: Quoting. (line 82)
-* null strings, and deleting array elements: Delete. (line 27)
* null strings, as array subscripts: Uninitialized Subscripts.
(line 43)
* null strings, converting numbers to strings: Strings And Numbers.
(line 21)
+* null strings, deleting array elements and: Delete. (line 27)
* null strings, matching: String Functions. (line 542)
* number as string of bits: Bitwise Functions. (line 109)
* number of array elements: String Functions. (line 201)
@@ -35424,6 +35435,9 @@ Index
* predefined variables, -v option, setting with: Options. (line 41)
* predefined variables, conveying information: Auto-set. (line 6)
* predefined variables, user-modifiable: User-modified. (line 6)
+* pretty printing: Options. (line 235)
+* pretty printing <1>: Profiling. (line 222)
+* pretty-printing, profiling, difference with: Profiling. (line 229)
* print debugger command: Viewing And Changing Data.
(line 35)
* print statement: Printing. (line 16)
@@ -35469,15 +35483,16 @@ Index
* PROCINFO array: Auto-set. (line 148)
* PROCINFO array <1>: Time Functions. (line 49)
* PROCINFO array <2>: Passwd Functions. (line 6)
-* PROCINFO array, and communications via ptys: Two-way I/O. (line 114)
-* PROCINFO array, and group membership: Group Functions. (line 6)
-* PROCINFO array, and user and group ID numbers: Id Program. (line 15)
+* PROCINFO array, communications via ptys and: Two-way I/O. (line 114)
+* PROCINFO array, group membership and: Group Functions. (line 6)
* PROCINFO array, testing the field splitting: Passwd Functions.
(line 154)
+* PROCINFO array, user and group ID numbers and: Id Program. (line 15)
* PROCINFO, values of sorted_in: Controlling Scanning.
(line 26)
* profiling awk programs: Profiling. (line 6)
* profiling awk programs, dynamically: Profiling. (line 179)
+* profiling, pretty-printing, difference with: Profiling. (line 229)
* program identifiers: Auto-set. (line 193)
* program, definition of: Getting Started. (line 21)
* programming conventions, --non-decimal-data option: Nondecimal Data.
@@ -35711,6 +35726,7 @@ Index
* sed utility <2>: Glossary. (line 16)
* seeding random number generator: Numeric Functions. (line 64)
* semicolon (;), AWKPATH variable and: PC Using. (line 13)
+* semicolon (;), separating rules: Statements/Lines. (line 90)
* semicolon (;), separating statements in actions: Statements/Lines.
(line 90)
* semicolon (;), separating statements in actions <1>: Action Overview.
@@ -35938,7 +35954,7 @@ Index
* subscripts in arrays, uninitialized variables as: Uninitialized Subscripts.
(line 6)
* SUBSEP variable: User-modified. (line 149)
-* SUBSEP variable, and multidimensional arrays: Multidimensional.
+* SUBSEP variable, multidimensional arrays and: Multidimensional.
(line 16)
* substitute in string: String Functions. (line 89)
* substr: String Functions. (line 487)
@@ -36557,222 +36573,222 @@ Ref: Controlling Array Traversal-Footnote-1823176
Node: Array Sorting Functions823294
Ref: Array Sorting Functions-Footnote-1828385
Node: Two-way I/O828581
-Ref: Two-way I/O-Footnote-1836301
-Ref: Two-way I/O-Footnote-2836488
-Node: TCP/IP Networking836570
-Node: Profiling839688
-Node: Advanced Features Summary848693
-Node: Internationalization850537
-Node: I18N and L10N852017
-Node: Explaining gettext852704
-Ref: Explaining gettext-Footnote-1858596
-Ref: Explaining gettext-Footnote-2858781
-Node: Programmer i18n858946
-Ref: Programmer i18n-Footnote-1863895
-Node: Translator i18n863944
-Node: String Extraction864738
-Ref: String Extraction-Footnote-1865870
-Node: Printf Ordering865956
-Ref: Printf Ordering-Footnote-1868742
-Node: I18N Portability868806
-Ref: I18N Portability-Footnote-1871262
-Node: I18N Example871325
-Ref: I18N Example-Footnote-1874131
-Node: Gawk I18N874204
-Node: I18N Summary874849
-Node: Debugger876190
-Node: Debugging877210
-Node: Debugging Concepts877651
-Node: Debugging Terms879460
-Node: Awk Debugging882035
-Ref: Awk Debugging-Footnote-1882980
-Node: Sample Debugging Session883112
-Node: Debugger Invocation883646
-Node: Finding The Bug885032
-Node: List of Debugger Commands891506
-Node: Breakpoint Control892839
-Node: Debugger Execution Control896533
-Node: Viewing And Changing Data899895
-Node: Execution Stack903269
-Node: Debugger Info904906
-Node: Miscellaneous Debugger Commands908977
-Node: Readline Support914039
-Node: Limitations914935
-Node: Debugging Summary917044
-Node: Arbitrary Precision Arithmetic918323
-Node: Computer Arithmetic919808
-Ref: table-numeric-ranges923574
-Ref: table-floating-point-ranges924067
-Ref: Computer Arithmetic-Footnote-1924725
-Node: Math Definitions924782
-Ref: table-ieee-formats928098
-Ref: Math Definitions-Footnote-1928701
-Node: MPFR features928806
-Node: FP Math Caution930524
-Ref: FP Math Caution-Footnote-1931596
-Node: Inexactness of computations931965
-Node: Inexact representation932925
-Node: Comparing FP Values934285
-Node: Errors accumulate935526
-Node: Getting Accuracy936959
-Node: Try To Round939669
-Node: Setting precision940568
-Ref: table-predefined-precision-strings941265
-Node: Setting the rounding mode943095
-Ref: table-gawk-rounding-modes943469
-Ref: Setting the rounding mode-Footnote-1947400
-Node: Arbitrary Precision Integers947579
-Ref: Arbitrary Precision Integers-Footnote-1950754
-Node: Checking for MPFR950903
-Node: POSIX Floating Point Problems952377
-Ref: POSIX Floating Point Problems-Footnote-1956662
-Node: Floating point summary956700
-Node: Dynamic Extensions958890
-Node: Extension Intro960443
-Node: Plugin License961709
-Node: Extension Mechanism Outline962506
-Ref: figure-load-extension962945
-Ref: figure-register-new-function964510
-Ref: figure-call-new-function965602
-Node: Extension API Description967664
-Node: Extension API Functions Introduction969306
-Node: General Data Types974846
-Ref: General Data Types-Footnote-1983207
-Node: Memory Allocation Functions983506
-Ref: Memory Allocation Functions-Footnote-1987716
-Node: Constructor Functions987815
-Node: Registration Functions991401
-Node: Extension Functions992086
-Node: Exit Callback Functions997301
-Node: Extension Version String998551
-Node: Input Parsers999214
-Node: Output Wrappers1011935
-Node: Two-way processors1016447
-Node: Printing Messages1018712
-Ref: Printing Messages-Footnote-11019883
-Node: Updating ERRNO1020036
-Node: Requesting Values1020775
-Ref: table-value-types-returned1021512
-Node: Accessing Parameters1022448
-Node: Symbol Table Access1023683
-Node: Symbol table by name1024195
-Node: Symbol table by cookie1025984
-Ref: Symbol table by cookie-Footnote-11030169
-Node: Cached values1030233
-Ref: Cached values-Footnote-11033769
-Node: Array Manipulation1033922
-Ref: Array Manipulation-Footnote-11035013
-Node: Array Data Types1035050
-Ref: Array Data Types-Footnote-11037708
-Node: Array Functions1037800
-Node: Flattening Arrays1042298
-Node: Creating Arrays1049274
-Node: Redirection API1054041
-Node: Extension API Variables1056874
-Node: Extension Versioning1057585
-Ref: gawk-api-version1058014
-Node: Extension GMP/MPFR Versioning1059745
-Node: Extension API Informational Variables1061373
-Node: Extension API Boilerplate1062446
-Node: Changes from API V11066420
-Node: Finding Extensions1067992
-Node: Extension Example1068551
-Node: Internal File Description1069349
-Node: Internal File Ops1073429
-Ref: Internal File Ops-Footnote-11084779
-Node: Using Internal File Ops1084919
-Ref: Using Internal File Ops-Footnote-11087302
-Node: Extension Samples1087576
-Node: Extension Sample File Functions1089105
-Node: Extension Sample Fnmatch1096754
-Node: Extension Sample Fork1098241
-Node: Extension Sample Inplace1099459
-Node: Extension Sample Ord1102676
-Node: Extension Sample Readdir1103512
-Ref: table-readdir-file-types1104401
-Node: Extension Sample Revout1105206
-Node: Extension Sample Rev2way1105795
-Node: Extension Sample Read write array1106535
-Node: Extension Sample Readfile1108477
-Node: Extension Sample Time1109572
-Node: Extension Sample API Tests1110920
-Node: gawkextlib1111412
-Node: Extension summary1114330
-Node: Extension Exercises1118032
-Node: Language History1119530
-Node: V7/SVR3.11121186
-Node: SVR41123338
-Node: POSIX1124772
-Node: BTL1126152
-Node: POSIX/GNU1126881
-Node: Feature History1132659
-Node: Common Extensions1148705
-Node: Ranges and Locales1149988
-Ref: Ranges and Locales-Footnote-11154604
-Ref: Ranges and Locales-Footnote-21154631
-Ref: Ranges and Locales-Footnote-31154866
-Node: Contributors1155087
-Node: History summary1161032
-Node: Installation1162412
-Node: Gawk Distribution1163356
-Node: Getting1163840
-Node: Extracting1164803
-Node: Distribution contents1166441
-Node: Unix Installation1172921
-Node: Quick Installation1173603
-Node: Shell Startup Files1176017
-Node: Additional Configuration Options1177106
-Node: Configuration Philosophy1179271
-Node: Non-Unix Installation1181640
-Node: PC Installation1182100
-Node: PC Binary Installation1182938
-Node: PC Compiling1183373
-Node: PC Using1184490
-Node: Cygwin1188043
-Node: MSYS1189142
-Node: VMS Installation1189643
-Node: VMS Compilation1190434
-Ref: VMS Compilation-Footnote-11191663
-Node: VMS Dynamic Extensions1191721
-Node: VMS Installation Details1193406
-Node: VMS Running1195659
-Node: VMS GNV1199938
-Node: VMS Old Gawk1200673
-Node: Bugs1201144
-Node: Bug address1201807
-Node: Usenet1204789
-Node: Maintainers1205793
-Node: Other Versions1207054
-Node: Installation summary1213968
-Node: Notes1215170
-Node: Compatibility Mode1215964
-Node: Additions1216746
-Node: Accessing The Source1217671
-Node: Adding Code1219108
-Node: New Ports1225327
-Node: Derived Files1229815
-Ref: Derived Files-Footnote-11235461
-Ref: Derived Files-Footnote-21235496
-Ref: Derived Files-Footnote-31236094
-Node: Future Extensions1236208
-Node: Implementation Limitations1236866
-Node: Extension Design1238049
-Node: Old Extension Problems1239193
-Ref: Old Extension Problems-Footnote-11240711
-Node: Extension New Mechanism Goals1240768
-Ref: Extension New Mechanism Goals-Footnote-11244132
-Node: Extension Other Design Decisions1244321
-Node: Extension Future Growth1246434
-Node: Notes summary1247270
-Node: Basic Concepts1248445
-Node: Basic High Level1249126
-Ref: figure-general-flow1249408
-Ref: figure-process-flow1250093
-Ref: Basic High Level-Footnote-11253394
-Node: Basic Data Typing1253579
-Node: Glossary1256907
-Node: Copying1288745
-Node: GNU Free Documentation License1326288
-Node: Index1351408
+Ref: Two-way I/O-Footnote-1836302
+Ref: Two-way I/O-Footnote-2836489
+Node: TCP/IP Networking836571
+Node: Profiling839689
+Node: Advanced Features Summary848707
+Node: Internationalization850551
+Node: I18N and L10N852031
+Node: Explaining gettext852718
+Ref: Explaining gettext-Footnote-1858610
+Ref: Explaining gettext-Footnote-2858795
+Node: Programmer i18n858960
+Ref: Programmer i18n-Footnote-1863909
+Node: Translator i18n863958
+Node: String Extraction864752
+Ref: String Extraction-Footnote-1865884
+Node: Printf Ordering865970
+Ref: Printf Ordering-Footnote-1868756
+Node: I18N Portability868820
+Ref: I18N Portability-Footnote-1871276
+Node: I18N Example871339
+Ref: I18N Example-Footnote-1874145
+Node: Gawk I18N874218
+Node: I18N Summary874863
+Node: Debugger876204
+Node: Debugging877224
+Node: Debugging Concepts877665
+Node: Debugging Terms879474
+Node: Awk Debugging882049
+Ref: Awk Debugging-Footnote-1882994
+Node: Sample Debugging Session883126
+Node: Debugger Invocation883660
+Node: Finding The Bug885046
+Node: List of Debugger Commands891520
+Node: Breakpoint Control892853
+Node: Debugger Execution Control896547
+Node: Viewing And Changing Data899909
+Node: Execution Stack903283
+Node: Debugger Info904920
+Node: Miscellaneous Debugger Commands908991
+Node: Readline Support914053
+Node: Limitations914949
+Node: Debugging Summary917058
+Node: Arbitrary Precision Arithmetic918337
+Node: Computer Arithmetic919822
+Ref: table-numeric-ranges923588
+Ref: table-floating-point-ranges924081
+Ref: Computer Arithmetic-Footnote-1924739
+Node: Math Definitions924796
+Ref: table-ieee-formats928112
+Ref: Math Definitions-Footnote-1928715
+Node: MPFR features928820
+Node: FP Math Caution930538
+Ref: FP Math Caution-Footnote-1931610
+Node: Inexactness of computations931979
+Node: Inexact representation932939
+Node: Comparing FP Values934299
+Node: Errors accumulate935540
+Node: Getting Accuracy936973
+Node: Try To Round939683
+Node: Setting precision940582
+Ref: table-predefined-precision-strings941279
+Node: Setting the rounding mode943109
+Ref: table-gawk-rounding-modes943483
+Ref: Setting the rounding mode-Footnote-1947414
+Node: Arbitrary Precision Integers947593
+Ref: Arbitrary Precision Integers-Footnote-1950768
+Node: Checking for MPFR950917
+Node: POSIX Floating Point Problems952391
+Ref: POSIX Floating Point Problems-Footnote-1956676
+Node: Floating point summary956714
+Node: Dynamic Extensions958904
+Node: Extension Intro960457
+Node: Plugin License961723
+Node: Extension Mechanism Outline962520
+Ref: figure-load-extension962959
+Ref: figure-register-new-function964524
+Ref: figure-call-new-function965616
+Node: Extension API Description967678
+Node: Extension API Functions Introduction969320
+Node: General Data Types974860
+Ref: General Data Types-Footnote-1983221
+Node: Memory Allocation Functions983520
+Ref: Memory Allocation Functions-Footnote-1987730
+Node: Constructor Functions987829
+Node: Registration Functions991415
+Node: Extension Functions992100
+Node: Exit Callback Functions997315
+Node: Extension Version String998565
+Node: Input Parsers999228
+Node: Output Wrappers1011949
+Node: Two-way processors1016461
+Node: Printing Messages1018726
+Ref: Printing Messages-Footnote-11019897
+Node: Updating ERRNO1020050
+Node: Requesting Values1020789
+Ref: table-value-types-returned1021526
+Node: Accessing Parameters1022462
+Node: Symbol Table Access1023697
+Node: Symbol table by name1024209
+Node: Symbol table by cookie1025998
+Ref: Symbol table by cookie-Footnote-11030183
+Node: Cached values1030247
+Ref: Cached values-Footnote-11033783
+Node: Array Manipulation1033936
+Ref: Array Manipulation-Footnote-11035027
+Node: Array Data Types1035064
+Ref: Array Data Types-Footnote-11037722
+Node: Array Functions1037814
+Node: Flattening Arrays1042312
+Node: Creating Arrays1049288
+Node: Redirection API1054055
+Node: Extension API Variables1056888
+Node: Extension Versioning1057599
+Ref: gawk-api-version1058028
+Node: Extension GMP/MPFR Versioning1059759
+Node: Extension API Informational Variables1061387
+Node: Extension API Boilerplate1062460
+Node: Changes from API V11066434
+Node: Finding Extensions1068006
+Node: Extension Example1068565
+Node: Internal File Description1069363
+Node: Internal File Ops1073443
+Ref: Internal File Ops-Footnote-11084793
+Node: Using Internal File Ops1084933
+Ref: Using Internal File Ops-Footnote-11087316
+Node: Extension Samples1087590
+Node: Extension Sample File Functions1089119
+Node: Extension Sample Fnmatch1096768
+Node: Extension Sample Fork1098255
+Node: Extension Sample Inplace1099473
+Node: Extension Sample Ord1102690
+Node: Extension Sample Readdir1103526
+Ref: table-readdir-file-types1104415
+Node: Extension Sample Revout1105220
+Node: Extension Sample Rev2way1105809
+Node: Extension Sample Read write array1106549
+Node: Extension Sample Readfile1108491
+Node: Extension Sample Time1109586
+Node: Extension Sample API Tests1110934
+Node: gawkextlib1111426
+Node: Extension summary1114344
+Node: Extension Exercises1118046
+Node: Language History1119544
+Node: V7/SVR3.11121200
+Node: SVR41123352
+Node: POSIX1124786
+Node: BTL1126166
+Node: POSIX/GNU1126895
+Node: Feature History1132673
+Node: Common Extensions1148719
+Node: Ranges and Locales1150002
+Ref: Ranges and Locales-Footnote-11154618
+Ref: Ranges and Locales-Footnote-21154645
+Ref: Ranges and Locales-Footnote-31154880
+Node: Contributors1155101
+Node: History summary1161046
+Node: Installation1162426
+Node: Gawk Distribution1163370
+Node: Getting1163854
+Node: Extracting1164817
+Node: Distribution contents1166455
+Node: Unix Installation1172935
+Node: Quick Installation1173617
+Node: Shell Startup Files1176031
+Node: Additional Configuration Options1177120
+Node: Configuration Philosophy1179285
+Node: Non-Unix Installation1181654
+Node: PC Installation1182114
+Node: PC Binary Installation1182952
+Node: PC Compiling1183387
+Node: PC Using1184504
+Node: Cygwin1188057
+Node: MSYS1189156
+Node: VMS Installation1189657
+Node: VMS Compilation1190448
+Ref: VMS Compilation-Footnote-11191677
+Node: VMS Dynamic Extensions1191735
+Node: VMS Installation Details1193420
+Node: VMS Running1195673
+Node: VMS GNV1199952
+Node: VMS Old Gawk1200687
+Node: Bugs1201158
+Node: Bug address1201821
+Node: Usenet1204803
+Node: Maintainers1205807
+Node: Other Versions1207068
+Node: Installation summary1213982
+Node: Notes1215184
+Node: Compatibility Mode1215978
+Node: Additions1216760
+Node: Accessing The Source1217685
+Node: Adding Code1219122
+Node: New Ports1225341
+Node: Derived Files1229829
+Ref: Derived Files-Footnote-11235475
+Ref: Derived Files-Footnote-21235510
+Ref: Derived Files-Footnote-31236108
+Node: Future Extensions1236222
+Node: Implementation Limitations1236880
+Node: Extension Design1238063
+Node: Old Extension Problems1239207
+Ref: Old Extension Problems-Footnote-11240725
+Node: Extension New Mechanism Goals1240782
+Ref: Extension New Mechanism Goals-Footnote-11244146
+Node: Extension Other Design Decisions1244335
+Node: Extension Future Growth1246448
+Node: Notes summary1247284
+Node: Basic Concepts1248459
+Node: Basic High Level1249140
+Ref: figure-general-flow1249422
+Ref: figure-process-flow1250107
+Ref: Basic High Level-Footnote-11253408
+Node: Basic Data Typing1253593
+Node: Glossary1256921
+Node: Copying1288759
+Node: GNU Free Documentation License1326302
+Node: Index1351422

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 502e83b1..4f3535ea 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3589,6 +3589,8 @@ noticed because it is ``hidden'' inside the comment. Thus, the
@cindex statements, multiple
@cindex @code{;} (semicolon), separating statements in actions
@cindex semicolon (@code{;}), separating statements in actions
+@cindex @code{;} (semicolon), separating rules
+@cindex semicolon (@code{;}), separating rules
When @command{awk} statements within one rule are short, you might want to put
more than one of them on a line. This is accomplished by separating the statements
with a semicolon (@samp{;}).
@@ -4128,6 +4130,7 @@ that this option may disappear in a future version of @command{gawk}.
Force the use of the locale's decimal point character
when parsing numeric input data (@pxref{Locales}).
+@cindex pretty printing
@item @option{-o}[@var{file}]
@itemx @option{--pretty-print}[@code{=}@var{file}]
@cindex @option{-o} option
@@ -5731,7 +5734,7 @@ expressions are not available in regular expressions.
@cindex bracket expressions
@cindex bracket expressions, range expressions
@cindex range expressions (regexps)
-@cindex character lists in regular expression
+@cindex character lists in regular expressions
As mentioned earlier, a bracket expression matches any character among
those listed between the opening and closing square brackets.
@@ -13633,6 +13636,8 @@ Logical ``or.''
@cindex @code{?} (question mark), @code{?:} operator
@cindex question mark (@code{?}), @code{?:} operator
+@cindex @code{:} (colon), @code{?:} operator
+@cindex colon (@code{:}), @code{?:} operator
@item @code{?:}
Conditional. This operator groups right to left.
@@ -15345,8 +15350,8 @@ is to simply say @samp{FS = FS}, perhaps with an explanatory comment.
@cindex @command{gawk}, @code{IGNORECASE} variable in
@cindex @code{IGNORECASE} variable
@cindex differences in @command{awk} and @command{gawk}, @code{IGNORECASE} variable
-@cindex case sensitivity, and string comparisons
-@cindex case sensitivity, and regexps
+@cindex case sensitivity, string comparisons and
+@cindex case sensitivity, regexps and
@cindex regular expressions, case sensitivity
@item IGNORECASE #
If @code{IGNORECASE} is nonzero or non-null, then all string comparisons
@@ -15673,7 +15678,7 @@ are guaranteed to be available:
@table @code
@item PROCINFO["argv"]
-@cindex command line arguments, @code{PROCINFO["argv"]}
+@cindex command line, arguments
The @code{PROCINFO["argv"]} array contains all of the command-line arguments
(after glob expansion and redirection processing on platforms where that must
be done manually by the program) with subscripts ranging from 0 through
@@ -15906,7 +15911,7 @@ if no match was found.
@cindex @command{gawk}, @code{RT} variable in
@cindex @code{RT} variable
-@cindex differences in @command{awk} and @command{gawk}, @code{RT} variable
+@cindex differences in @command{awk} and @command{gawk}, @code{RS}/@code{RT} variables
@item @code{RT #}
The input text that matched the text denoted by @code{RS},
the record separator. It is set every time a record is read.
@@ -16596,8 +16601,8 @@ automatically converts it to a string.
@cindex @command{gawk}, @code{IGNORECASE} variable in
@cindex case sensitivity, array indices and
-@cindex arrays, and @code{IGNORECASE} variable
-@cindex @code{IGNORECASE} variable, and array indices
+@cindex arrays, @code{IGNORECASE} variable and
+@cindex @code{IGNORECASE} variable, array indices and
The value of @code{IGNORECASE} has no effect upon array subscripting.
The identical string value used to store an array element must be used
to retrieve it.
@@ -17080,7 +17085,7 @@ sorting arrays; see @ref{Array Sorting Functions}.
@cindex numbers, as array subscripts
@cindex arrays, numeric subscripts
@cindex subscripts in arrays, numbers as
-@cindex @code{CONVFMT} variable, and array subscripts
+@cindex @code{CONVFMT} variable, array subscripts and
An important aspect to remember about arrays is that @emph{array subscripts
are always strings}. When a numeric value is used as a subscript,
it is converted to a string value before being used for subscripting
@@ -17237,7 +17242,7 @@ if (4 in foo)
print "This will never be printed"
@end example
-@cindex null strings, and deleting array elements
+@cindex null strings, deleting array elements and
It is important to note that deleting an element is @emph{not} the
same as assigning it a null value (the empty string, @code{""}).
For example:
@@ -17332,7 +17337,7 @@ languages, including @command{awk}) to refer to an element of a
two-dimensional array named @code{grid} is with
@code{grid[@var{x},@var{y}]}.
-@cindex @code{SUBSEP} variable, and multidimensional arrays
+@cindex @code{SUBSEP} variable, multidimensional arrays and
Multidimensional arrays are supported in @command{awk} through
concatenation of indices into one string.
@command{awk} converts the indices into strings
@@ -18249,7 +18254,7 @@ warning about this.
@cindex common extensions, @code{length()} applied to an array
@cindex extensions, common@comma{} @code{length()} applied to an array
-@cindex differences between @command{gawk} and @command{awk}
+@cindex differences in @command{awk} and @command{gawk}, @code{length()} function
@cindex number of array elements
@cindex array, number of elements
With @command{gawk} and several other @command{awk} implementations, when given an
@@ -19984,7 +19989,7 @@ Operands | 0 | 1 | 0 | 1 | 0 | 1
@end docbook
@end float
-@cindex bitwise, complement
+@cindex bitwise complement
@cindex complement, bitwise
As you can see, the result of an AND operation is 1 only when @emph{both}
bits are 1.
@@ -23759,7 +23764,7 @@ uses these functions.
@cindex functions, library, group database@comma{} reading
@cindex group database, reading
@cindex database, group, reading
-@cindex @code{PROCINFO} array, and group membership
+@cindex @code{PROCINFO} array, group membership and
@cindex @code{getgrent()} function (C library)
@cindex @code{getgrent()} user-defined function
@cindex groups@comma{} information about
@@ -25058,7 +25063,7 @@ $ @kbd{id}
@print{} uid=1000(arnold) gid=1000(arnold) groups=1000(arnold),4(adm),7(lp),27(sudo)
@end example
-@cindex @code{PROCINFO} array, and user and group ID numbers
+@cindex @code{PROCINFO} array, user and group ID numbers and
This information is part of what is provided by @command{gawk}'s
@code{PROCINFO} array (@pxref{Built-in Variables}).
However, the @command{id} utility provides a more palatable output than just
@@ -28472,8 +28477,8 @@ both arrays use the values.
@c Document It And Call It A Feature. Sigh.
@cindex @command{gawk}, @code{IGNORECASE} variable in
-@cindex arrays, sorting, and @code{IGNORECASE} variable
-@cindex @code{IGNORECASE} variable, and array sorting functions
+@cindex arrays, sorting, @code{IGNORECASE} variable and
+@cindex @code{IGNORECASE} variable, array sorting functions and
Because @code{IGNORECASE} affects string comparisons, the value
of @code{IGNORECASE} also affects sorting for both @code{asort()} and @code{asorti()}.
Note also that the locale's sorting order does @emph{not}
@@ -28721,7 +28726,7 @@ or @code{getline}.
@end quotation
@cindex @command{gawk}, @code{PROCINFO} array in
-@cindex @code{PROCINFO} array, and communications via ptys
+@cindex @code{PROCINFO} array, communications via ptys and
You may also use pseudo-ttys (ptys) for
two-way communication instead of pipes, if your system supports them.
This is done on a per-command basis, by setting a special element
@@ -28754,7 +28759,7 @@ driver and not passed through.
Finally, coprocesses open up the possibility of @dfn{deadlock} between
@command{gawk} and the program running in the coprocess. This can occur
if you send ``too much'' data to the coprocess before reading any back;
-each process is blocked writing data with noone available to read what
+each process is blocked writing data with no one available to read what
they've already written. There is no workaround for deadlock; careful
programming and knowledge of the behavior of the coprocess are required.
@end quotation
@@ -29006,8 +29011,8 @@ Here is the @file{awkprof.out} that results from running the
illustrates that @command{awk} programmers sometimes get up very early
in the morning to work):
-@cindex @code{BEGIN} pattern, and profiling
-@cindex @code{END} pattern, and profiling
+@cindex @code{BEGIN} pattern, profiling and
+@cindex @code{END} pattern, profiling and
@example
# gawk profile, created Mon Sep 29 05:16:21 2014
@@ -29240,6 +29245,7 @@ keyboard. The @code{INT} signal is generated by the
@kbd{Ctrl-c} or @kbd{Ctrl-BREAK} key, while the
@code{QUIT} signal is generated by the @kbd{Ctrl-\} key.
+@cindex pretty printing
Finally, @command{gawk} also accepts another option, @option{--pretty-print}.
When called this way, @command{gawk} ``pretty-prints'' the program into
@file{awkprof.out}, without any execution counts.
@@ -29249,6 +29255,8 @@ Once upon a time, the @option{--pretty-print} option would also run
your program. This is is no longer the case.
@end quotation
+@cindex profiling, pretty-printing, difference with
+@cindex pretty-printing, profiling, difference with
There is a significant difference between the output created when
profiling, and that created when pretty-printing. Pretty-printed output
preserves the original comments that were in the program, although their
@@ -29272,7 +29280,7 @@ Because the internal representation of your program is formatted to
recreate an @command{awk} program, profiling and pretty-printing
automatically disable @command{gawk}'s default optimizations.
-Pretty printing also preserves the original format of numeric
+Profiling and pretty-printing also preserve the original format of numeric
constants; if you used an octal or hexadecimal value in your source
code, it will appear that way in the output.
@@ -30275,7 +30283,7 @@ functional program that you or someone else wrote).
@node Debugging Terms
@subsection Debugging Concepts
-@cindex debugger concepts
+@cindex debugger, concepts
Before diving in to the details, we need to introduce several
important concepts that apply to just about all debuggers.
The following list defines terms used throughout the rest of
@@ -30469,7 +30477,7 @@ let's see how we got to where we are. At the prompt, we type @samp{bt}
(short for ``backtrace''), and the debugger responds with a
listing of the current stack frames:
-@cindex debugger, show stack frames
+@cindex debugger, stack frames, showing
@cindex debugger, @code{bt} command
@cindex debugger, @code{backtrace} command
@example
@@ -30757,7 +30765,7 @@ it continues executing the program.
@cindex debugger commands, @code{clear}
@cindex @code{clear} debugger command
-@cindex delete breakpoint at location
+@cindex delete breakpoint, at location
@cindex breakpoint at location, how to delete
@item @code{clear} [[@var{filename}@code{:}]@var{n} | @var{function}]
Without any argument, delete any breakpoint at the next instruction
@@ -30794,7 +30802,7 @@ watchpoint is made unconditional).
@cindex debugger commands, @code{delete}
@cindex @code{delete} debugger command
@cindex @code{d} debugger command (alias for @code{delete})
-@cindex delete breakpoint by number
+@cindex delete breakpoint, by number
@cindex breakpoint, delete by number
@item @code{delete} [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
@itemx @code{d} [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
@@ -30893,6 +30901,7 @@ gawk>
@cindex debugger commands, @code{c} (@code{continue})
@cindex debugger commands, @code{continue}
@cindex continue program, in debugger
+@cindex @code{continue} debugger command
@item @code{continue} [@var{count}]
@itemx @code{c} [@var{count}]
Resume program execution. If continued from a breakpoint and @var{count} is
@@ -31233,7 +31242,7 @@ from a file. The commands are:
@cindex @code{option} debugger command
@cindex @code{o} debugger command (alias for @code{option})
@cindex display debugger options
-@cindex debugger options
+@cindex debugger, options
@item @code{option} [@var{name}[@code{=}@var{value}]]
@itemx @code{o} [@var{name}[@code{=}@var{value}]]
Without an argument, display the available debugger options
@@ -31246,12 +31255,12 @@ The available options are:
@c asis for docbook
@table @asis
@item @code{history_size}
-@cindex debugger history size
+@cindex debugger, history size
Set the maximum number of lines to keep in the history file
@file{./.gawk_history}. The default is 100.
@item @code{listsize}
-@cindex debugger default list amount
+@cindex debugger, default list amount
Specify the number of lines that @code{list} prints. The default is 15.
@item @code{outfile}
@@ -31261,11 +31270,11 @@ to standard output. An empty string (@code{""}) resets output to
standard output.
@item @code{prompt}
-@cindex debugger prompt
+@cindex debugger, prompt
Change the debugger prompt. The default is @samp{@w{gawk> }}.
@item @code{save_history} [@code{on} | @code{off}]
-@cindex debugger history file
+@cindex debugger, history file
Save command history to file @file{./.gawk_history}.
The default is @code{on}.
@@ -31747,7 +31756,7 @@ the use of arbitrary-precision floating-point calculations.
@cindex floating-point, numbers@comma{} arbitrary-precision
@cindex single-precision
@cindex double-precision
-@cindex arbitrary-precision
+@cindex arbitrary precision
POSIX @command{awk} uses @dfn{double-precision} floating-point numbers, which
can hold more digits than @dfn{single-precision} floating-point numbers.
@command{gawk} has facilities for performing arbitrary-precision
@@ -32688,6 +32697,7 @@ word sizes. See
@cindex MPFR, checking availability of
@cindex checking for MPFR
+@cindex MPFR, checking for
Occasionally, you might like to be able to check if @command{gawk}
was invoked with the @option{-M} option, enabling arbitrary-precision
arithmetic. You can do so with the following function, contributed
@@ -33542,6 +33552,7 @@ process and reduces the time needed to create the value.
@subsection Memory Allocation Functions and Convenience Macros
@cindex allocating memory for extensions
@cindex extensions, allocating memory
+@cindex memory, allocating for extensions
The API provides a number of @dfn{memory allocation} functions for
allocating memory that can be passed to @command{gawk}, as well as a number of
@@ -34934,6 +34945,7 @@ you should release any cached values that you created, using
@node Array Manipulation
@subsection Array Manipulation
@cindex array manipulation in extensions
+@cindex extensions, array manipulation in
The primary data structure@footnote{OK, the only data structure.} in @command{awk}
is the associative array (@pxref{Arrays}).
@@ -40395,7 +40407,7 @@ flag is required to force Unix-style parsing rather than @code{DCL} parsing.
If any other dash-type options (or multiple parameters such as @value{DF}s to
process) are present, there is no ambiguity and @option{--} can be omitted.
-@cindex exit status, of VMS
+@cindex exit status, of @command{gawk}, on VMS
The @code{exit} value is a Unix-style value and is encoded into a VMS exit
status value when the program exits.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 96abe297..a186f902 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -3499,6 +3499,8 @@ noticed because it is ``hidden'' inside the comment. Thus, the
@cindex statements, multiple
@cindex @code{;} (semicolon), separating statements in actions
@cindex semicolon (@code{;}), separating statements in actions
+@cindex @code{;} (semicolon), separating rules
+@cindex semicolon (@code{;}), separating rules
When @command{awk} statements within one rule are short, you might want to put
more than one of them on a line. This is accomplished by separating the statements
with a semicolon (@samp{;}).
@@ -4038,6 +4040,7 @@ that this option may disappear in a future version of @command{gawk}.
Force the use of the locale's decimal point character
when parsing numeric input data (@pxref{Locales}).
+@cindex pretty printing
@item @option{-o}[@var{file}]
@itemx @option{--pretty-print}[@code{=}@var{file}]
@cindex @option{-o} option
@@ -5558,7 +5561,7 @@ expressions are not available in regular expressions.
@cindex bracket expressions
@cindex bracket expressions, range expressions
@cindex range expressions (regexps)
-@cindex character lists in regular expression
+@cindex character lists in regular expressions
As mentioned earlier, a bracket expression matches any character among
those listed between the opening and closing square brackets.
@@ -12951,6 +12954,8 @@ Logical ``or.''
@cindex @code{?} (question mark), @code{?:} operator
@cindex question mark (@code{?}), @code{?:} operator
+@cindex @code{:} (colon), @code{?:} operator
+@cindex colon (@code{:}), @code{?:} operator
@item @code{?:}
Conditional. This operator groups right to left.
@@ -14663,8 +14668,8 @@ is to simply say @samp{FS = FS}, perhaps with an explanatory comment.
@cindex @command{gawk}, @code{IGNORECASE} variable in
@cindex @code{IGNORECASE} variable
@cindex differences in @command{awk} and @command{gawk}, @code{IGNORECASE} variable
-@cindex case sensitivity, and string comparisons
-@cindex case sensitivity, and regexps
+@cindex case sensitivity, string comparisons and
+@cindex case sensitivity, regexps and
@cindex regular expressions, case sensitivity
@item IGNORECASE #
If @code{IGNORECASE} is nonzero or non-null, then all string comparisons
@@ -14991,7 +14996,7 @@ are guaranteed to be available:
@table @code
@item PROCINFO["argv"]
-@cindex command line arguments, @code{PROCINFO["argv"]}
+@cindex command line, arguments
The @code{PROCINFO["argv"]} array contains all of the command-line arguments
(after glob expansion and redirection processing on platforms where that must
be done manually by the program) with subscripts ranging from 0 through
@@ -15224,7 +15229,7 @@ if no match was found.
@cindex @command{gawk}, @code{RT} variable in
@cindex @code{RT} variable
-@cindex differences in @command{awk} and @command{gawk}, @code{RT} variable
+@cindex differences in @command{awk} and @command{gawk}, @code{RS}/@code{RT} variables
@item @code{RT #}
The input text that matched the text denoted by @code{RS},
the record separator. It is set every time a record is read.
@@ -15868,8 +15873,8 @@ automatically converts it to a string.
@cindex @command{gawk}, @code{IGNORECASE} variable in
@cindex case sensitivity, array indices and
-@cindex arrays, and @code{IGNORECASE} variable
-@cindex @code{IGNORECASE} variable, and array indices
+@cindex arrays, @code{IGNORECASE} variable and
+@cindex @code{IGNORECASE} variable, array indices and
The value of @code{IGNORECASE} has no effect upon array subscripting.
The identical string value used to store an array element must be used
to retrieve it.
@@ -16352,7 +16357,7 @@ sorting arrays; see @ref{Array Sorting Functions}.
@cindex numbers, as array subscripts
@cindex arrays, numeric subscripts
@cindex subscripts in arrays, numbers as
-@cindex @code{CONVFMT} variable, and array subscripts
+@cindex @code{CONVFMT} variable, array subscripts and
An important aspect to remember about arrays is that @emph{array subscripts
are always strings}. When a numeric value is used as a subscript,
it is converted to a string value before being used for subscripting
@@ -16509,7 +16514,7 @@ if (4 in foo)
print "This will never be printed"
@end example
-@cindex null strings, and deleting array elements
+@cindex null strings, deleting array elements and
It is important to note that deleting an element is @emph{not} the
same as assigning it a null value (the empty string, @code{""}).
For example:
@@ -16604,7 +16609,7 @@ languages, including @command{awk}) to refer to an element of a
two-dimensional array named @code{grid} is with
@code{grid[@var{x},@var{y}]}.
-@cindex @code{SUBSEP} variable, and multidimensional arrays
+@cindex @code{SUBSEP} variable, multidimensional arrays and
Multidimensional arrays are supported in @command{awk} through
concatenation of indices into one string.
@command{awk} converts the indices into strings
@@ -17521,7 +17526,7 @@ warning about this.
@cindex common extensions, @code{length()} applied to an array
@cindex extensions, common@comma{} @code{length()} applied to an array
-@cindex differences between @command{gawk} and @command{awk}
+@cindex differences in @command{awk} and @command{gawk}, @code{length()} function
@cindex number of array elements
@cindex array, number of elements
With @command{gawk} and several other @command{awk} implementations, when given an
@@ -19095,7 +19100,7 @@ Operands | 0 | 1 | 0 | 1 | 0 | 1
@end docbook
@end float
-@cindex bitwise, complement
+@cindex bitwise complement
@cindex complement, bitwise
As you can see, the result of an AND operation is 1 only when @emph{both}
bits are 1.
@@ -22772,7 +22777,7 @@ uses these functions.
@cindex functions, library, group database@comma{} reading
@cindex group database, reading
@cindex database, group, reading
-@cindex @code{PROCINFO} array, and group membership
+@cindex @code{PROCINFO} array, group membership and
@cindex @code{getgrent()} function (C library)
@cindex @code{getgrent()} user-defined function
@cindex groups@comma{} information about
@@ -24071,7 +24076,7 @@ $ @kbd{id}
@print{} uid=1000(arnold) gid=1000(arnold) groups=1000(arnold),4(adm),7(lp),27(sudo)
@end example
-@cindex @code{PROCINFO} array, and user and group ID numbers
+@cindex @code{PROCINFO} array, user and group ID numbers and
This information is part of what is provided by @command{gawk}'s
@code{PROCINFO} array (@pxref{Built-in Variables}).
However, the @command{id} utility provides a more palatable output than just
@@ -27485,8 +27490,8 @@ both arrays use the values.
@c Document It And Call It A Feature. Sigh.
@cindex @command{gawk}, @code{IGNORECASE} variable in
-@cindex arrays, sorting, and @code{IGNORECASE} variable
-@cindex @code{IGNORECASE} variable, and array sorting functions
+@cindex arrays, sorting, @code{IGNORECASE} variable and
+@cindex @code{IGNORECASE} variable, array sorting functions and
Because @code{IGNORECASE} affects string comparisons, the value
of @code{IGNORECASE} also affects sorting for both @code{asort()} and @code{asorti()}.
Note also that the locale's sorting order does @emph{not}
@@ -27734,7 +27739,7 @@ or @code{getline}.
@end quotation
@cindex @command{gawk}, @code{PROCINFO} array in
-@cindex @code{PROCINFO} array, and communications via ptys
+@cindex @code{PROCINFO} array, communications via ptys and
You may also use pseudo-ttys (ptys) for
two-way communication instead of pipes, if your system supports them.
This is done on a per-command basis, by setting a special element
@@ -27767,7 +27772,7 @@ driver and not passed through.
Finally, coprocesses open up the possibility of @dfn{deadlock} between
@command{gawk} and the program running in the coprocess. This can occur
if you send ``too much'' data to the coprocess before reading any back;
-each process is blocked writing data with noone available to read what
+each process is blocked writing data with no one available to read what
they've already written. There is no workaround for deadlock; careful
programming and knowledge of the behavior of the coprocess are required.
@end quotation
@@ -28019,8 +28024,8 @@ Here is the @file{awkprof.out} that results from running the
illustrates that @command{awk} programmers sometimes get up very early
in the morning to work):
-@cindex @code{BEGIN} pattern, and profiling
-@cindex @code{END} pattern, and profiling
+@cindex @code{BEGIN} pattern, profiling and
+@cindex @code{END} pattern, profiling and
@example
# gawk profile, created Mon Sep 29 05:16:21 2014
@@ -28253,6 +28258,7 @@ keyboard. The @code{INT} signal is generated by the
@kbd{Ctrl-c} or @kbd{Ctrl-BREAK} key, while the
@code{QUIT} signal is generated by the @kbd{Ctrl-\} key.
+@cindex pretty printing
Finally, @command{gawk} also accepts another option, @option{--pretty-print}.
When called this way, @command{gawk} ``pretty-prints'' the program into
@file{awkprof.out}, without any execution counts.
@@ -28262,6 +28268,8 @@ Once upon a time, the @option{--pretty-print} option would also run
your program. This is is no longer the case.
@end quotation
+@cindex profiling, pretty-printing, difference with
+@cindex pretty-printing, profiling, difference with
There is a significant difference between the output created when
profiling, and that created when pretty-printing. Pretty-printed output
preserves the original comments that were in the program, although their
@@ -28285,7 +28293,7 @@ Because the internal representation of your program is formatted to
recreate an @command{awk} program, profiling and pretty-printing
automatically disable @command{gawk}'s default optimizations.
-Pretty printing also preserves the original format of numeric
+Profiling and pretty-printing also preserve the original format of numeric
constants; if you used an octal or hexadecimal value in your source
code, it will appear that way in the output.
@@ -29288,7 +29296,7 @@ functional program that you or someone else wrote).
@node Debugging Terms
@subsection Debugging Concepts
-@cindex debugger concepts
+@cindex debugger, concepts
Before diving in to the details, we need to introduce several
important concepts that apply to just about all debuggers.
The following list defines terms used throughout the rest of
@@ -29482,7 +29490,7 @@ let's see how we got to where we are. At the prompt, we type @samp{bt}
(short for ``backtrace''), and the debugger responds with a
listing of the current stack frames:
-@cindex debugger, show stack frames
+@cindex debugger, stack frames, showing
@cindex debugger, @code{bt} command
@cindex debugger, @code{backtrace} command
@example
@@ -29770,7 +29778,7 @@ it continues executing the program.
@cindex debugger commands, @code{clear}
@cindex @code{clear} debugger command
-@cindex delete breakpoint at location
+@cindex delete breakpoint, at location
@cindex breakpoint at location, how to delete
@item @code{clear} [[@var{filename}@code{:}]@var{n} | @var{function}]
Without any argument, delete any breakpoint at the next instruction
@@ -29807,7 +29815,7 @@ watchpoint is made unconditional).
@cindex debugger commands, @code{delete}
@cindex @code{delete} debugger command
@cindex @code{d} debugger command (alias for @code{delete})
-@cindex delete breakpoint by number
+@cindex delete breakpoint, by number
@cindex breakpoint, delete by number
@item @code{delete} [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
@itemx @code{d} [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
@@ -29906,6 +29914,7 @@ gawk>
@cindex debugger commands, @code{c} (@code{continue})
@cindex debugger commands, @code{continue}
@cindex continue program, in debugger
+@cindex @code{continue} debugger command
@item @code{continue} [@var{count}]
@itemx @code{c} [@var{count}]
Resume program execution. If continued from a breakpoint and @var{count} is
@@ -30246,7 +30255,7 @@ from a file. The commands are:
@cindex @code{option} debugger command
@cindex @code{o} debugger command (alias for @code{option})
@cindex display debugger options
-@cindex debugger options
+@cindex debugger, options
@item @code{option} [@var{name}[@code{=}@var{value}]]
@itemx @code{o} [@var{name}[@code{=}@var{value}]]
Without an argument, display the available debugger options
@@ -30259,12 +30268,12 @@ The available options are:
@c asis for docbook
@table @asis
@item @code{history_size}
-@cindex debugger history size
+@cindex debugger, history size
Set the maximum number of lines to keep in the history file
@file{./.gawk_history}. The default is 100.
@item @code{listsize}
-@cindex debugger default list amount
+@cindex debugger, default list amount
Specify the number of lines that @code{list} prints. The default is 15.
@item @code{outfile}
@@ -30274,11 +30283,11 @@ to standard output. An empty string (@code{""}) resets output to
standard output.
@item @code{prompt}
-@cindex debugger prompt
+@cindex debugger, prompt
Change the debugger prompt. The default is @samp{@w{gawk> }}.
@item @code{save_history} [@code{on} | @code{off}]
-@cindex debugger history file
+@cindex debugger, history file
Save command history to file @file{./.gawk_history}.
The default is @code{on}.
@@ -30760,7 +30769,7 @@ the use of arbitrary-precision floating-point calculations.
@cindex floating-point, numbers@comma{} arbitrary-precision
@cindex single-precision
@cindex double-precision
-@cindex arbitrary-precision
+@cindex arbitrary precision
POSIX @command{awk} uses @dfn{double-precision} floating-point numbers, which
can hold more digits than @dfn{single-precision} floating-point numbers.
@command{gawk} has facilities for performing arbitrary-precision
@@ -31662,6 +31671,7 @@ word sizes. See
@cindex MPFR, checking availability of
@cindex checking for MPFR
+@cindex MPFR, checking for
Occasionally, you might like to be able to check if @command{gawk}
was invoked with the @option{-M} option, enabling arbitrary-precision
arithmetic. You can do so with the following function, contributed
@@ -32516,6 +32526,7 @@ process and reduces the time needed to create the value.
@subsection Memory Allocation Functions and Convenience Macros
@cindex allocating memory for extensions
@cindex extensions, allocating memory
+@cindex memory, allocating for extensions
The API provides a number of @dfn{memory allocation} functions for
allocating memory that can be passed to @command{gawk}, as well as a number of
@@ -33908,6 +33919,7 @@ you should release any cached values that you created, using
@node Array Manipulation
@subsection Array Manipulation
@cindex array manipulation in extensions
+@cindex extensions, array manipulation in
The primary data structure@footnote{OK, the only data structure.} in @command{awk}
is the associative array (@pxref{Arrays}).
@@ -39369,7 +39381,7 @@ flag is required to force Unix-style parsing rather than @code{DCL} parsing.
If any other dash-type options (or multiple parameters such as @value{DF}s to
process) are present, there is no ambiguity and @option{--} can be omitted.
-@cindex exit status, of VMS
+@cindex exit status, of @command{gawk}, on VMS
The @code{exit} value is a Unix-style value and is encoded into a VMS exit
status value when the program exits.