aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/ChangeLog5
-rw-r--r--doc/gawk.1143
-rw-r--r--doc/gawk.info803
-rw-r--r--doc/gawk.texi52
-rw-r--r--doc/gawktexi.in52
5 files changed, 512 insertions, 543 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 320f8c1a..2bf3f5a3 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-18 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawk.1: Update description of PROCINFO, and sort it properly.
+ * gawktexi.in: Ditto.
+
2015-11-26 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Add "exit" as synonym for "quit" in the
diff --git a/doc/gawk.1 b/doc/gawk.1
index 1cc6e437..4231411c 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -13,7 +13,7 @@
. if \w'\(rq' .ds rq "\(rq
. \}
.\}
-.TH GAWK 1 "Nov 15 2015" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Dec 17 2015" "Free Software Foundation" "Utility Commands"
.SH NAME
gawk \- pattern scanning and processing language
.SH SYNOPSIS
@@ -1094,16 +1094,12 @@ Use the
operator to test for these elements.
The following elements are guaranteed to be available:
.RS
-.TP \w'\fBPROCINFO["version"]\fR'u+1n
+.TP \w'\fBPROCINFO["strftime"]\fR'u+1n
\fBPROCINFO["egid"]\fP
The value of the
.IR getegid (2)
system call.
.TP
-\fBPROCINFO["strftime"]\fP
-The default time format string for
-.BR strftime() .
-.TP
\fBPROCINFO["errno"]\fP
The value of
.IR errno (3)
@@ -1127,6 +1123,11 @@ or \fB"FIELDWIDTHS"\fP if field splitting with
.B FIELDWIDTHS
is in effect.
.TP
+\fBPROCINFO["gid"]\fP
+The value of the
+.IR getgid (2)
+system call.
+.TP
\fBPROCINFO["identifiers"]\fP
A subarray, indexed by the names of all identifiers used in the
text of the AWK program.
@@ -1162,11 +1163,6 @@ doesn't know yet).
The identifier is a user-defined function.
.RE
.TP
-\fBPROCINFO["gid"]\fP
-The value of the
-.IR getgid (2)
-system call.
-.TP
\fBPROCINFO["pgrpid"]\fP
The process group ID of the current process.
.TP
@@ -1176,11 +1172,68 @@ The process ID of the current process.
\fBPROCINFO["ppid"]\fP
The parent process ID of the current process.
.TP
+\fBPROCINFO["strftime"]\fP
+The default time format string for
+.BR strftime() .
+.TP
\fBPROCINFO["uid"]\fP
The value of the
.IR getuid (2)
system call.
.TP
+\fBPROCINFO["version"]\fP
+the version of
+.IR gawk .
+.PP
+The following elements are present if loading dynamic
+extensions is available:
+.TP
+\fBPROCINFO["api_major"]\fP
+The major version of the extension API.
+.TP
+\fBPROCINFO["api_minor"]\fP
+The minor version of the extension API.
+.PP
+The following elements are available if MPFR support is
+compiled into
+.IR gawk\^ :
+.TP
+\fBPROCINFO["gmp_version"]\fP
+The version of the GNU MP library used for arbitrary precision
+number support in
+.IR gawk .
+.TP
+\fBPROCINFO["mpfr_version"]\fP
+The version of the GNU MPFR library used for arbitrary precision
+number support in
+.IR gawk .
+.TP
+\fBPROCINFO["prec_max"]\fP
+The maximum precision supported by the GNU MPFR library for
+arbitrary precision floating-point numbers.
+.TP
+\fBPROCINFO["prec_min"]\fP
+The minimum precision allowed by the GNU MPFR library for
+arbitrary precision floating-point numbers.
+.PP
+The following elements may set by a program to
+change
+.IR gawk 's
+behavior:
+.TP
+\fBPROCINFO["\fIcommand\fB", "pty"]\fR
+Use a pseudo-tty for two-way communication with
+.I command
+instead of setting up two one-way pipes.
+.TP
+\fBPROCINFO["\fIinput\fB", "READ_TIMEOUT"]\fR
+The timeout in milliseconds for reading data from
+.IR input ,
+where
+.I input
+is a redirection string or a filename. A value of zero or
+less than zero means no timeout.
+.TP
\fBPROCINFO["sorted_in"]\fP
If this element exists in
.BR PROCINFO ,
@@ -1220,74 +1273,6 @@ are the
corresponding values of the two elements being compared.
It should return a number less than, equal to, or greater than 0,
depending on how the elements of the array are to be ordered.
-.TP
-\fBPROCINFO["input", "READ_TIMEOUT"]\fP
-The timeout in milliseconds for reading data from
-.IR input ,
-where
-.I input
-is a redirection string or a filename. A value of zero or
-less than zero means no timeout.
-.TP
-\fBPROCINFO["input", "RETRY"]\fP
-If an I/O error that may be retried occurs when reading data from
-.IR input ,
-and this array entry exists, then
-.B getline
-will return \-2 instead of following the default behavior of returning \-1
-and configuring
-.IR input
-to return no further data.
-An I/O error that may be retried is one where
-.IR errno (3)
-has the value
-.IR EAGAIN ,
-.IR EWOULDBLOCK ,
-.IR EINTR ,
-or
-.IR ETIMEDOUT .
-This may be useful in conjunction with
-\fBPROCINFO["input", "READ_TIMEOUT"]\fP
-or situations where a file descriptor has been configured to behave in a
-non-blocking fashion.
-.TP
-\fBPROCINFO["mpfr_version"]\fP
-The version of the GNU MPFR library used for arbitrary precision
-number support in
-.IR gawk .
-This entry is not present if MPFR support is not compiled into
-.IR gawk .
-.TP
-\fBPROCINFO["gmp_version"]\fP
-The version of the GNU MP library used for arbitrary precision
-number support in
-.IR gawk .
-This entry is not present if MPFR support is not compiled into
-.IR gawk .
-.TP
-\fBPROCINFO["prec_max"]\fP
-The maximum precision supported by the GNU MPFR library for
-arbitrary precision floating-point numbers.
-This entry is not present if MPFR support is not compiled into
-.IR gawk .
-.TP
-\fBPROCINFO["prec_min"]\fP
-The minimum precision allowed by the GNU MPFR library for
-arbitrary precision floating-point numbers.
-This entry is not present if MPFR support is not compiled into
-.IR gawk .
-.TP
-\fBPROCINFO["api_major"]\fP
-The major version of the extension API.
-This entry is not present if loading dynamic extensions is not available.
-.TP
-\fBPROCINFO["api_minor"]\fP
-The minor version of the extension API.
-This entry is not present if loading dynamic extensions is not available.
-.TP
-\fBPROCINFO["version"]\fP
-the version of
-.IR gawk .
.RE
.TP
.B ROUNDMODE
diff --git a/doc/gawk.info b/doc/gawk.info
index e7bb43a9..2a9b8984 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -10555,6 +10555,9 @@ they are not special:
effect, or '"FPAT"' if field matching with 'FPAT' is in
effect.
+ 'PROCINFO["gid"]'
+ The value of the 'getgid()' system call.
+
'PROCINFO["identifiers"]'
A subarray, indexed by the names of all identifiers used in
the text of the 'awk' program. An "identifier" is simply the
@@ -10586,9 +10589,6 @@ they are not special:
after it has finished parsing the program; they are _not_
updated while the program runs.
- 'PROCINFO["gid"]'
- The value of the 'getgid()' system call.
-
'PROCINFO["pgrpid"]'
The process group ID of the current process.
@@ -10598,13 +10598,6 @@ they are not special:
'PROCINFO["ppid"]'
The parent process ID of the current process.
- 'PROCINFO["sorted_in"]'
- If this element exists in 'PROCINFO', its value controls the
- order in which array indices will be processed by 'for (INDX
- in ARRAY)' loops. This is an advanced feature, so we defer
- the full description until later; see *note Scanning an
- Array::.
-
'PROCINFO["strftime"]'
The default time format string for 'strftime()'. Assigning a
new value to this element changes the default. *Note Time
@@ -10649,19 +10642,23 @@ they are not special:
groups that the process has. Use the 'in' operator to test for
these elements (*note Reference to Elements::).
- The 'PROCINFO' array has the following additional uses:
-
- * It may be used to provide a timeout when reading from any open
- input file, pipe, or coprocess. *Note Read Timeout::, for
- more information.
+ The following elements allow you to change 'gawk''s behavior:
- * It may be used to indicate that input may be retried when it
- fails due to certain errors. *Note Retrying Input::, for more
+ 'PROCINFO["COMMAND", "pty"]'
+ For two-way communication to COMMAND, use a pseudo-tty instead
+ of setting up a two-way pipe. *Note Two-way I/O::, for more
information.
- * It may be used to cause coprocesses to communicate over
- pseudo-ttys instead of through two-way pipes; this is
- discussed further in *note Two-way I/O::.
+ 'PROCINFO["INPUT_NAME", "READ_TIMEOUT"]'
+ Set a timeout for reading from input redirection INPUT_NAME.
+ *Note Read Timeout::, for more information.
+
+ 'PROCINFO["sorted_in"]'
+ If this element exists in 'PROCINFO', its value controls the
+ order in which array indices will be processed by 'for (INDX
+ in ARRAY)' loops. This is an advanced feature, so we defer
+ the full description until later; see *note Scanning an
+ Array::.
'RLENGTH'
The length of the substring matched by the 'match()' function
@@ -32804,7 +32801,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 339)
+* dark corner, FNR/NR variables: Auto-set. (line 336)
* dark corner, format-control characters: Control Letters. (line 18)
* dark corner, format-control characters <1>: Control Letters.
(line 93)
@@ -33039,7 +33036,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 290)
+* differences in awk and gawk, RT variable: Auto-set. (line 287)
* differences in awk and gawk, single-character fields: Single Character Fields.
(line 6)
* differences in awk and gawk, split() function: String Functions.
@@ -33047,7 +33044,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 294)
+* differences in awk and gawk, SYMTAB variable: Auto-set. (line 291)
* differences in awk and gawk, TEXTDOMAIN variable: User-modified.
(line 152)
* differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
@@ -33209,7 +33206,7 @@ Index
(line 6)
* extension API version: Extension Versioning.
(line 6)
-* extension API, version number: Auto-set. (line 253)
+* extension API, version number: Auto-set. (line 246)
* extension example: Extension Example. (line 6)
* extension registration: Registration Functions.
(line 6)
@@ -33361,7 +33358,7 @@ Index
(line 12)
* FNR variable: Records. (line 6)
* FNR variable <1>: Auto-set. (line 118)
-* FNR variable, changing: Auto-set. (line 339)
+* FNR variable, changing: Auto-set. (line 336)
* for statement: For Statement. (line 6)
* for statement, looping over arrays: Scanning an Array. (line 20)
* fork() extension function: Extension Sample Fork.
@@ -33465,7 +33462,7 @@ Index
* G., Daniel Richard <1>: Bugs. (line 73)
* Garfinkle, Scott: Contributors. (line 35)
* gawk program, dynamic profiling: Profiling. (line 177)
-* gawk version: Auto-set. (line 228)
+* gawk version: Auto-set. (line 221)
* gawk, ARGIND variable in: Other Arguments. (line 15)
* gawk, awk and: Preface. (line 21)
* gawk, awk and <1>: This Manual. (line 14)
@@ -33532,9 +33529,8 @@ Index
* gawk, OS/2 version of: PC Using. (line 17)
* gawk, predefined variables and: Built-in Variables. (line 14)
* gawk, PROCINFO array in: Auto-set. (line 148)
-* gawk, PROCINFO array in <1>: Auto-set. (line 263)
-* gawk, PROCINFO array in <2>: Time Functions. (line 47)
-* gawk, PROCINFO array in <3>: Two-way I/O. (line 99)
+* gawk, PROCINFO array in <1>: Time Functions. (line 47)
+* gawk, PROCINFO array in <2>: Two-way I/O. (line 99)
* gawk, regexp constants and: Using Constant Regexps.
(line 28)
* gawk, regular expressions, case sensitivity: Case-sensitivity.
@@ -33544,12 +33540,12 @@ 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 290)
+* gawk, RT variable in <2>: Auto-set. (line 287)
* gawk, See Also awk: Preface. (line 34)
* gawk, source code, obtaining: Getting. (line 6)
* gawk, splitting fields and: Constant Size. (line 86)
* gawk, string-translation functions: I18N Functions. (line 6)
-* gawk, SYMTAB array in: Auto-set. (line 294)
+* gawk, SYMTAB array in: Auto-set. (line 291)
* gawk, TEXTDOMAIN variable in: User-modified. (line 152)
* gawk, timestamps: Time Functions. (line 6)
* gawk, uses for: Preface. (line 34)
@@ -33646,7 +33642,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 201)
+* group ID of gawk user: Auto-set. (line 170)
* groups, information about: Group Functions. (line 6)
* gsub: Using Constant Regexps.
(line 43)
@@ -33945,7 +33941,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 242)
+* maximum precision supported by MPFR library: Auto-set. (line 235)
* McIlroy, Doug: Glossary. (line 257)
* McPhee, Patrick: Contributors. (line 101)
* message object files: Explaining gettext. (line 42)
@@ -33958,7 +33954,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 245)
+* minimum precision required by MPFR library: Auto-set. (line 238)
* mktime: Time Functions. (line 25)
* modifiers, in format specifiers: Format Modifiers. (line 6)
* monetary information, localization: Explaining gettext. (line 104)
@@ -34016,7 +34012,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 339)
+* NR variable, changing: Auto-set. (line 336)
* null strings: awk split records. (line 114)
* null strings <1>: Regexp Field Splitting.
(line 43)
@@ -34317,12 +34313,11 @@ Index
* PROCINFO array, and user and group ID numbers: Id Program. (line 15)
* PROCINFO array, testing the field splitting: Passwd Functions.
(line 154)
-* PROCINFO array, uses: Auto-set. (line 263)
* PROCINFO, values of sorted_in: Controlling Scanning.
(line 26)
* profiling awk programs: Profiling. (line 6)
* profiling awk programs, dynamically: Profiling. (line 177)
-* program identifiers: Auto-set. (line 170)
+* program identifiers: Auto-set. (line 173)
* program, definition of: Getting Started. (line 21)
* programming conventions, --non-decimal-data option: Nondecimal Data.
(line 35)
@@ -34482,7 +34477,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 277)
+* RLENGTH variable: Auto-set. (line 274)
* RLENGTH variable, match() function and: String Functions. (line 227)
* Robbins, Arnold: Command Line Field Separator.
(line 71)
@@ -34508,11 +34503,11 @@ Index
* RS variable <1>: User-modified. (line 133)
* RS variable, multiline records and: Multiple Line. (line 17)
* rshift: Bitwise Functions. (line 54)
-* RSTART variable: Auto-set. (line 283)
+* RSTART variable: Auto-set. (line 280)
* 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 290)
+* RT variable <2>: Auto-set. (line 287)
* Rubin, Paul: History. (line 30)
* Rubin, Paul <1>: Contributors. (line 16)
* rule, definition of: Getting Started. (line 21)
@@ -34530,7 +34525,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 322)
+* Schorr, Andrew <1>: Auto-set. (line 319)
* Schorr, Andrew <2>: Contributors. (line 134)
* Schreiber, Bert: Acknowledgments. (line 38)
* Schreiber, Rita: Acknowledgments. (line 38)
@@ -34615,7 +34610,7 @@ Index
(line 106)
* sidebar, Changing FS Does Not Affect the Fields: Full Line Fields.
(line 14)
-* sidebar, Changing NR and FNR: Auto-set. (line 337)
+* sidebar, Changing NR and FNR: Auto-set. (line 334)
* sidebar, Controlling Output Buffering with system(): I/O Functions.
(line 137)
* sidebar, Escape Sequences for Metacharacters: Escape Sequences.
@@ -34778,9 +34773,9 @@ Index
* substr: String Functions. (line 482)
* substring: String Functions. (line 482)
* Sumner, Andrew: Other Versions. (line 68)
-* supplementary groups of gawk process: Auto-set. (line 258)
+* supplementary groups of gawk process: Auto-set. (line 251)
* switch statement: Switch Statement. (line 6)
-* SYMTAB array: Auto-set. (line 294)
+* SYMTAB array: Auto-set. (line 291)
* syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 149)
* system: I/O Functions. (line 107)
@@ -34963,10 +34958,10 @@ Index
* variables, uninitialized, as array subscripts: Uninitialized Subscripts.
(line 6)
* variables, user-defined: Variables. (line 6)
-* version of gawk: Auto-set. (line 228)
-* version of gawk extension API: Auto-set. (line 253)
-* version of GNU MP library: Auto-set. (line 236)
-* version of GNU MPFR library: Auto-set. (line 238)
+* version of gawk: Auto-set. (line 221)
+* version of gawk extension API: Auto-set. (line 246)
+* version of GNU MP library: Auto-set. (line 229)
+* version of GNU MPFR library: Auto-set. (line 231)
* vertical bar (|): Regexp Operators. (line 70)
* vertical bar (|), | operator (I/O): Getline/Pipe. (line 10)
* vertical bar (|), | operator (I/O) <1>: Precedence. (line 64)
@@ -35235,361 +35230,361 @@ Node: Exit Statement437104
Node: Built-in Variables439509
Node: User-modified440642
Node: Auto-set448230
-Ref: Auto-set-Footnote-1462479
-Ref: Auto-set-Footnote-2462685
-Node: ARGC and ARGV462741
-Node: Pattern Action Summary466960
-Node: Arrays469390
-Node: Array Basics470719
-Node: Array Intro471563
-Ref: figure-array-elements473538
-Ref: Array Intro-Footnote-1476242
-Node: Reference to Elements476370
-Node: Assigning Elements478834
-Node: Array Example479325
-Node: Scanning an Array481084
-Node: Controlling Scanning484108
-Ref: Controlling Scanning-Footnote-1489507
-Node: Numeric Array Subscripts489823
-Node: Uninitialized Subscripts492007
-Node: Delete493626
-Ref: Delete-Footnote-1496378
-Node: Multidimensional496435
-Node: Multiscanning499530
-Node: Arrays of Arrays501121
-Node: Arrays Summary505889
-Node: Functions507982
-Node: Built-in509020
-Node: Calling Built-in510098
-Node: Numeric Functions512094
-Ref: Numeric Functions-Footnote-1516927
-Ref: Numeric Functions-Footnote-2517284
-Ref: Numeric Functions-Footnote-3517332
-Node: String Functions517604
-Ref: String Functions-Footnote-1541112
-Ref: String Functions-Footnote-2541241
-Ref: String Functions-Footnote-3541489
-Node: Gory Details541576
-Ref: table-sub-escapes543367
-Ref: table-sub-proposed544886
-Ref: table-posix-sub546249
-Ref: table-gensub-escapes547790
-Ref: Gory Details-Footnote-1548613
-Node: I/O Functions548764
-Ref: I/O Functions-Footnote-1555985
-Node: Time Functions556133
-Ref: Time Functions-Footnote-1566638
-Ref: Time Functions-Footnote-2566706
-Ref: Time Functions-Footnote-3566864
-Ref: Time Functions-Footnote-4566975
-Ref: Time Functions-Footnote-5567087
-Ref: Time Functions-Footnote-6567314
-Node: Bitwise Functions567580
-Ref: table-bitwise-ops568174
-Ref: Bitwise Functions-Footnote-1572512
-Node: Type Functions572685
-Node: I18N Functions575346
-Node: User-defined576997
-Node: Definition Syntax577802
-Ref: Definition Syntax-Footnote-1583489
-Node: Function Example583560
-Ref: Function Example-Footnote-1586482
-Node: Function Caveats586504
-Node: Calling A Function587022
-Node: Variable Scope587980
-Node: Pass By Value/Reference590974
-Node: Return Statement594473
-Node: Dynamic Typing597452
-Node: Indirect Calls598382
-Ref: Indirect Calls-Footnote-1608633
-Node: Functions Summary608761
-Node: Library Functions611466
-Ref: Library Functions-Footnote-1615075
-Ref: Library Functions-Footnote-2615218
-Node: Library Names615389
-Ref: Library Names-Footnote-1618850
-Ref: Library Names-Footnote-2619073
-Node: General Functions619159
-Node: Strtonum Function620262
-Node: Assert Function623284
-Node: Round Function626610
-Node: Cliff Random Function628151
-Node: Ordinal Functions629167
-Ref: Ordinal Functions-Footnote-1632230
-Ref: Ordinal Functions-Footnote-2632482
-Node: Join Function632692
-Ref: Join Function-Footnote-1634462
-Node: Getlocaltime Function634662
-Node: Readfile Function638406
-Node: Shell Quoting640380
-Node: Data File Management641781
-Node: Filetrans Function642413
-Node: Rewind Function646510
-Node: File Checking647896
-Ref: File Checking-Footnote-1649230
-Node: Empty Files649431
-Node: Ignoring Assigns651410
-Node: Getopt Function652960
-Ref: Getopt Function-Footnote-1664430
-Node: Passwd Functions664630
-Ref: Passwd Functions-Footnote-1673471
-Node: Group Functions673559
-Ref: Group Functions-Footnote-1681458
-Node: Walking Arrays681665
-Node: Library Functions Summary684675
-Node: Library Exercises686081
-Node: Sample Programs686546
-Node: Running Examples687316
-Node: Clones688044
-Node: Cut Program689268
-Node: Egrep Program698989
-Ref: Egrep Program-Footnote-1706501
-Node: Id Program706611
-Node: Split Program710291
-Ref: Split Program-Footnote-1713750
-Node: Tee Program713879
-Node: Uniq Program716669
-Node: Wc Program724095
-Ref: Wc Program-Footnote-1728350
-Node: Miscellaneous Programs728444
-Node: Dupword Program729657
-Node: Alarm Program731687
-Node: Translate Program736542
-Ref: Translate Program-Footnote-1741107
-Node: Labels Program741377
-Ref: Labels Program-Footnote-1744728
-Node: Word Sorting744812
-Node: History Sorting748884
-Node: Extract Program750719
-Node: Simple Sed758250
-Node: Igawk Program761324
-Ref: Igawk Program-Footnote-1775655
-Ref: Igawk Program-Footnote-2775857
-Ref: Igawk Program-Footnote-3775979
-Node: Anagram Program776094
-Node: Signature Program779156
-Node: Programs Summary780403
-Node: Programs Exercises781618
-Ref: Programs Exercises-Footnote-1785747
-Node: Advanced Features785838
-Node: Nondecimal Data787828
-Node: Array Sorting789419
-Node: Controlling Array Traversal790119
-Ref: Controlling Array Traversal-Footnote-1798488
-Node: Array Sorting Functions798606
-Ref: Array Sorting Functions-Footnote-1802493
-Node: Two-way I/O802689
-Ref: Two-way I/O-Footnote-1807640
-Ref: Two-way I/O-Footnote-2807827
-Node: TCP/IP Networking807909
-Node: Profiling811027
-Node: Advanced Features Summary819298
-Node: Internationalization821234
-Node: I18N and L10N822714
-Node: Explaining gettext823401
-Ref: Explaining gettext-Footnote-1828424
-Ref: Explaining gettext-Footnote-2828609
-Node: Programmer i18n828774
-Ref: Programmer i18n-Footnote-1833630
-Node: Translator i18n833679
-Node: String Extraction834473
-Ref: String Extraction-Footnote-1835606
-Node: Printf Ordering835692
-Ref: Printf Ordering-Footnote-1838478
-Node: I18N Portability838542
-Ref: I18N Portability-Footnote-1840998
-Node: I18N Example841061
-Ref: I18N Example-Footnote-1843867
-Node: Gawk I18N843940
-Node: I18N Summary844585
-Node: Debugger845926
-Node: Debugging846948
-Node: Debugging Concepts847389
-Node: Debugging Terms849198
-Node: Awk Debugging851773
-Node: Sample Debugging Session852679
-Node: Debugger Invocation853213
-Node: Finding The Bug854599
-Node: List of Debugger Commands861077
-Node: Breakpoint Control862410
-Node: Debugger Execution Control866104
-Node: Viewing And Changing Data869466
-Node: Execution Stack872840
-Node: Debugger Info874477
-Node: Miscellaneous Debugger Commands878548
-Node: Readline Support883636
-Node: Limitations884532
-Ref: Limitations-Footnote-1888763
-Node: Debugging Summary888814
-Node: Arbitrary Precision Arithmetic890093
-Node: Computer Arithmetic891509
-Ref: table-numeric-ranges895100
-Ref: Computer Arithmetic-Footnote-1895822
-Node: Math Definitions895879
-Ref: table-ieee-formats899193
-Ref: Math Definitions-Footnote-1899796
-Node: MPFR features899901
-Node: FP Math Caution901574
-Ref: FP Math Caution-Footnote-1902646
-Node: Inexactness of computations903015
-Node: Inexact representation903975
-Node: Comparing FP Values905335
-Node: Errors accumulate906417
-Node: Getting Accuracy907850
-Node: Try To Round910560
-Node: Setting precision911459
-Ref: table-predefined-precision-strings912156
-Node: Setting the rounding mode913986
-Ref: table-gawk-rounding-modes914360
-Ref: Setting the rounding mode-Footnote-1917768
-Node: Arbitrary Precision Integers917947
-Ref: Arbitrary Precision Integers-Footnote-1922864
-Node: POSIX Floating Point Problems923013
-Ref: POSIX Floating Point Problems-Footnote-1926895
-Node: Floating point summary926933
-Node: Dynamic Extensions929123
-Node: Extension Intro930676
-Node: Plugin License931942
-Node: Extension Mechanism Outline932739
-Ref: figure-load-extension933178
-Ref: figure-register-new-function934743
-Ref: figure-call-new-function935835
-Node: Extension API Description937898
-Node: Extension API Functions Introduction939430
-Node: General Data Types944289
-Ref: General Data Types-Footnote-1950244
-Node: Memory Allocation Functions950543
-Ref: Memory Allocation Functions-Footnote-1953388
-Node: Constructor Functions953487
-Node: Registration Functions955232
-Node: Extension Functions955917
-Node: Exit Callback Functions958216
-Node: Extension Version String959466
-Node: Input Parsers960129
-Node: Output Wrappers970014
-Node: Two-way processors974526
-Node: Printing Messages976790
-Ref: Printing Messages-Footnote-1977864
-Node: Updating ERRNO978017
-Node: Requesting Values978756
-Ref: table-value-types-returned979493
-Node: Accessing Parameters980376
-Node: Symbol Table Access981612
-Node: Symbol table by name982124
-Node: Symbol table by cookie984145
-Ref: Symbol table by cookie-Footnote-1988294
-Node: Cached values988358
-Ref: Cached values-Footnote-1991859
-Node: Array Manipulation991950
-Ref: Array Manipulation-Footnote-1993041
-Node: Array Data Types993078
-Ref: Array Data Types-Footnote-1995736
-Node: Array Functions995828
-Node: Flattening Arrays999687
-Node: Creating Arrays1006595
-Node: Redirection API1011367
-Node: Extension API Variables1014198
-Node: Extension Versioning1014831
-Node: Extension API Informational Variables1016722
-Node: Extension API Boilerplate1017786
-Node: Finding Extensions1021600
-Node: Extension Example1022160
-Node: Internal File Description1022958
-Node: Internal File Ops1027038
-Ref: Internal File Ops-Footnote-11038800
-Node: Using Internal File Ops1038940
-Ref: Using Internal File Ops-Footnote-11041323
-Node: Extension Samples1041598
-Node: Extension Sample File Functions1043127
-Node: Extension Sample Fnmatch1050776
-Node: Extension Sample Fork1052263
-Node: Extension Sample Inplace1053481
-Node: Extension Sample Ord1056691
-Node: Extension Sample Readdir1057527
-Ref: table-readdir-file-types1058416
-Node: Extension Sample Revout1059221
-Node: Extension Sample Rev2way1059810
-Node: Extension Sample Read write array1060550
-Node: Extension Sample Readfile1062492
-Node: Extension Sample Time1063587
-Node: Extension Sample API Tests1064935
-Node: gawkextlib1065427
-Node: Extension summary1067874
-Node: Extension Exercises1071566
-Node: Language History1073063
-Node: V7/SVR3.11074719
-Node: SVR41076871
-Node: POSIX1078305
-Node: BTL1079685
-Node: POSIX/GNU1080415
-Node: Feature History1086254
-Node: Common Extensions1100574
-Node: Ranges and Locales1101857
-Ref: Ranges and Locales-Footnote-11106473
-Ref: Ranges and Locales-Footnote-21106500
-Ref: Ranges and Locales-Footnote-31106735
-Node: Contributors1106956
-Node: History summary1112525
-Node: Installation1113905
-Node: Gawk Distribution1114850
-Node: Getting1115334
-Node: Extracting1116295
-Node: Distribution contents1117933
-Node: Unix Installation1124029
-Node: Quick Installation1124711
-Node: Shell Startup Files1127125
-Node: Additional Configuration Options1128203
-Node: Configuration Philosophy1130008
-Node: Non-Unix Installation1132378
-Node: PC Installation1132836
-Node: PC Binary Installation1134156
-Node: PC Compiling1136008
-Ref: PC Compiling-Footnote-11139032
-Node: PC Testing1139141
-Node: PC Using1140321
-Node: Cygwin1144435
-Node: MSYS1145205
-Node: VMS Installation1145706
-Node: VMS Compilation1146497
-Ref: VMS Compilation-Footnote-11147727
-Node: VMS Dynamic Extensions1147785
-Node: VMS Installation Details1149470
-Node: VMS Running1151723
-Node: VMS GNV1154564
-Node: VMS Old Gawk1155299
-Node: Bugs1155770
-Node: Other Versions1159967
-Node: Installation summary1166553
-Node: Notes1167611
-Node: Compatibility Mode1168476
-Node: Additions1169258
-Node: Accessing The Source1170183
-Node: Adding Code1171619
-Node: New Ports1177838
-Node: Derived Files1182326
-Ref: Derived Files-Footnote-11187811
-Ref: Derived Files-Footnote-21187846
-Ref: Derived Files-Footnote-31188444
-Node: Future Extensions1188558
-Node: Implementation Limitations1189216
-Node: Extension Design1190399
-Node: Old Extension Problems1191553
-Ref: Old Extension Problems-Footnote-11193071
-Node: Extension New Mechanism Goals1193128
-Ref: Extension New Mechanism Goals-Footnote-11196492
-Node: Extension Other Design Decisions1196681
-Node: Extension Future Growth1198794
-Node: Old Extension Mechanism1199630
-Node: Notes summary1201393
-Node: Basic Concepts1202575
-Node: Basic High Level1203256
-Ref: figure-general-flow1203538
-Ref: figure-process-flow1204223
-Ref: Basic High Level-Footnote-11207524
-Node: Basic Data Typing1207709
-Node: Glossary1211037
-Node: Copying1242983
-Node: GNU Free Documentation License1280522
-Node: Index1305640
+Ref: Auto-set-Footnote-1462337
+Ref: Auto-set-Footnote-2462543
+Node: ARGC and ARGV462599
+Node: Pattern Action Summary466818
+Node: Arrays469248
+Node: Array Basics470577
+Node: Array Intro471421
+Ref: figure-array-elements473396
+Ref: Array Intro-Footnote-1476100
+Node: Reference to Elements476228
+Node: Assigning Elements478692
+Node: Array Example479183
+Node: Scanning an Array480942
+Node: Controlling Scanning483966
+Ref: Controlling Scanning-Footnote-1489365
+Node: Numeric Array Subscripts489681
+Node: Uninitialized Subscripts491865
+Node: Delete493484
+Ref: Delete-Footnote-1496236
+Node: Multidimensional496293
+Node: Multiscanning499388
+Node: Arrays of Arrays500979
+Node: Arrays Summary505747
+Node: Functions507840
+Node: Built-in508878
+Node: Calling Built-in509956
+Node: Numeric Functions511952
+Ref: Numeric Functions-Footnote-1516785
+Ref: Numeric Functions-Footnote-2517142
+Ref: Numeric Functions-Footnote-3517190
+Node: String Functions517462
+Ref: String Functions-Footnote-1540970
+Ref: String Functions-Footnote-2541099
+Ref: String Functions-Footnote-3541347
+Node: Gory Details541434
+Ref: table-sub-escapes543225
+Ref: table-sub-proposed544744
+Ref: table-posix-sub546107
+Ref: table-gensub-escapes547648
+Ref: Gory Details-Footnote-1548471
+Node: I/O Functions548622
+Ref: I/O Functions-Footnote-1555843
+Node: Time Functions555991
+Ref: Time Functions-Footnote-1566496
+Ref: Time Functions-Footnote-2566564
+Ref: Time Functions-Footnote-3566722
+Ref: Time Functions-Footnote-4566833
+Ref: Time Functions-Footnote-5566945
+Ref: Time Functions-Footnote-6567172
+Node: Bitwise Functions567438
+Ref: table-bitwise-ops568032
+Ref: Bitwise Functions-Footnote-1572370
+Node: Type Functions572543
+Node: I18N Functions575204
+Node: User-defined576855
+Node: Definition Syntax577660
+Ref: Definition Syntax-Footnote-1583347
+Node: Function Example583418
+Ref: Function Example-Footnote-1586340
+Node: Function Caveats586362
+Node: Calling A Function586880
+Node: Variable Scope587838
+Node: Pass By Value/Reference590832
+Node: Return Statement594331
+Node: Dynamic Typing597310
+Node: Indirect Calls598240
+Ref: Indirect Calls-Footnote-1608491
+Node: Functions Summary608619
+Node: Library Functions611324
+Ref: Library Functions-Footnote-1614933
+Ref: Library Functions-Footnote-2615076
+Node: Library Names615247
+Ref: Library Names-Footnote-1618708
+Ref: Library Names-Footnote-2618931
+Node: General Functions619017
+Node: Strtonum Function620120
+Node: Assert Function623142
+Node: Round Function626468
+Node: Cliff Random Function628009
+Node: Ordinal Functions629025
+Ref: Ordinal Functions-Footnote-1632088
+Ref: Ordinal Functions-Footnote-2632340
+Node: Join Function632550
+Ref: Join Function-Footnote-1634320
+Node: Getlocaltime Function634520
+Node: Readfile Function638264
+Node: Shell Quoting640238
+Node: Data File Management641639
+Node: Filetrans Function642271
+Node: Rewind Function646368
+Node: File Checking647754
+Ref: File Checking-Footnote-1649088
+Node: Empty Files649289
+Node: Ignoring Assigns651268
+Node: Getopt Function652818
+Ref: Getopt Function-Footnote-1664288
+Node: Passwd Functions664488
+Ref: Passwd Functions-Footnote-1673329
+Node: Group Functions673417
+Ref: Group Functions-Footnote-1681316
+Node: Walking Arrays681523
+Node: Library Functions Summary684533
+Node: Library Exercises685939
+Node: Sample Programs686404
+Node: Running Examples687174
+Node: Clones687902
+Node: Cut Program689126
+Node: Egrep Program698847
+Ref: Egrep Program-Footnote-1706359
+Node: Id Program706469
+Node: Split Program710149
+Ref: Split Program-Footnote-1713608
+Node: Tee Program713737
+Node: Uniq Program716527
+Node: Wc Program723953
+Ref: Wc Program-Footnote-1728208
+Node: Miscellaneous Programs728302
+Node: Dupword Program729515
+Node: Alarm Program731545
+Node: Translate Program736400
+Ref: Translate Program-Footnote-1740965
+Node: Labels Program741235
+Ref: Labels Program-Footnote-1744586
+Node: Word Sorting744670
+Node: History Sorting748742
+Node: Extract Program750577
+Node: Simple Sed758108
+Node: Igawk Program761182
+Ref: Igawk Program-Footnote-1775513
+Ref: Igawk Program-Footnote-2775715
+Ref: Igawk Program-Footnote-3775837
+Node: Anagram Program775952
+Node: Signature Program779014
+Node: Programs Summary780261
+Node: Programs Exercises781476
+Ref: Programs Exercises-Footnote-1785605
+Node: Advanced Features785696
+Node: Nondecimal Data787686
+Node: Array Sorting789277
+Node: Controlling Array Traversal789977
+Ref: Controlling Array Traversal-Footnote-1798346
+Node: Array Sorting Functions798464
+Ref: Array Sorting Functions-Footnote-1802351
+Node: Two-way I/O802547
+Ref: Two-way I/O-Footnote-1807498
+Ref: Two-way I/O-Footnote-2807685
+Node: TCP/IP Networking807767
+Node: Profiling810885
+Node: Advanced Features Summary819156
+Node: Internationalization821092
+Node: I18N and L10N822572
+Node: Explaining gettext823259
+Ref: Explaining gettext-Footnote-1828282
+Ref: Explaining gettext-Footnote-2828467
+Node: Programmer i18n828632
+Ref: Programmer i18n-Footnote-1833488
+Node: Translator i18n833537
+Node: String Extraction834331
+Ref: String Extraction-Footnote-1835464
+Node: Printf Ordering835550
+Ref: Printf Ordering-Footnote-1838336
+Node: I18N Portability838400
+Ref: I18N Portability-Footnote-1840856
+Node: I18N Example840919
+Ref: I18N Example-Footnote-1843725
+Node: Gawk I18N843798
+Node: I18N Summary844443
+Node: Debugger845784
+Node: Debugging846806
+Node: Debugging Concepts847247
+Node: Debugging Terms849056
+Node: Awk Debugging851631
+Node: Sample Debugging Session852537
+Node: Debugger Invocation853071
+Node: Finding The Bug854457
+Node: List of Debugger Commands860935
+Node: Breakpoint Control862268
+Node: Debugger Execution Control865962
+Node: Viewing And Changing Data869324
+Node: Execution Stack872698
+Node: Debugger Info874335
+Node: Miscellaneous Debugger Commands878406
+Node: Readline Support883494
+Node: Limitations884390
+Ref: Limitations-Footnote-1888621
+Node: Debugging Summary888672
+Node: Arbitrary Precision Arithmetic889951
+Node: Computer Arithmetic891367
+Ref: table-numeric-ranges894958
+Ref: Computer Arithmetic-Footnote-1895680
+Node: Math Definitions895737
+Ref: table-ieee-formats899051
+Ref: Math Definitions-Footnote-1899654
+Node: MPFR features899759
+Node: FP Math Caution901432
+Ref: FP Math Caution-Footnote-1902504
+Node: Inexactness of computations902873
+Node: Inexact representation903833
+Node: Comparing FP Values905193
+Node: Errors accumulate906275
+Node: Getting Accuracy907708
+Node: Try To Round910418
+Node: Setting precision911317
+Ref: table-predefined-precision-strings912014
+Node: Setting the rounding mode913844
+Ref: table-gawk-rounding-modes914218
+Ref: Setting the rounding mode-Footnote-1917626
+Node: Arbitrary Precision Integers917805
+Ref: Arbitrary Precision Integers-Footnote-1922722
+Node: POSIX Floating Point Problems922871
+Ref: POSIX Floating Point Problems-Footnote-1926753
+Node: Floating point summary926791
+Node: Dynamic Extensions928981
+Node: Extension Intro930534
+Node: Plugin License931800
+Node: Extension Mechanism Outline932597
+Ref: figure-load-extension933036
+Ref: figure-register-new-function934601
+Ref: figure-call-new-function935693
+Node: Extension API Description937756
+Node: Extension API Functions Introduction939288
+Node: General Data Types944147
+Ref: General Data Types-Footnote-1950102
+Node: Memory Allocation Functions950401
+Ref: Memory Allocation Functions-Footnote-1953246
+Node: Constructor Functions953345
+Node: Registration Functions955090
+Node: Extension Functions955775
+Node: Exit Callback Functions958074
+Node: Extension Version String959324
+Node: Input Parsers959987
+Node: Output Wrappers969872
+Node: Two-way processors974384
+Node: Printing Messages976648
+Ref: Printing Messages-Footnote-1977722
+Node: Updating ERRNO977875
+Node: Requesting Values978614
+Ref: table-value-types-returned979351
+Node: Accessing Parameters980234
+Node: Symbol Table Access981470
+Node: Symbol table by name981982
+Node: Symbol table by cookie984003
+Ref: Symbol table by cookie-Footnote-1988152
+Node: Cached values988216
+Ref: Cached values-Footnote-1991717
+Node: Array Manipulation991808
+Ref: Array Manipulation-Footnote-1992899
+Node: Array Data Types992936
+Ref: Array Data Types-Footnote-1995594
+Node: Array Functions995686
+Node: Flattening Arrays999545
+Node: Creating Arrays1006453
+Node: Redirection API1011225
+Node: Extension API Variables1014056
+Node: Extension Versioning1014689
+Node: Extension API Informational Variables1016580
+Node: Extension API Boilerplate1017644
+Node: Finding Extensions1021458
+Node: Extension Example1022018
+Node: Internal File Description1022816
+Node: Internal File Ops1026896
+Ref: Internal File Ops-Footnote-11038658
+Node: Using Internal File Ops1038798
+Ref: Using Internal File Ops-Footnote-11041181
+Node: Extension Samples1041456
+Node: Extension Sample File Functions1042985
+Node: Extension Sample Fnmatch1050634
+Node: Extension Sample Fork1052121
+Node: Extension Sample Inplace1053339
+Node: Extension Sample Ord1056549
+Node: Extension Sample Readdir1057385
+Ref: table-readdir-file-types1058274
+Node: Extension Sample Revout1059079
+Node: Extension Sample Rev2way1059668
+Node: Extension Sample Read write array1060408
+Node: Extension Sample Readfile1062350
+Node: Extension Sample Time1063445
+Node: Extension Sample API Tests1064793
+Node: gawkextlib1065285
+Node: Extension summary1067732
+Node: Extension Exercises1071424
+Node: Language History1072921
+Node: V7/SVR3.11074577
+Node: SVR41076729
+Node: POSIX1078163
+Node: BTL1079543
+Node: POSIX/GNU1080273
+Node: Feature History1086112
+Node: Common Extensions1100432
+Node: Ranges and Locales1101715
+Ref: Ranges and Locales-Footnote-11106331
+Ref: Ranges and Locales-Footnote-21106358
+Ref: Ranges and Locales-Footnote-31106593
+Node: Contributors1106814
+Node: History summary1112383
+Node: Installation1113763
+Node: Gawk Distribution1114708
+Node: Getting1115192
+Node: Extracting1116153
+Node: Distribution contents1117791
+Node: Unix Installation1123887
+Node: Quick Installation1124569
+Node: Shell Startup Files1126983
+Node: Additional Configuration Options1128061
+Node: Configuration Philosophy1129866
+Node: Non-Unix Installation1132236
+Node: PC Installation1132694
+Node: PC Binary Installation1134014
+Node: PC Compiling1135866
+Ref: PC Compiling-Footnote-11138890
+Node: PC Testing1138999
+Node: PC Using1140179
+Node: Cygwin1144293
+Node: MSYS1145063
+Node: VMS Installation1145564
+Node: VMS Compilation1146355
+Ref: VMS Compilation-Footnote-11147585
+Node: VMS Dynamic Extensions1147643
+Node: VMS Installation Details1149328
+Node: VMS Running1151581
+Node: VMS GNV1154422
+Node: VMS Old Gawk1155157
+Node: Bugs1155628
+Node: Other Versions1159825
+Node: Installation summary1166411
+Node: Notes1167469
+Node: Compatibility Mode1168334
+Node: Additions1169116
+Node: Accessing The Source1170041
+Node: Adding Code1171477
+Node: New Ports1177696
+Node: Derived Files1182184
+Ref: Derived Files-Footnote-11187669
+Ref: Derived Files-Footnote-21187704
+Ref: Derived Files-Footnote-31188302
+Node: Future Extensions1188416
+Node: Implementation Limitations1189074
+Node: Extension Design1190257
+Node: Old Extension Problems1191411
+Ref: Old Extension Problems-Footnote-11192929
+Node: Extension New Mechanism Goals1192986
+Ref: Extension New Mechanism Goals-Footnote-11196350
+Node: Extension Other Design Decisions1196539
+Node: Extension Future Growth1198652
+Node: Old Extension Mechanism1199488
+Node: Notes summary1201251
+Node: Basic Concepts1202433
+Node: Basic High Level1203114
+Ref: figure-general-flow1203396
+Ref: figure-process-flow1204081
+Ref: Basic High Level-Footnote-11207382
+Node: Basic Data Typing1207567
+Node: Glossary1210895
+Node: Copying1242841
+Node: GNU Free Documentation License1280380
+Node: Index1305498

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index bf7cd0f0..8e13df6b 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -51,7 +51,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH May, 2015
+@set UPDATE-MONTH December, 2015
@set VERSION 4.1
@set PATCHLEVEL 3
@@ -15168,6 +15168,10 @@ This is
@code{"FIELDWIDTHS"} if field splitting with @code{FIELDWIDTHS} is in effect,
or @code{"FPAT"} if field matching with @code{FPAT} is in effect.
+@item PROCINFO["gid"]
+@cindex group ID of @command{gawk} user
+The value of the @code{getgid()} system call.
+
@item PROCINFO["identifiers"]
@cindex program identifiers
A subarray, indexed by the names of all identifiers used in the text of
@@ -15203,10 +15207,6 @@ The values indicate what @command{gawk} knows about the identifiers
after it has finished parsing the program; they are @emph{not} updated
while the program runs.
-@item PROCINFO["gid"]
-@cindex group ID of @command{gawk} user
-The value of the @code{getgid()} system call.
-
@item PROCINFO["pgrpid"]
@cindex process group ID of @command{gawk} process
The process group ID of the current process.
@@ -15219,14 +15219,6 @@ The process ID of the current process.
@cindex parent process ID of @command{gawk} process
The parent process ID of the current process.
-@item PROCINFO["sorted_in"]
-If this element exists in @code{PROCINFO}, its value controls the
-order in which array indices will be processed by
-@samp{for (@var{indx} in @var{array})} loops.
-This is an advanced feature, so we defer the
-full description until later; see
-@ref{Scanning an Array}.
-
@item PROCINFO["strftime"]
The default time format string for @code{strftime()}.
Assigning a new value to this element changes the default.
@@ -15286,26 +15278,26 @@ supplementary groups that the process has. Use the @code{in} operator
to test for these elements
(@pxref{Reference to Elements}).
-@cindex @command{gawk}, @code{PROCINFO} array in
-@cindex @code{PROCINFO} array, uses
-The @code{PROCINFO} array has the following additional uses:
+The following elements allow you to change @command{gawk}'s behavior:
-@itemize @value{BULLET}
-@item
-It may be used to provide a timeout when reading from any
-open input file, pipe, or coprocess.
-@DBXREF{Read Timeout} for more information.
+@table @code
+@item PROCINFO["@var{command}", "pty"]
+For two-way communication to @var{command}, use a pseudo-tty instead
+of setting up a two-way pipe.
+@DBXREF{Two-way I/O} for more information.
-@item
-It may be used to indicate that input may be retried when it fails due to
-certain errors.
-@DBXREF{Retrying Input} for more information.
+@item PROCINFO["@var{input_name}", "READ_TIMEOUT"]
+Set a timeout for reading from input redirection @var{input_name}.
+@DBXREF{Read Timeout} for more information.
-@item
-It may be used to cause coprocesses to communicate over pseudo-ttys
-instead of through two-way pipes; this is discussed further in
-@ref{Two-way I/O}.
-@end itemize
+@item PROCINFO["sorted_in"]
+If this element exists in @code{PROCINFO}, its value controls the
+order in which array indices will be processed by
+@samp{for (@var{indx} in @var{array})} loops.
+This is an advanced feature, so we defer the
+full description until later; see
+@ref{Scanning an Array}.
+@end table
@cindex @code{RLENGTH} variable
@item @code{RLENGTH}
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index c97ee4a9..dea589f6 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -46,7 +46,7 @@
@c applies to and all the info about who's publishing this edition
@c These apply across the board.
-@set UPDATE-MONTH May, 2015
+@set UPDATE-MONTH December, 2015
@set VERSION 4.1
@set PATCHLEVEL 3
@@ -14496,6 +14496,10 @@ This is
@code{"FIELDWIDTHS"} if field splitting with @code{FIELDWIDTHS} is in effect,
or @code{"FPAT"} if field matching with @code{FPAT} is in effect.
+@item PROCINFO["gid"]
+@cindex group ID of @command{gawk} user
+The value of the @code{getgid()} system call.
+
@item PROCINFO["identifiers"]
@cindex program identifiers
A subarray, indexed by the names of all identifiers used in the text of
@@ -14531,10 +14535,6 @@ The values indicate what @command{gawk} knows about the identifiers
after it has finished parsing the program; they are @emph{not} updated
while the program runs.
-@item PROCINFO["gid"]
-@cindex group ID of @command{gawk} user
-The value of the @code{getgid()} system call.
-
@item PROCINFO["pgrpid"]
@cindex process group ID of @command{gawk} process
The process group ID of the current process.
@@ -14547,14 +14547,6 @@ The process ID of the current process.
@cindex parent process ID of @command{gawk} process
The parent process ID of the current process.
-@item PROCINFO["sorted_in"]
-If this element exists in @code{PROCINFO}, its value controls the
-order in which array indices will be processed by
-@samp{for (@var{indx} in @var{array})} loops.
-This is an advanced feature, so we defer the
-full description until later; see
-@ref{Scanning an Array}.
-
@item PROCINFO["strftime"]
The default time format string for @code{strftime()}.
Assigning a new value to this element changes the default.
@@ -14614,26 +14606,26 @@ supplementary groups that the process has. Use the @code{in} operator
to test for these elements
(@pxref{Reference to Elements}).
-@cindex @command{gawk}, @code{PROCINFO} array in
-@cindex @code{PROCINFO} array, uses
-The @code{PROCINFO} array has the following additional uses:
+The following elements allow you to change @command{gawk}'s behavior:
-@itemize @value{BULLET}
-@item
-It may be used to provide a timeout when reading from any
-open input file, pipe, or coprocess.
-@DBXREF{Read Timeout} for more information.
+@table @code
+@item PROCINFO["@var{command}", "pty"]
+For two-way communication to @var{command}, use a pseudo-tty instead
+of setting up a two-way pipe.
+@DBXREF{Two-way I/O} for more information.
-@item
-It may be used to indicate that input may be retried when it fails due to
-certain errors.
-@DBXREF{Retrying Input} for more information.
+@item PROCINFO["@var{input_name}", "READ_TIMEOUT"]
+Set a timeout for reading from input redirection @var{input_name}.
+@DBXREF{Read Timeout} for more information.
-@item
-It may be used to cause coprocesses to communicate over pseudo-ttys
-instead of through two-way pipes; this is discussed further in
-@ref{Two-way I/O}.
-@end itemize
+@item PROCINFO["sorted_in"]
+If this element exists in @code{PROCINFO}, its value controls the
+order in which array indices will be processed by
+@samp{for (@var{indx} in @var{array})} loops.
+This is an advanced feature, so we defer the
+full description until later; see
+@ref{Scanning an Array}.
+@end table
@cindex @code{RLENGTH} variable
@item @code{RLENGTH}