aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--NEWS3
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info806
-rw-r--r--doc/gawk.texi44
-rw-r--r--doc/gawktexi.in44
6 files changed, 475 insertions, 430 deletions
diff --git a/ChangeLog b/ChangeLog
index fa406fc2..6383cb73 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2017-05-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * NEWS: Mention PROCINFO["argv"].
+
2017-05-24 Andrew J. Schorr <aschorr@telemetry-investments.com>
* field.c (set_FIELDWIDTHS): Add check to protect against blank
diff --git a/NEWS b/NEWS
index c1737d92..7f2072a8 100644
--- a/NEWS
+++ b/NEWS
@@ -115,6 +115,9 @@ Changes from 4.1.x to 4.2.0
parsing mechanism by specifying the locations of each field in the input
record. When this is in effect, PROCINFO["FS"] will be set to "API".
+28. The PROCINFO["argv"] array records all of gawk's command line arguments
+ as gawk received them (the values of the C level argv array).
+
Changes from 4.1.3 to 4.1.4
---------------------------
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 8249c0be..c63d2ccd 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2017-05-30 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: Document PROCINFO["argv"].
+
2017-05-29 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in (Checking for MPFR): New node on checking if
diff --git a/doc/gawk.info b/doc/gawk.info
index b7b6b48c..953b657c 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -10853,6 +10853,25 @@ they are not special:
running 'awk' program. The following elements (listed
alphabetically) are guaranteed to be available:
+ 'PROCINFO["argv"]'
+ The '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 'argc' - 1. For
+ example, 'PROCINFO["argv"][0]' will contain the name by which
+ 'gawk' was invoked. Here is an example of how this feature
+ may be used:
+
+ gawk '
+ BEGIN {
+ for (i = 0; i < length(PROCINFO["argv"]); i++)
+ print i, PROCINFO["argv"][i]
+ }'
+
+ Please note that this differs from the standard 'ARGV' array
+ which does not include command-line arguments that have
+ already been processed by 'gawk' (*note ARGC and ARGV::).
+
'PROCINFO["egid"]'
The value of the 'getegid()' system call.
@@ -27946,6 +27965,8 @@ POSIX 'awk', in the order they were added to 'gawk'.
* Changes to 'ENVIRON' are reflected into 'gawk''s environment and
that of programs that it runs. *Note Auto-set::.
+ * The 'PROCINFO["argv"' array. *Note Auto-set::.
+
* The '--pretty-print' option no longer runs the 'awk' program too.
*Note Options::.
@@ -33276,6 +33297,7 @@ Index
* 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)
@@ -33416,7 +33438,7 @@ Index
* dark corner, field separators: Full Line Fields. (line 22)
* dark corner, FILENAME variable: Getline Notes. (line 19)
* dark corner, FILENAME variable <1>: Auto-set. (line 108)
-* dark corner, FNR/NR variables: Auto-set. (line 358)
+* dark corner, FNR/NR variables: Auto-set. (line 377)
* dark corner, format-control characters: Control Letters. (line 18)
* dark corner, format-control characters <1>: Control Letters.
(line 93)
@@ -33651,7 +33673,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 296)
+* differences in awk and gawk, RT variable: Auto-set. (line 315)
* differences in awk and gawk, single-character fields: Single Character Fields.
(line 6)
* differences in awk and gawk, split() function: String Functions.
@@ -33659,7 +33681,7 @@ Index
* differences in awk and gawk, strings: Scalar Constants. (line 20)
* differences in awk and gawk, strings, storing: gawk split records.
(line 76)
-* differences in awk and gawk, SYMTAB variable: Auto-set. (line 300)
+* differences in awk and gawk, SYMTAB variable: Auto-set. (line 319)
* differences in awk and gawk, TEXTDOMAIN variable: User-modified.
(line 155)
* differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
@@ -33699,8 +33721,8 @@ Index
* dynamically loaded extensions: Dynamic Extensions. (line 6)
* e debugger command (alias for enable): Breakpoint Control. (line 73)
* EBCDIC: Ordinal Functions. (line 45)
-* effective group ID of gawk user: Auto-set. (line 153)
-* effective user ID of gawk user: Auto-set. (line 161)
+* effective group ID of gawk user: Auto-set. (line 172)
+* effective user ID of gawk user: Auto-set. (line 180)
* egrep utility: Bracket Expressions. (line 34)
* egrep utility <1>: Egrep Program. (line 6)
* egrep.awk program: Egrep Program. (line 53)
@@ -33822,7 +33844,7 @@ Index
(line 6)
* extension API version: Extension Versioning.
(line 6)
-* extension API, version number: Auto-set. (line 247)
+* extension API, version number: Auto-set. (line 266)
* extension example: Extension Example. (line 6)
* extension registration: Registration Functions.
(line 6)
@@ -33974,7 +33996,7 @@ Index
(line 12)
* FNR variable: Records. (line 6)
* FNR variable <1>: Auto-set. (line 118)
-* FNR variable, changing: Auto-set. (line 358)
+* FNR variable, changing: Auto-set. (line 377)
* for statement: For Statement. (line 6)
* for statement, looping over arrays: Scanning an Array. (line 20)
* fork() extension function: Extension Sample Fork.
@@ -34078,7 +34100,7 @@ Index
* G., Daniel Richard <1>: Maintainers. (line 14)
* Garfinkle, Scott: Contributors. (line 35)
* gawk program, dynamic profiling: Profiling. (line 177)
-* gawk version: Auto-set. (line 222)
+* gawk version: Auto-set. (line 241)
* gawk, ARGIND variable in: Other Arguments. (line 15)
* gawk, awk and: Preface. (line 21)
* gawk, awk and <1>: This Manual. (line 14)
@@ -34154,13 +34176,13 @@ Index
* gawk, regular expressions, precedence: Regexp Operators. (line 161)
* gawk, RT variable in: awk split records. (line 124)
* gawk, RT variable in <1>: Multiple Line. (line 130)
-* gawk, RT variable in <2>: Auto-set. (line 296)
+* gawk, RT variable in <2>: Auto-set. (line 315)
* gawk, See Also awk: Preface. (line 34)
* gawk, source code, obtaining: Getting. (line 6)
* gawk, splitting fields and: Testing field creation.
(line 6)
* gawk, string-translation functions: I18N Functions. (line 6)
-* gawk, SYMTAB array in: Auto-set. (line 300)
+* gawk, SYMTAB array in: Auto-set. (line 319)
* gawk, TEXTDOMAIN variable in: User-modified. (line 155)
* gawk, timestamps: Time Functions. (line 6)
* gawk, uses for: Preface. (line 34)
@@ -34257,7 +34279,7 @@ Index
* Grigera, Juan: Contributors. (line 58)
* group database, reading: Group Functions. (line 6)
* group file: Group Functions. (line 6)
-* group ID of gawk user: Auto-set. (line 171)
+* group ID of gawk user: Auto-set. (line 190)
* groups, information about: Group Functions. (line 6)
* gsub: Standard Regexp Constants.
(line 43)
@@ -34555,7 +34577,7 @@ Index
* mawk utility <2>: Concatenation. (line 36)
* mawk utility <3>: Nextfile Statement. (line 47)
* mawk utility <4>: Other Versions. (line 48)
-* maximum precision supported by MPFR library: Auto-set. (line 236)
+* maximum precision supported by MPFR library: Auto-set. (line 255)
* McIlroy, Doug: Glossary. (line 257)
* McPhee, Patrick: Contributors. (line 101)
* message object files: Explaining gettext. (line 42)
@@ -34568,7 +34590,7 @@ Index
* messages from extensions: Printing Messages. (line 6)
* metacharacters in regular expressions: Regexp Operators. (line 6)
* metacharacters, escape sequences for: Escape Sequences. (line 140)
-* minimum precision required by MPFR library: Auto-set. (line 239)
+* minimum precision required by MPFR library: Auto-set. (line 258)
* mktime: Time Functions. (line 25)
* modifiers, in format specifiers: Format Modifiers. (line 6)
* monetary information, localization: Explaining gettext. (line 104)
@@ -34627,7 +34649,7 @@ Index
* not Boolean-logic operator: Boolean Ops. (line 6)
* NR variable: Records. (line 6)
* NR variable <1>: Auto-set. (line 143)
-* NR variable, changing: Auto-set. (line 358)
+* NR variable, changing: Auto-set. (line 377)
* null strings: awk split records. (line 114)
* null strings <1>: Regexp Field Splitting.
(line 43)
@@ -34747,7 +34769,7 @@ Index
* p debugger command (alias for print): Viewing And Changing Data.
(line 35)
* Papadopoulos, Panos: Contributors. (line 129)
-* parent process ID of gawk process: Auto-set. (line 211)
+* parent process ID of gawk process: Auto-set. (line 230)
* parentheses (), in a profile: Profiling. (line 146)
* parentheses (), regexp operator: Regexp Operators. (line 81)
* password file: Passwd Functions. (line 16)
@@ -34916,8 +34938,8 @@ Index
* printing, unduplicated lines of text: Uniq Program. (line 6)
* printing, user information: Id Program. (line 6)
* private variables: Library Names. (line 11)
-* process group ID of gawk process: Auto-set. (line 205)
-* process ID of gawk process: Auto-set. (line 208)
+* process group ID of gawk process: Auto-set. (line 224)
+* process ID of gawk process: Auto-set. (line 227)
* processes, two-way communications with: Two-way I/O. (line 6)
* processing data: Basic High Level. (line 6)
* PROCINFO array: Auto-set. (line 148)
@@ -34932,7 +34954,7 @@ Index
(line 26)
* profiling awk programs: Profiling. (line 6)
* profiling awk programs, dynamically: Profiling. (line 177)
-* program identifiers: Auto-set. (line 174)
+* program identifiers: Auto-set. (line 193)
* program, definition of: Getting Started. (line 21)
* programming conventions, --non-decimal-data option: Nondecimal Data.
(line 35)
@@ -35093,7 +35115,7 @@ Index
* right shift: Bitwise Functions. (line 54)
* right shift, bitwise: Bitwise Functions. (line 32)
* Ritchie, Dennis: Basic Data Typing. (line 54)
-* RLENGTH variable: Auto-set. (line 283)
+* RLENGTH variable: Auto-set. (line 302)
* RLENGTH variable, match() function and: String Functions. (line 227)
* Robbins, Arnold: Command Line Field Separator.
(line 71)
@@ -35119,11 +35141,11 @@ Index
* RS variable <1>: User-modified. (line 136)
* RS variable, multiline records and: Multiple Line. (line 17)
* rshift: Bitwise Functions. (line 54)
-* RSTART variable: Auto-set. (line 289)
+* RSTART variable: Auto-set. (line 308)
* RSTART variable, match() function and: String Functions. (line 227)
* RT variable: awk split records. (line 124)
* RT variable <1>: Multiple Line. (line 130)
-* RT variable <2>: Auto-set. (line 296)
+* RT variable <2>: Auto-set. (line 315)
* Rubin, Paul: History. (line 30)
* Rubin, Paul <1>: Contributors. (line 16)
* rule, definition of: Getting Started. (line 21)
@@ -35141,7 +35163,7 @@ Index
* scanning arrays: Scanning an Array. (line 6)
* scanning multidimensional arrays: Multiscanning. (line 11)
* Schorr, Andrew: Acknowledgments. (line 60)
-* Schorr, Andrew <1>: Auto-set. (line 328)
+* Schorr, Andrew <1>: Auto-set. (line 347)
* Schorr, Andrew <2>: Contributors. (line 134)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
@@ -35227,7 +35249,7 @@ Index
* sidebar, Beware The Smoke and Mirrors!: Bitwise Functions. (line 126)
* sidebar, Changing FS Does Not Affect the Fields: Full Line Fields.
(line 14)
-* sidebar, Changing NR and FNR: Auto-set. (line 356)
+* sidebar, Changing NR and FNR: Auto-set. (line 375)
* sidebar, Controlling Output Buffering with system(): I/O Functions.
(line 164)
* sidebar, Escape Sequences for Metacharacters: Escape Sequences.
@@ -35390,9 +35412,9 @@ Index
* substr: String Functions. (line 484)
* substring: String Functions. (line 484)
* Sumner, Andrew: Other Versions. (line 68)
-* supplementary groups of gawk process: Auto-set. (line 252)
+* supplementary groups of gawk process: Auto-set. (line 271)
* switch statement: Switch Statement. (line 6)
-* SYMTAB array: Auto-set. (line 300)
+* SYMTAB array: Auto-set. (line 319)
* syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 149)
* system: I/O Functions. (line 107)
@@ -35574,10 +35596,10 @@ Index
* variables, uninitialized, as array subscripts: Uninitialized Subscripts.
(line 6)
* variables, user-defined: Variables. (line 6)
-* version of gawk: Auto-set. (line 222)
-* version of gawk extension API: Auto-set. (line 247)
-* version of GNU MP library: Auto-set. (line 230)
-* version of GNU MPFR library: Auto-set. (line 232)
+* version of gawk: Auto-set. (line 241)
+* version of gawk extension API: Auto-set. (line 266)
+* version of GNU MP library: Auto-set. (line 249)
+* version of GNU MPFR library: Auto-set. (line 251)
* vertical bar (|): Regexp Operators. (line 70)
* vertical bar (|), | operator (I/O): Getline/Pipe. (line 10)
* vertical bar (|), | operator (I/O) <1>: Precedence. (line 64)
@@ -35856,368 +35878,368 @@ Node: Exit Statement449516
Node: Built-in Variables451919
Node: User-modified453052
Node: Auto-set460819
-Ref: Auto-set-Footnote-1475547
-Ref: Auto-set-Footnote-2475753
-Node: ARGC and ARGV475809
-Node: Pattern Action Summary480022
-Node: Arrays482452
-Node: Array Basics483781
-Node: Array Intro484625
-Ref: figure-array-elements486600
-Ref: Array Intro-Footnote-1489304
-Node: Reference to Elements489432
-Node: Assigning Elements491896
-Node: Array Example492387
-Node: Scanning an Array494146
-Node: Controlling Scanning497168
-Ref: Controlling Scanning-Footnote-1502567
-Node: Numeric Array Subscripts502883
-Node: Uninitialized Subscripts505067
-Node: Delete506686
-Ref: Delete-Footnote-1509438
-Node: Multidimensional509495
-Node: Multiscanning512590
-Node: Arrays of Arrays514181
-Node: Arrays Summary518948
-Node: Functions521041
-Node: Built-in522079
-Node: Calling Built-in523160
-Node: Numeric Functions525156
-Ref: Numeric Functions-Footnote-1529184
-Ref: Numeric Functions-Footnote-2529541
-Ref: Numeric Functions-Footnote-3529589
-Node: String Functions529861
-Ref: String Functions-Footnote-1553519
-Ref: String Functions-Footnote-2553647
-Ref: String Functions-Footnote-3553895
-Node: Gory Details553982
-Ref: table-sub-escapes555773
-Ref: table-sub-proposed557292
-Ref: table-posix-sub558655
-Ref: table-gensub-escapes560196
-Ref: Gory Details-Footnote-1561019
-Node: I/O Functions561173
-Ref: table-system-return-values567755
-Ref: I/O Functions-Footnote-1569735
-Ref: I/O Functions-Footnote-2569883
-Node: Time Functions570003
-Ref: Time Functions-Footnote-1580670
-Ref: Time Functions-Footnote-2580738
-Ref: Time Functions-Footnote-3580896
-Ref: Time Functions-Footnote-4581007
-Ref: Time Functions-Footnote-5581119
-Ref: Time Functions-Footnote-6581346
-Node: Bitwise Functions581612
-Ref: table-bitwise-ops582206
-Ref: Bitwise Functions-Footnote-1588239
-Ref: Bitwise Functions-Footnote-2588412
-Node: Type Functions588603
-Node: I18N Functions591278
-Node: User-defined592929
-Node: Definition Syntax593734
-Ref: Definition Syntax-Footnote-1599421
-Node: Function Example599492
-Ref: Function Example-Footnote-1602414
-Node: Function Caveats602436
-Node: Calling A Function602954
-Node: Variable Scope603912
-Node: Pass By Value/Reference606906
-Node: Return Statement610405
-Node: Dynamic Typing613384
-Node: Indirect Calls614314
-Ref: Indirect Calls-Footnote-1624565
-Node: Functions Summary624693
-Node: Library Functions627398
-Ref: Library Functions-Footnote-1631005
-Ref: Library Functions-Footnote-2631148
-Node: Library Names631319
-Ref: Library Names-Footnote-1634779
-Ref: Library Names-Footnote-2635002
-Node: General Functions635088
-Node: Strtonum Function636191
-Node: Assert Function639213
-Node: Round Function642539
-Node: Cliff Random Function644080
-Node: Ordinal Functions645096
-Ref: Ordinal Functions-Footnote-1648159
-Ref: Ordinal Functions-Footnote-2648411
-Node: Join Function648621
-Ref: Join Function-Footnote-1650391
-Node: Getlocaltime Function650591
-Node: Readfile Function654333
-Node: Shell Quoting656305
-Node: Data File Management657706
-Node: Filetrans Function658338
-Node: Rewind Function662434
-Node: File Checking664340
-Ref: File Checking-Footnote-1665674
-Node: Empty Files665875
-Node: Ignoring Assigns667854
-Node: Getopt Function669404
-Ref: Getopt Function-Footnote-1680873
-Node: Passwd Functions681073
-Ref: Passwd Functions-Footnote-1689912
-Node: Group Functions690000
-Ref: Group Functions-Footnote-1697898
-Node: Walking Arrays698105
-Node: Library Functions Summary701113
-Node: Library Exercises702519
-Node: Sample Programs702984
-Node: Running Examples703754
-Node: Clones704482
-Node: Cut Program705706
-Node: Egrep Program715635
-Ref: Egrep Program-Footnote-1723147
-Node: Id Program723257
-Node: Split Program726937
-Ref: Split Program-Footnote-1730396
-Node: Tee Program730525
-Node: Uniq Program733315
-Node: Wc Program740741
-Ref: Wc Program-Footnote-1744996
-Node: Miscellaneous Programs745090
-Node: Dupword Program746303
-Node: Alarm Program748333
-Node: Translate Program753188
-Ref: Translate Program-Footnote-1757753
-Node: Labels Program758023
-Ref: Labels Program-Footnote-1761374
-Node: Word Sorting761458
-Node: History Sorting765530
-Node: Extract Program767365
-Node: Simple Sed774894
-Node: Igawk Program777968
-Ref: Igawk Program-Footnote-1792299
-Ref: Igawk Program-Footnote-2792501
-Ref: Igawk Program-Footnote-3792623
-Node: Anagram Program792738
-Node: Signature Program795800
-Node: Programs Summary797047
-Node: Programs Exercises798261
-Ref: Programs Exercises-Footnote-1802390
-Node: Advanced Features802481
-Node: Nondecimal Data804471
-Node: Array Sorting806062
-Node: Controlling Array Traversal806762
-Ref: Controlling Array Traversal-Footnote-1815129
-Node: Array Sorting Functions815247
-Ref: Array Sorting Functions-Footnote-1820338
-Node: Two-way I/O820534
-Ref: Two-way I/O-Footnote-1827085
-Ref: Two-way I/O-Footnote-2827272
-Node: TCP/IP Networking827354
-Node: Profiling830472
-Ref: Profiling-Footnote-1839144
-Node: Advanced Features Summary839467
-Node: Internationalization841311
-Node: I18N and L10N842791
-Node: Explaining gettext843478
-Ref: Explaining gettext-Footnote-1849370
-Ref: Explaining gettext-Footnote-2849555
-Node: Programmer i18n849720
-Ref: Programmer i18n-Footnote-1854669
-Node: Translator i18n854718
-Node: String Extraction855512
-Ref: String Extraction-Footnote-1856644
-Node: Printf Ordering856730
-Ref: Printf Ordering-Footnote-1859516
-Node: I18N Portability859580
-Ref: I18N Portability-Footnote-1862036
-Node: I18N Example862099
-Ref: I18N Example-Footnote-1864905
-Node: Gawk I18N864978
-Node: I18N Summary865623
-Node: Debugger866964
-Node: Debugging867986
-Node: Debugging Concepts868427
-Node: Debugging Terms870236
-Node: Awk Debugging872811
-Node: Sample Debugging Session873717
-Node: Debugger Invocation874251
-Node: Finding The Bug875637
-Node: List of Debugger Commands882115
-Node: Breakpoint Control883448
-Node: Debugger Execution Control887142
-Node: Viewing And Changing Data890504
-Node: Execution Stack893878
-Node: Debugger Info895515
-Node: Miscellaneous Debugger Commands899586
-Node: Readline Support904674
-Node: Limitations905570
-Node: Debugging Summary907679
-Node: Arbitrary Precision Arithmetic908958
-Node: Computer Arithmetic910443
-Ref: table-numeric-ranges914034
-Ref: Computer Arithmetic-Footnote-1914756
-Node: Math Definitions914813
-Ref: table-ieee-formats918127
-Ref: Math Definitions-Footnote-1918730
-Node: MPFR features918835
-Node: FP Math Caution920552
-Ref: FP Math Caution-Footnote-1921624
-Node: Inexactness of computations921993
-Node: Inexact representation922953
-Node: Comparing FP Values924313
-Node: Errors accumulate925395
-Node: Getting Accuracy926828
-Node: Try To Round929538
-Node: Setting precision930437
-Ref: table-predefined-precision-strings931134
-Node: Setting the rounding mode932964
-Ref: table-gawk-rounding-modes933338
-Ref: Setting the rounding mode-Footnote-1936746
-Node: Arbitrary Precision Integers936925
-Ref: Arbitrary Precision Integers-Footnote-1940100
-Node: Checking for MPFR940249
-Node: POSIX Floating Point Problems941546
-Ref: POSIX Floating Point Problems-Footnote-1945417
-Node: Floating point summary945455
-Node: Dynamic Extensions947645
-Node: Extension Intro949198
-Node: Plugin License950464
-Node: Extension Mechanism Outline951261
-Ref: figure-load-extension951700
-Ref: figure-register-new-function953265
-Ref: figure-call-new-function954357
-Node: Extension API Description956419
-Node: Extension API Functions Introduction958061
-Node: General Data Types963395
-Ref: General Data Types-Footnote-1970600
-Node: Memory Allocation Functions970899
-Ref: Memory Allocation Functions-Footnote-1973744
-Node: Constructor Functions973843
-Node: Registration Functions976842
-Node: Extension Functions977527
-Node: Exit Callback Functions982740
-Node: Extension Version String983990
-Node: Input Parsers984653
-Node: Output Wrappers997360
-Node: Two-way processors1001872
-Node: Printing Messages1004137
-Ref: Printing Messages-Footnote-11005308
-Node: Updating ERRNO1005461
-Node: Requesting Values1006200
-Ref: table-value-types-returned1006937
-Node: Accessing Parameters1007873
-Node: Symbol Table Access1009108
-Node: Symbol table by name1009620
-Node: Symbol table by cookie1011409
-Ref: Symbol table by cookie-Footnote-11015594
-Node: Cached values1015658
-Ref: Cached values-Footnote-11019194
-Node: Array Manipulation1019285
-Ref: Array Manipulation-Footnote-11020376
-Node: Array Data Types1020413
-Ref: Array Data Types-Footnote-11023071
-Node: Array Functions1023163
-Node: Flattening Arrays1027562
-Node: Creating Arrays1034503
-Node: Redirection API1039272
-Node: Extension API Variables1042114
-Node: Extension Versioning1042747
-Ref: gawk-api-version1043184
-Node: Extension API Informational Variables1044912
-Node: Extension API Boilerplate1045976
-Node: Changes from API V11049838
-Node: Finding Extensions1050498
-Node: Extension Example1051057
-Node: Internal File Description1051855
-Node: Internal File Ops1055935
-Ref: Internal File Ops-Footnote-11067335
-Node: Using Internal File Ops1067475
-Ref: Using Internal File Ops-Footnote-11069858
-Node: Extension Samples1070132
-Node: Extension Sample File Functions1071661
-Node: Extension Sample Fnmatch1079310
-Node: Extension Sample Fork1080797
-Node: Extension Sample Inplace1082015
-Node: Extension Sample Ord1085225
-Node: Extension Sample Readdir1086061
-Ref: table-readdir-file-types1086950
-Node: Extension Sample Revout1087755
-Node: Extension Sample Rev2way1088344
-Node: Extension Sample Read write array1089084
-Node: Extension Sample Readfile1091026
-Node: Extension Sample Time1092121
-Node: Extension Sample API Tests1093469
-Node: gawkextlib1093961
-Node: Extension summary1096408
-Node: Extension Exercises1100110
-Node: Language History1101608
-Node: V7/SVR3.11103264
-Node: SVR41105416
-Node: POSIX1106850
-Node: BTL1108229
-Node: POSIX/GNU1108958
-Node: Feature History1114736
-Node: Common Extensions1129047
-Node: Ranges and Locales1130330
-Ref: Ranges and Locales-Footnote-11134946
-Ref: Ranges and Locales-Footnote-21134973
-Ref: Ranges and Locales-Footnote-31135208
-Node: Contributors1135429
-Node: History summary1140989
-Node: Installation1142369
-Node: Gawk Distribution1143313
-Node: Getting1143797
-Node: Extracting1144758
-Node: Distribution contents1146396
-Node: Unix Installation1152738
-Node: Quick Installation1153420
-Node: Shell Startup Files1155834
-Node: Additional Configuration Options1156923
-Node: Configuration Philosophy1158912
-Node: Non-Unix Installation1161281
-Node: PC Installation1161741
-Node: PC Binary Installation1162579
-Node: PC Compiling1163014
-Node: PC Using1164131
-Node: Cygwin1167176
-Node: MSYS1167946
-Node: VMS Installation1168447
-Node: VMS Compilation1169238
-Ref: VMS Compilation-Footnote-11170467
-Node: VMS Dynamic Extensions1170525
-Node: VMS Installation Details1172210
-Node: VMS Running1174463
-Node: VMS GNV1178742
-Node: VMS Old Gawk1179477
-Node: Bugs1179948
-Node: Bug address1180611
-Node: Usenet1183008
-Node: Maintainers1183785
-Node: Other Versions1185161
-Node: Installation summary1191745
-Node: Notes1192780
-Node: Compatibility Mode1193645
-Node: Additions1194427
-Node: Accessing The Source1195352
-Node: Adding Code1196787
-Node: New Ports1203005
-Node: Derived Files1207493
-Ref: Derived Files-Footnote-11212978
-Ref: Derived Files-Footnote-21213013
-Ref: Derived Files-Footnote-31213611
-Node: Future Extensions1213725
-Node: Implementation Limitations1214383
-Node: Extension Design1215566
-Node: Old Extension Problems1216720
-Ref: Old Extension Problems-Footnote-11218238
-Node: Extension New Mechanism Goals1218295
-Ref: Extension New Mechanism Goals-Footnote-11221659
-Node: Extension Other Design Decisions1221848
-Node: Extension Future Growth1223961
-Node: Old Extension Mechanism1224797
-Node: Notes summary1226560
-Node: Basic Concepts1227742
-Node: Basic High Level1228423
-Ref: figure-general-flow1228705
-Ref: figure-process-flow1229390
-Ref: Basic High Level-Footnote-11232691
-Node: Basic Data Typing1232876
-Node: Glossary1236204
-Node: Copying1268151
-Node: GNU Free Documentation License1305690
-Node: Index1330808
+Ref: Auto-set-Footnote-1476416
+Ref: Auto-set-Footnote-2476622
+Node: ARGC and ARGV476678
+Node: Pattern Action Summary480891
+Node: Arrays483321
+Node: Array Basics484650
+Node: Array Intro485494
+Ref: figure-array-elements487469
+Ref: Array Intro-Footnote-1490173
+Node: Reference to Elements490301
+Node: Assigning Elements492765
+Node: Array Example493256
+Node: Scanning an Array495015
+Node: Controlling Scanning498037
+Ref: Controlling Scanning-Footnote-1503436
+Node: Numeric Array Subscripts503752
+Node: Uninitialized Subscripts505936
+Node: Delete507555
+Ref: Delete-Footnote-1510307
+Node: Multidimensional510364
+Node: Multiscanning513459
+Node: Arrays of Arrays515050
+Node: Arrays Summary519817
+Node: Functions521910
+Node: Built-in522948
+Node: Calling Built-in524029
+Node: Numeric Functions526025
+Ref: Numeric Functions-Footnote-1530053
+Ref: Numeric Functions-Footnote-2530410
+Ref: Numeric Functions-Footnote-3530458
+Node: String Functions530730
+Ref: String Functions-Footnote-1554388
+Ref: String Functions-Footnote-2554516
+Ref: String Functions-Footnote-3554764
+Node: Gory Details554851
+Ref: table-sub-escapes556642
+Ref: table-sub-proposed558161
+Ref: table-posix-sub559524
+Ref: table-gensub-escapes561065
+Ref: Gory Details-Footnote-1561888
+Node: I/O Functions562042
+Ref: table-system-return-values568624
+Ref: I/O Functions-Footnote-1570604
+Ref: I/O Functions-Footnote-2570752
+Node: Time Functions570872
+Ref: Time Functions-Footnote-1581539
+Ref: Time Functions-Footnote-2581607
+Ref: Time Functions-Footnote-3581765
+Ref: Time Functions-Footnote-4581876
+Ref: Time Functions-Footnote-5581988
+Ref: Time Functions-Footnote-6582215
+Node: Bitwise Functions582481
+Ref: table-bitwise-ops583075
+Ref: Bitwise Functions-Footnote-1589108
+Ref: Bitwise Functions-Footnote-2589281
+Node: Type Functions589472
+Node: I18N Functions592147
+Node: User-defined593798
+Node: Definition Syntax594603
+Ref: Definition Syntax-Footnote-1600290
+Node: Function Example600361
+Ref: Function Example-Footnote-1603283
+Node: Function Caveats603305
+Node: Calling A Function603823
+Node: Variable Scope604781
+Node: Pass By Value/Reference607775
+Node: Return Statement611274
+Node: Dynamic Typing614253
+Node: Indirect Calls615183
+Ref: Indirect Calls-Footnote-1625434
+Node: Functions Summary625562
+Node: Library Functions628267
+Ref: Library Functions-Footnote-1631874
+Ref: Library Functions-Footnote-2632017
+Node: Library Names632188
+Ref: Library Names-Footnote-1635648
+Ref: Library Names-Footnote-2635871
+Node: General Functions635957
+Node: Strtonum Function637060
+Node: Assert Function640082
+Node: Round Function643408
+Node: Cliff Random Function644949
+Node: Ordinal Functions645965
+Ref: Ordinal Functions-Footnote-1649028
+Ref: Ordinal Functions-Footnote-2649280
+Node: Join Function649490
+Ref: Join Function-Footnote-1651260
+Node: Getlocaltime Function651460
+Node: Readfile Function655202
+Node: Shell Quoting657174
+Node: Data File Management658575
+Node: Filetrans Function659207
+Node: Rewind Function663303
+Node: File Checking665209
+Ref: File Checking-Footnote-1666543
+Node: Empty Files666744
+Node: Ignoring Assigns668723
+Node: Getopt Function670273
+Ref: Getopt Function-Footnote-1681742
+Node: Passwd Functions681942
+Ref: Passwd Functions-Footnote-1690781
+Node: Group Functions690869
+Ref: Group Functions-Footnote-1698767
+Node: Walking Arrays698974
+Node: Library Functions Summary701982
+Node: Library Exercises703388
+Node: Sample Programs703853
+Node: Running Examples704623
+Node: Clones705351
+Node: Cut Program706575
+Node: Egrep Program716504
+Ref: Egrep Program-Footnote-1724016
+Node: Id Program724126
+Node: Split Program727806
+Ref: Split Program-Footnote-1731265
+Node: Tee Program731394
+Node: Uniq Program734184
+Node: Wc Program741610
+Ref: Wc Program-Footnote-1745865
+Node: Miscellaneous Programs745959
+Node: Dupword Program747172
+Node: Alarm Program749202
+Node: Translate Program754057
+Ref: Translate Program-Footnote-1758622
+Node: Labels Program758892
+Ref: Labels Program-Footnote-1762243
+Node: Word Sorting762327
+Node: History Sorting766399
+Node: Extract Program768234
+Node: Simple Sed775763
+Node: Igawk Program778837
+Ref: Igawk Program-Footnote-1793168
+Ref: Igawk Program-Footnote-2793370
+Ref: Igawk Program-Footnote-3793492
+Node: Anagram Program793607
+Node: Signature Program796669
+Node: Programs Summary797916
+Node: Programs Exercises799130
+Ref: Programs Exercises-Footnote-1803259
+Node: Advanced Features803350
+Node: Nondecimal Data805340
+Node: Array Sorting806931
+Node: Controlling Array Traversal807631
+Ref: Controlling Array Traversal-Footnote-1815998
+Node: Array Sorting Functions816116
+Ref: Array Sorting Functions-Footnote-1821207
+Node: Two-way I/O821403
+Ref: Two-way I/O-Footnote-1827954
+Ref: Two-way I/O-Footnote-2828141
+Node: TCP/IP Networking828223
+Node: Profiling831341
+Ref: Profiling-Footnote-1840013
+Node: Advanced Features Summary840336
+Node: Internationalization842180
+Node: I18N and L10N843660
+Node: Explaining gettext844347
+Ref: Explaining gettext-Footnote-1850239
+Ref: Explaining gettext-Footnote-2850424
+Node: Programmer i18n850589
+Ref: Programmer i18n-Footnote-1855538
+Node: Translator i18n855587
+Node: String Extraction856381
+Ref: String Extraction-Footnote-1857513
+Node: Printf Ordering857599
+Ref: Printf Ordering-Footnote-1860385
+Node: I18N Portability860449
+Ref: I18N Portability-Footnote-1862905
+Node: I18N Example862968
+Ref: I18N Example-Footnote-1865774
+Node: Gawk I18N865847
+Node: I18N Summary866492
+Node: Debugger867833
+Node: Debugging868855
+Node: Debugging Concepts869296
+Node: Debugging Terms871105
+Node: Awk Debugging873680
+Node: Sample Debugging Session874586
+Node: Debugger Invocation875120
+Node: Finding The Bug876506
+Node: List of Debugger Commands882984
+Node: Breakpoint Control884317
+Node: Debugger Execution Control888011
+Node: Viewing And Changing Data891373
+Node: Execution Stack894747
+Node: Debugger Info896384
+Node: Miscellaneous Debugger Commands900455
+Node: Readline Support905543
+Node: Limitations906439
+Node: Debugging Summary908548
+Node: Arbitrary Precision Arithmetic909827
+Node: Computer Arithmetic911312
+Ref: table-numeric-ranges914903
+Ref: Computer Arithmetic-Footnote-1915625
+Node: Math Definitions915682
+Ref: table-ieee-formats918996
+Ref: Math Definitions-Footnote-1919599
+Node: MPFR features919704
+Node: FP Math Caution921421
+Ref: FP Math Caution-Footnote-1922493
+Node: Inexactness of computations922862
+Node: Inexact representation923822
+Node: Comparing FP Values925182
+Node: Errors accumulate926264
+Node: Getting Accuracy927697
+Node: Try To Round930407
+Node: Setting precision931306
+Ref: table-predefined-precision-strings932003
+Node: Setting the rounding mode933833
+Ref: table-gawk-rounding-modes934207
+Ref: Setting the rounding mode-Footnote-1937615
+Node: Arbitrary Precision Integers937794
+Ref: Arbitrary Precision Integers-Footnote-1940969
+Node: Checking for MPFR941118
+Node: POSIX Floating Point Problems942415
+Ref: POSIX Floating Point Problems-Footnote-1946286
+Node: Floating point summary946324
+Node: Dynamic Extensions948514
+Node: Extension Intro950067
+Node: Plugin License951333
+Node: Extension Mechanism Outline952130
+Ref: figure-load-extension952569
+Ref: figure-register-new-function954134
+Ref: figure-call-new-function955226
+Node: Extension API Description957288
+Node: Extension API Functions Introduction958930
+Node: General Data Types964264
+Ref: General Data Types-Footnote-1971469
+Node: Memory Allocation Functions971768
+Ref: Memory Allocation Functions-Footnote-1974613
+Node: Constructor Functions974712
+Node: Registration Functions977711
+Node: Extension Functions978396
+Node: Exit Callback Functions983609
+Node: Extension Version String984859
+Node: Input Parsers985522
+Node: Output Wrappers998229
+Node: Two-way processors1002741
+Node: Printing Messages1005006
+Ref: Printing Messages-Footnote-11006177
+Node: Updating ERRNO1006330
+Node: Requesting Values1007069
+Ref: table-value-types-returned1007806
+Node: Accessing Parameters1008742
+Node: Symbol Table Access1009977
+Node: Symbol table by name1010489
+Node: Symbol table by cookie1012278
+Ref: Symbol table by cookie-Footnote-11016463
+Node: Cached values1016527
+Ref: Cached values-Footnote-11020063
+Node: Array Manipulation1020154
+Ref: Array Manipulation-Footnote-11021245
+Node: Array Data Types1021282
+Ref: Array Data Types-Footnote-11023940
+Node: Array Functions1024032
+Node: Flattening Arrays1028431
+Node: Creating Arrays1035372
+Node: Redirection API1040141
+Node: Extension API Variables1042983
+Node: Extension Versioning1043616
+Ref: gawk-api-version1044053
+Node: Extension API Informational Variables1045781
+Node: Extension API Boilerplate1046845
+Node: Changes from API V11050707
+Node: Finding Extensions1051367
+Node: Extension Example1051926
+Node: Internal File Description1052724
+Node: Internal File Ops1056804
+Ref: Internal File Ops-Footnote-11068204
+Node: Using Internal File Ops1068344
+Ref: Using Internal File Ops-Footnote-11070727
+Node: Extension Samples1071001
+Node: Extension Sample File Functions1072530
+Node: Extension Sample Fnmatch1080179
+Node: Extension Sample Fork1081666
+Node: Extension Sample Inplace1082884
+Node: Extension Sample Ord1086094
+Node: Extension Sample Readdir1086930
+Ref: table-readdir-file-types1087819
+Node: Extension Sample Revout1088624
+Node: Extension Sample Rev2way1089213
+Node: Extension Sample Read write array1089953
+Node: Extension Sample Readfile1091895
+Node: Extension Sample Time1092990
+Node: Extension Sample API Tests1094338
+Node: gawkextlib1094830
+Node: Extension summary1097277
+Node: Extension Exercises1100979
+Node: Language History1102477
+Node: V7/SVR3.11104133
+Node: SVR41106285
+Node: POSIX1107719
+Node: BTL1109098
+Node: POSIX/GNU1109827
+Node: Feature History1115605
+Node: Common Extensions1129970
+Node: Ranges and Locales1131253
+Ref: Ranges and Locales-Footnote-11135869
+Ref: Ranges and Locales-Footnote-21135896
+Ref: Ranges and Locales-Footnote-31136131
+Node: Contributors1136352
+Node: History summary1141912
+Node: Installation1143292
+Node: Gawk Distribution1144236
+Node: Getting1144720
+Node: Extracting1145681
+Node: Distribution contents1147319
+Node: Unix Installation1153661
+Node: Quick Installation1154343
+Node: Shell Startup Files1156757
+Node: Additional Configuration Options1157846
+Node: Configuration Philosophy1159835
+Node: Non-Unix Installation1162204
+Node: PC Installation1162664
+Node: PC Binary Installation1163502
+Node: PC Compiling1163937
+Node: PC Using1165054
+Node: Cygwin1168099
+Node: MSYS1168869
+Node: VMS Installation1169370
+Node: VMS Compilation1170161
+Ref: VMS Compilation-Footnote-11171390
+Node: VMS Dynamic Extensions1171448
+Node: VMS Installation Details1173133
+Node: VMS Running1175386
+Node: VMS GNV1179665
+Node: VMS Old Gawk1180400
+Node: Bugs1180871
+Node: Bug address1181534
+Node: Usenet1183931
+Node: Maintainers1184708
+Node: Other Versions1186084
+Node: Installation summary1192668
+Node: Notes1193703
+Node: Compatibility Mode1194568
+Node: Additions1195350
+Node: Accessing The Source1196275
+Node: Adding Code1197710
+Node: New Ports1203928
+Node: Derived Files1208416
+Ref: Derived Files-Footnote-11213901
+Ref: Derived Files-Footnote-21213936
+Ref: Derived Files-Footnote-31214534
+Node: Future Extensions1214648
+Node: Implementation Limitations1215306
+Node: Extension Design1216489
+Node: Old Extension Problems1217643
+Ref: Old Extension Problems-Footnote-11219161
+Node: Extension New Mechanism Goals1219218
+Ref: Extension New Mechanism Goals-Footnote-11222582
+Node: Extension Other Design Decisions1222771
+Node: Extension Future Growth1224884
+Node: Old Extension Mechanism1225720
+Node: Notes summary1227483
+Node: Basic Concepts1228665
+Node: Basic High Level1229346
+Ref: figure-general-flow1229628
+Ref: figure-process-flow1230313
+Ref: Basic High Level-Footnote-11233614
+Node: Basic Data Typing1233799
+Node: Glossary1237127
+Node: Copying1269074
+Node: GNU Free Documentation License1306613
+Node: Index1331731

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 87e46a5e..92cda7ea 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -4981,25 +4981,6 @@ function names added by @command{gawk} after the code was written.
Standard @command{awk} built-in functions, such as @code{sin()} or
@code{substr()} are @emph{not} shadowed in this way.
-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
-@code{argc} @minus{} 1. For example, @code{PROCINFO["argv"][0]} will contain
-the name by which @command{gawk} was invoked. Here is an example of how this
-feature may be used:
-
-@example
-gawk '
-BEGIN @{
- for (i = 0; i < length(PROCINFO["argv"]); i++)
- print i, PROCINFO["argv"][i]
-@}'
-@end example
-
-Please note that this differs from the standard @code{ARGV} array which does
-not include command-line arguments that have already been processed by
-@command{gawk} (@pxref{ARGC and ARGV}).
-
@end ignore
@node Invoking Summary
@@ -15484,6 +15465,27 @@ The following elements (listed alphabetically)
are guaranteed to be available:
@table @code
+@item PROCINFO["argv"]
+@cindex command line arguments, @code{PROCINFO["argv"}
+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
+@code{argc} @minus{} 1. For example, @code{PROCINFO["argv"][0]} will contain
+the name by which @command{gawk} was invoked. Here is an example of how this
+feature may be used:
+
+@example
+gawk '
+BEGIN @{
+ for (i = 0; i < length(PROCINFO["argv"]); i++)
+ print i, PROCINFO["argv"][i]
+@}'
+@end example
+
+Please note that this differs from the standard @code{ARGV} array which does
+not include command-line arguments that have already been processed by
+@command{gawk} (@pxref{ARGC and ARGV}).
+
@cindex effective group ID of @command{gawk} user
@item PROCINFO["egid"]
The value of the @code{getegid()} system call.
@@ -38022,6 +38024,10 @@ environment and that of programs that it runs.
@xref{Auto-set}.
@item
+The @code{PROCINFO["argv"} array.
+@xref{Auto-set}.
+
+@item
The @option{--pretty-print} option no longer runs the @command{awk}
program too.
@xref{Options}.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 402caede..ad4b3a8a 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -4892,25 +4892,6 @@ function names added by @command{gawk} after the code was written.
Standard @command{awk} built-in functions, such as @code{sin()} or
@code{substr()} are @emph{not} shadowed in this way.
-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
-@code{argc} @minus{} 1. For example, @code{PROCINFO["argv"][0]} will contain
-the name by which @command{gawk} was invoked. Here is an example of how this
-feature may be used:
-
-@example
-gawk '
-BEGIN @{
- for (i = 0; i < length(PROCINFO["argv"]); i++)
- print i, PROCINFO["argv"][i]
-@}'
-@end example
-
-Please note that this differs from the standard @code{ARGV} array which does
-not include command-line arguments that have already been processed by
-@command{gawk} (@pxref{ARGC and ARGV}).
-
@end ignore
@node Invoking Summary
@@ -14803,6 +14784,27 @@ The following elements (listed alphabetically)
are guaranteed to be available:
@table @code
+@item PROCINFO["argv"]
+@cindex command line arguments, @code{PROCINFO["argv"}
+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
+@code{argc} @minus{} 1. For example, @code{PROCINFO["argv"][0]} will contain
+the name by which @command{gawk} was invoked. Here is an example of how this
+feature may be used:
+
+@example
+gawk '
+BEGIN @{
+ for (i = 0; i < length(PROCINFO["argv"]); i++)
+ print i, PROCINFO["argv"][i]
+@}'
+@end example
+
+Please note that this differs from the standard @code{ARGV} array which does
+not include command-line arguments that have already been processed by
+@command{gawk} (@pxref{ARGC and ARGV}).
+
@cindex effective group ID of @command{gawk} user
@item PROCINFO["egid"]
The value of the @code{getegid()} system call.
@@ -37036,6 +37038,10 @@ environment and that of programs that it runs.
@xref{Auto-set}.
@item
+The @code{PROCINFO["argv"} array.
+@xref{Auto-set}.
+
+@item
The @option{--pretty-print} option no longer runs the @command{awk}
program too.
@xref{Options}.