aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-01-12 22:50:20 +0200
committerArnold D. Robbins <arnold@skeeve.com>2011-01-12 22:50:20 +0200
commitcf72939296bf30c0859d5ebacd956f81ef95260e (patch)
tree8036e15223e3ca4bf9815840b67e72a7b5e2d18b
parentafc74b0e2eaf10d493f3fc346a08a7794f46c64b (diff)
downloadegawk-cf72939296bf30c0859d5ebacd956f81ef95260e.tar.gz
egawk-cf72939296bf30c0859d5ebacd956f81ef95260e.tar.bz2
egawk-cf72939296bf30c0859d5ebacd956f81ef95260e.zip
VMS fix. Start indexing fixes in doc.
-rw-r--r--doc/gawk.info237
-rw-r--r--doc/gawk.texi165
-rw-r--r--vms/ChangeLog4
-rw-r--r--vms/vms-conf.h3
4 files changed, 262 insertions, 147 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 066cd3d0..12377d99 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -20610,12 +20610,12 @@ Unix `awk'
that are not in POSIX `awk'.
`mawk'
- Michael Brennan has written an independent implementation of `awk',
+ Michael Brennan wrote an independent implementation of `awk',
called `mawk'. It is available under the GPL (*note Copying::),
just as `gawk' is.
The original distribution site for the `mawk' source code no
- longer has it. A copy has been made available at
+ longer has it. A copy is available at
`http://www.skeeve.com/gawk/mawk1.3.3.tar.gz'.
In 2009, Thomas Dickey took on `mawk' maintenance. Basic
@@ -24083,7 +24083,8 @@ Index
* Menu:
* ! (exclamation point), ! operator: Boolean Ops. (line 67)
-* ! (exclamation point), ! operator <1>: Egrep Program. (line 162)
+* ! (exclamation point), ! operator <1>: Egrep Program. (line 170)
+* ! (exclamation point), ! operator <2>: Ranges. (line 48)
* ! (exclamation point), ! operator: Precedence. (line 52)
* ! (exclamation point), != operator <1>: Precedence. (line 65)
* ! (exclamation point), != operator: Comparison Operators.
@@ -24097,8 +24098,6 @@ Index
* ! (exclamation point), !~ operator <5>: Computed Regexps. (line 6)
* ! (exclamation point), !~ operator <6>: Case-sensitivity. (line 26)
* ! (exclamation point), !~ operator: Regexp Usage. (line 19)
-* ! operator <1>: Egrep Program. (line 170)
-* ! operator: Ranges. (line 48)
* " (double quote) <1>: Quoting. (line 37)
* " (double quote): Read Terminal. (line 25)
* " (double quote), regexp constants: Computed Regexps. (line 28)
@@ -24112,7 +24111,6 @@ Index
* $ (dollar sign), $ field operator: Fields. (line 19)
* $ (dollar sign), incrementing fields and arrays: Increment Ops.
(line 30)
-* $ field operator: Fields. (line 19)
* % (percent sign), % operator: Precedence. (line 55)
* % (percent sign), %= operator <1>: Precedence. (line 95)
* % (percent sign), %= operator: Assignment Ops. (line 129)
@@ -24141,12 +24139,12 @@ Index
* * (asterisk), *= operator: Assignment Ops. (line 129)
* + (plus sign): Regexp Operators. (line 101)
* + (plus sign), + operator: Precedence. (line 52)
+* + (plus sign), ++ (decrement/increment operators): Increment Ops.
+ (line 11)
* + (plus sign), ++ operator <1>: Precedence. (line 46)
* + (plus sign), ++ operator: Increment Ops. (line 40)
* + (plus sign), += operator <1>: Precedence. (line 95)
* + (plus sign), += operator: Assignment Ops. (line 82)
-* + (plus sign), decrement/increment operators: Increment Ops.
- (line 11)
* , (comma), in range patterns: Ranges. (line 6)
* - (hyphen), - operator: Precedence. (line 52)
* - (hyphen), -- (decrement/increment) operator: Precedence. (line 46)
@@ -24187,7 +24185,8 @@ Index
* --profile option: Options. (line 185)
* --re-interval option: Options. (line 222)
* --sandbox option: Options. (line 234)
-* --sandbox option, disabling system function: I/O Functions. (line 85)
+* --sandbox option, disabling system() function: I/O Functions.
+ (line 85)
* --sandbox option, input redirection with getline: Getline. (line 19)
* --sandbox option, output redirection with print, printf: Redirection.
(line 6)
@@ -24243,9 +24242,10 @@ Index
* / (forward slash), patterns and: Expression Patterns. (line 24)
* /= operator vs. /=.../ regexp constant: Assignment Ops. (line 148)
* /dev/... special files (gawk): Special FD. (line 45)
-* /inet/ files (gawk): TCP/IP Networking. (line 6)
-* /inet4/ files (gawk): TCP/IP Networking. (line 6)
-* /inet6/ files (gawk): TCP/IP Networking. (line 6)
+* /dev/fd/N special files: Special FD. (line 45)
+* /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)
* ; (semicolon): Statements/Lines. (line 91)
* ; (semicolon), AWKPATH variable and: PC Using. (line 11)
* ; (semicolon), separating statements in actions <1>: Statements.
@@ -24272,9 +24272,9 @@ Index
(line 11)
* > (right angle bracket), >> operator (I/O) <1>: Precedence. (line 65)
* > (right angle bracket), >> operator (I/O): Redirection. (line 50)
-* ? (question mark) <1>: GNU Regexp Operators.
+* ? (question mark) regexp operator <1>: GNU Regexp Operators.
(line 59)
-* ? (question mark): Regexp Operators. (line 110)
+* ? (question mark) regexp operator: Regexp Operators. (line 110)
* ? (question mark), ?: operator: Precedence. (line 92)
* [] (square brackets): Regexp Operators. (line 55)
* \ (backslash) <1>: Regexp Operators. (line 18)
@@ -24385,8 +24385,8 @@ Index
* amazingly workable formatter (awf): Glossary. (line 20)
* ambiguity, syntactic: /= operator vs. /=.../ regexp constant: Assignment Ops.
(line 148)
+* ampersand (&), && operator <1>: Precedence. (line 86)
* ampersand (&), && operator: Boolean Ops. (line 57)
-* ampersand (&), &&operator: Precedence. (line 86)
* ampersand (&), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
* AND bitwise operation: Bitwise Functions. (line 6)
@@ -24440,6 +24440,7 @@ Index
(line 6)
* artificial intelligence, gawk and: Distribution contents.
(line 47)
+* ASCII <1>: Glossary. (line 137)
* ASCII: Ordinal Functions. (line 45)
* asort() function (gawk) <1>: String Functions. (line 18)
* asort() function (gawk): Array Sorting. (line 6)
@@ -24581,8 +24582,8 @@ Index
* backslash (\), regexp constants: Computed Regexps. (line 28)
* backtrace debugger command: Dgawk Stack. (line 13)
* BBS-list file: Sample Data Files. (line 6)
+* Beebe, Nelson <1>: Other Versions. (line 69)
* Beebe, Nelson: Acknowledgments. (line 59)
-* Beebe, Nelson H.F.: Other Versions. (line 69)
* BEGIN pattern <1>: BEGIN/END. (line 6)
* BEGIN pattern <2>: Field Separators. (line 44)
* BEGIN pattern: Records. (line 29)
@@ -24604,9 +24605,9 @@ Index
* BEGIN pattern, pwcat program: Passwd Functions. (line 144)
* BEGIN pattern, running awk programs and: Cut Program. (line 68)
* BEGIN pattern, TEXTDOMAIN variable and: Programmer i18n. (line 60)
+* BEGINFILE pattern: BEGINFILE/ENDFILE. (line 6)
* BEGINFILE pattern, Boolean patterns and: Expression Patterns.
(line 73)
-* BEGINFILE special pattern: BEGINFILE/ENDFILE. (line 6)
* beginfile() user-defined function: Filetrans Function. (line 62)
* Benzinger, Michael: Contributors. (line 94)
* Berry, Karl: Acknowledgments. (line 32)
@@ -24618,7 +24619,7 @@ Index
(line 33)
* BINMODE variable <1>: PC Using. (line 34)
* BINMODE variable: User-modified. (line 10)
-* bits2str user-defined function: Bitwise Functions. (line 68)
+* bits2str() user-defined function: Bitwise Functions. (line 68)
* bitwise, complement: Bitwise Functions. (line 25)
* bitwise, operations: Bitwise Functions. (line 6)
* bitwise, shift: Bitwise Functions. (line 32)
@@ -24681,7 +24682,6 @@ Index
* case sensitivity, regexps and: Case-sensitivity. (line 6)
* case sensitivity, string comparisons and: User-modified. (line 82)
* CGI, awk scripts for: Options. (line 112)
-* character encodings: Ordinal Functions. (line 45)
* character lists <1>: Character Lists. (line 6)
* character lists: Regexp Operators. (line 55)
* character lists, character classes: Character Lists. (line 29)
@@ -24691,8 +24691,9 @@ Index
* character lists, equivalence classes: Character Lists. (line 83)
* character lists, non-ASCII: Character Lists. (line 70)
* character lists, range expressions: Character Lists. (line 6)
-* character sets: Ordinal Functions. (line 45)
-* character sets (machine character encodings): Glossary. (line 137)
+* character sets (machine character encodings) <1>: Glossary. (line 137)
+* character sets (machine character encodings): Ordinal Functions.
+ (line 45)
* character sets, See Also character lists: Regexp Operators. (line 55)
* characters, counting: Wc Program. (line 6)
* characters, transliterating: Translate Program. (line 6)
@@ -24776,7 +24777,9 @@ Index
* compatibility mode (gawk), specifying: Options. (line 78)
* compiled programs <1>: Glossary. (line 157)
* compiled programs: Basic High Level. (line 14)
+* compiling gawk for Cygwin: Cygwin. (line 6)
* compiling gawk for MS-DOS and MS-Windows: PC Compiling. (line 13)
+* compiling gawk for VMS: VMS Compilation. (line 6)
* compiling gawk with EMX for OS/2 and MS-Windows: PC Compiling.
(line 28)
* compl() function (gawk): Bitwise Functions. (line 42)
@@ -24801,8 +24804,9 @@ Index
* converting, dates to timestamps: Time Functions. (line 74)
* converting, during subscripting: Numeric Array Subscripts.
(line 31)
-* converting, numbers: Conversion. (line 6)
-* converting, numbers, to strings: Bitwise Functions. (line 107)
+* converting, numbers to strings <1>: Bitwise Functions. (line 107)
+* converting, numbers to strings: Conversion. (line 6)
+* converting, strings to numbers <1>: Bitwise Functions. (line 107)
* converting, strings to numbers: Conversion. (line 6)
* CONVFMT variable <1>: User-modified. (line 28)
* CONVFMT variable: Conversion. (line 29)
@@ -24824,8 +24828,7 @@ Index
(line 30)
* cut utility: Cut Program. (line 6)
* cut.awk program: Cut Program. (line 45)
-* Cygwin build of gawk: Cygwin. (line 6)
-* d debugger command (alias for break): Breakpoint Control. (line 60)
+* d debugger command (alias for delete): Breakpoint Control. (line 60)
* d.c., See dark corner: Conventions. (line 37)
* dark corner <1>: Glossary. (line 189)
* dark corner <2>: Truth Values. (line 24)
@@ -25056,7 +25059,7 @@ Index
* differences in awk and gawk, strings: Scalar Constants. (line 20)
* differences in awk and gawk, strings, storing: Records. (line 187)
* differences in awk and gawk, strtonum() function (gawk): String Functions.
- (line 356)
+ (line 373)
* differences in awk and gawk, TEXTDOMAIN variable: User-modified.
(line 153)
* differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
@@ -25091,7 +25094,7 @@ Index
(line 9)
* dupnode() internal function: Internals. (line 96)
* dupword.awk program: Dupword Program. (line 31)
-* e debugger command (alias for break): Breakpoint Control. (line 69)
+* e debugger command (alias for enable): Breakpoint Control. (line 69)
* EBCDIC: Ordinal Functions. (line 45)
* egrep utility <1>: Egrep Program. (line 6)
* egrep utility: Character Lists. (line 23)
@@ -25123,8 +25126,8 @@ Index
* END pattern, operators and: Using BEGIN/END. (line 17)
* END pattern, pgawk program: Profiling. (line 65)
* END pattern, print statement and: I/O And BEGIN/END. (line 16)
+* ENDFILE pattern: BEGINFILE/ENDFILE. (line 6)
* ENDFILE pattern, Boolean patterns and: Expression Patterns. (line 73)
-* ENDFILE special pattern: BEGINFILE/ENDFILE. (line 6)
* endfile() user-defined function: Filetrans Function. (line 62)
* endgrent() function (C library): Group Functions. (line 216)
* endgrent() user-defined function: Group Functions. (line 219)
@@ -25140,7 +25143,11 @@ Index
(line 11)
* EREs (Extended Regular Expressions): Character Lists. (line 23)
* ERRNO variable <1>: Internals. (line 139)
-* ERRNO variable <2>: Auto-set. (line 72)
+* ERRNO variable <2>: TCP/IP Networking. (line 53)
+* ERRNO variable <3>: Auto-set. (line 72)
+* ERRNO variable <4>: BEGINFILE/ENDFILE. (line 26)
+* ERRNO variable <5>: Close Files And Pipes.
+ (line 139)
* ERRNO variable: Getline. (line 19)
* error handling: Special FD. (line 15)
* error handling, ERRNO variable and: Auto-set. (line 72)
@@ -25154,7 +25161,7 @@ Index
* evaluation order, concatenation: Concatenation. (line 42)
* evaluation order, functions: Calling Built-in. (line 30)
* examining fields: Fields. (line 6)
-* exclamation point (!), ! operator <1>: Egrep Program. (line 162)
+* exclamation point (!), ! operator <1>: Egrep Program. (line 170)
* exclamation point (!), ! operator <2>: Precedence. (line 52)
* exclamation point (!), ! operator: Boolean Ops. (line 67)
* exclamation point (!), != operator <1>: Precedence. (line 65)
@@ -25270,9 +25277,9 @@ Index
* files, .po, converting to .mo: I18N Example. (line 62)
* files, .pot: Explaining gettext. (line 30)
* files, /dev/... special files: Special FD. (line 45)
-* files, /inet/ (gawk): TCP/IP Networking. (line 6)
-* files, /inet4/ (gawk): TCP/IP Networking. (line 6)
-* files, /inet6/ (gawk): TCP/IP Networking. (line 6)
+* files, /inet/... (gawk): TCP/IP Networking. (line 6)
+* files, /inet4/... (gawk): TCP/IP Networking. (line 6)
+* files, /inet6/... (gawk): TCP/IP Networking. (line 6)
* files, as single records: Records. (line 196)
* files, awk programs in: Long. (line 6)
* files, awkprof.out: Profiling. (line 10)
@@ -25319,7 +25326,7 @@ Index
* fixed-width data: Constant Size. (line 9)
* flag variables <1>: Tee Program. (line 20)
* flag variables: Boolean Ops. (line 67)
-* floating-point: Unexpected Results. (line 6)
+* floating-point, numbers <1>: Unexpected Results. (line 6)
* floating-point, numbers: Basic Data Typing. (line 21)
* floating-point, numbers, AWKNUM internal type: Internals. (line 19)
* FNR variable <1>: Auto-set. (line 102)
@@ -25345,7 +25352,9 @@ Index
* forward slash (/), /= operator, vs. /=.../ regexp constant: Assignment Ops.
(line 148)
* forward slash (/), patterns and: Expression Patterns. (line 24)
-* FPAT variable: User-modified. (line 45)
+* FPAT variable <1>: User-modified. (line 45)
+* FPAT variable: Splitting By Content.
+ (line 26)
* frame debugger command: Dgawk Stack. (line 25)
* Free Documentation License (FDL): GNU Free Documentation License.
(line 6)
@@ -25418,6 +25427,7 @@ Index
(line 45)
* G-d: Acknowledgments. (line 79)
* Garfinkle, Scott: Contributors. (line 35)
+* gawk, ARGIND variable in: Other Arguments. (line 12)
* gawk, awk and <1>: This Manual. (line 14)
* gawk, awk and: Preface. (line 22)
* gawk, bitwise operations in: Bitwise Functions. (line 39)
@@ -25436,20 +25446,33 @@ Index
* gawk, continue statement in: Continue Statement. (line 43)
* gawk, distribution: Distribution contents.
(line 6)
+* gawk, ERRNO variable in <1>: TCP/IP Networking. (line 53)
+* gawk, ERRNO variable in <2>: Auto-set. (line 72)
+* gawk, ERRNO variable in <3>: BEGINFILE/ENDFILE. (line 26)
+* gawk, ERRNO variable in <4>: Close Files And Pipes.
+ (line 139)
+* gawk, ERRNO variable in: Getline. (line 19)
* gawk, escape sequences: Escape Sequences. (line 125)
* gawk, extensions, disabling: Options. (line 197)
* gawk, features, adding: Adding Code. (line 6)
* gawk, features, advanced: Advanced Features. (line 6)
* gawk, fflush() function in: I/O Functions. (line 44)
* gawk, field separators and: User-modified. (line 77)
-* gawk, FIELDWIDTHS variable in: User-modified. (line 41)
+* gawk, FIELDWIDTHS variable in <1>: User-modified. (line 35)
+* gawk, FIELDWIDTHS variable in: Constant Size. (line 22)
* gawk, file names in: Special Files. (line 6)
* gawk, format-control characters: Control Letters. (line 18)
-* gawk, FPAT variable in: User-modified. (line 52)
+* gawk, FPAT variable in <1>: User-modified. (line 45)
+* gawk, FPAT variable in: Splitting By Content.
+ (line 26)
* gawk, function arguments and: Calling Built-in. (line 16)
* gawk, functions, adding: Dynamic Extensions. (line 10)
* gawk, hexadecimal numbers and: Nondecimal-numbers. (line 42)
-* gawk, IGNORECASE variable in: User-modified. (line 94)
+* gawk, IGNORECASE variable in <1>: String Functions. (line 18)
+* gawk, IGNORECASE variable in <2>: Array Sorting. (line 69)
+* gawk, IGNORECASE variable in <3>: Array Intro. (line 92)
+* gawk, IGNORECASE variable in <4>: User-modified. (line 82)
+* gawk, IGNORECASE variable in: Case-sensitivity. (line 26)
* gawk, implementation issues: Notes. (line 6)
* gawk, implementation issues, debugging: Compatibility Mode. (line 6)
* gawk, implementation issues, downward compatibility: Compatibility Mode.
@@ -25464,13 +25487,17 @@ Index
(line 6)
* gawk, interval expressions and: Regexp Operators. (line 138)
* gawk, line continuation in: Conditional Exp. (line 34)
-* gawk, LINT variable in: User-modified. (line 107)
+* gawk, LINT variable in: User-modified. (line 98)
* gawk, list of contributors to: Contributors. (line 6)
* gawk, MS-DOS version of: PC Using. (line 11)
+* gawk, MS-Windows version of: PC Using. (line 11)
* gawk, newlines in: Statements/Lines. (line 12)
* gawk, nextfile statement in: Nextfile Function. (line 6)
* gawk, octal numbers and: Nondecimal-numbers. (line 42)
* gawk, OS/2 version of: PC Using. (line 11)
+* gawk, PROCINFO array in <1>: Two-way I/O. (line 116)
+* gawk, PROCINFO array in <2>: Time Functions. (line 46)
+* gawk, PROCINFO array in: Auto-set. (line 123)
* gawk, regexp constants and: Using Constant Regexps.
(line 28)
* gawk, regular expressions, case sensitivity: Case-sensitivity.
@@ -25478,13 +25505,20 @@ Index
* gawk, regular expressions, operators: GNU Regexp Operators.
(line 6)
* gawk, regular expressions, precedence: Regexp Operators. (line 156)
+* gawk, RT variable in <1>: Auto-set. (line 189)
+* gawk, RT variable in <2>: Getline/Variable/File.
+ (line 10)
+* gawk, RT variable in <3>: Multiple Line. (line 129)
+* gawk, RT variable in: Records. (line 112)
* gawk, See Also awk: Preface. (line 35)
* gawk, source code, obtaining: Getting. (line 6)
* gawk, splitting fields and: Constant Size. (line 87)
* gawk, string-translation functions: I18N Functions. (line 6)
+* gawk, TEXTDOMAIN variable in: User-modified. (line 153)
* gawk, timestamps: Time Functions. (line 6)
* gawk, uses for: Preface. (line 35)
* gawk, versions of, information about, printing: Options. (line 248)
+* gawk, VMS version of: VMS Installation. (line 6)
* gawk, word-boundary operator: GNU Regexp Operators.
(line 63)
* General Public License (GPL): Glossary. (line 306)
@@ -25521,6 +25555,8 @@ Index
* getline command, FILENAME variable and: Getline Notes. (line 19)
* getline command, return values: Getline. (line 19)
* getline command, variants: Getline Summary. (line 6)
+* getline statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE.
+ (line 53)
* getopt() function (C library): Getopt Function. (line 15)
* getopt() user-defined function: Getopt Function. (line 107)
* getpwent() function (C library): Passwd Functions. (line 16)
@@ -25592,7 +25628,10 @@ Index
* if statement, actions, changing: Ranges. (line 25)
* igawk.sh program: Igawk Program. (line 124)
* ignore debugger command: Breakpoint Control. (line 83)
-* IGNORECASE variable <1>: User-modified. (line 82)
+* IGNORECASE variable <1>: String Functions. (line 18)
+* IGNORECASE variable <2>: Array Sorting. (line 69)
+* IGNORECASE variable <3>: Array Intro. (line 92)
+* IGNORECASE variable <4>: User-modified. (line 82)
* IGNORECASE variable: Case-sensitivity. (line 26)
* IGNORECASE variable, array sorting and: Array Sorting. (line 69)
* IGNORECASE variable, array subscripts and: Array Intro. (line 92)
@@ -25638,7 +25677,7 @@ Index
* input/output, from BEGIN and END: I/O And BEGIN/END. (line 6)
* input/output, two-way: Two-way I/O. (line 44)
* insomnia, cure for: Alarm Program. (line 6)
-* installation, vms: VMS Installation. (line 6)
+* installation, VMS: VMS Installation. (line 6)
* installing gawk: Installation. (line 6)
* INT signal (MS-Windows): Profiling. (line 207)
* int() function: Numeric Functions. (line 22)
@@ -25664,6 +25703,7 @@ Index
* interpreted programs <1>: Glossary. (line 356)
* interpreted programs: Basic High Level. (line 14)
* interval expressions: Regexp Operators. (line 115)
+* INVALID_HANDLE internal constant: Internals. (line 161)
* inventory-shipped file: Sample Data Files. (line 32)
* IOBUF internal structure: Internals. (line 161)
* iop_alloc() internal function: Internals. (line 161)
@@ -25718,7 +25758,7 @@ Index
* length() function: String Functions. (line 137)
* Lesser General Public License (LGPL): Glossary. (line 385)
* LGPL (Lesser General Public License): Glossary. (line 385)
-* Libmawk: Other Versions. (line 106)
+* libmawk: Other Versions. (line 106)
* libraries of awk functions: Library Functions. (line 6)
* libraries of awk functions, assertions: Assert Function. (line 6)
* libraries of awk functions, associative arrays and: Library Names.
@@ -25855,10 +25895,14 @@ Index
* next statement <1>: Next Statement. (line 6)
* next statement: Boolean Ops. (line 85)
* next statement, BEGIN/END patterns and: I/O And BEGIN/END. (line 36)
+* next statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE.
+ (line 48)
* next statement, user-defined functions and: Next Statement. (line 45)
* nextfile statement: Nextfile Statement. (line 6)
* nextfile statement, BEGIN/END patterns and: I/O And BEGIN/END.
(line 36)
+* nextfile statement, BEGINFILE/ENDFILE patterns and: BEGINFILE/ENDFILE.
+ (line 26)
* nextfile statement, implementing: Nextfile Function. (line 6)
* nextfile statement, user-defined functions and: Nextfile Statement.
(line 43)
@@ -25899,8 +25943,8 @@ Index
* numbers, as values of characters: Ordinal Functions. (line 6)
* numbers, Cliff random: Cliff Random Function.
(line 6)
+* numbers, converting <1>: Bitwise Functions. (line 107)
* numbers, converting: Conversion. (line 6)
-* numbers, converting, to strings <1>: Bitwise Functions. (line 107)
* numbers, converting, to strings: User-modified. (line 28)
* numbers, floating-point: Basic Data Typing. (line 21)
* numbers, floating-point, AWKNUM internal type: Internals. (line 19)
@@ -26011,7 +26055,8 @@ Index
* patterns, ranges in: Ranges. (line 6)
* patterns, regexp constants as: Expression Patterns. (line 36)
* patterns, types of: Pattern Overview. (line 15)
-* pawk profiling Bell Labs awk: Other Versions. (line 69)
+* pawk profiling version of Brian Kernighan's awk: Other Versions.
+ (line 69)
* PC operating systems, gawk on: PC Using. (line 6)
* PC operating systems, gawk on, installing: PC Installation. (line 6)
* percent sign (%), % operator: Precedence. (line 55)
@@ -26032,12 +26077,12 @@ Index
* Pitts, Dave: Acknowledgments. (line 59)
* plus sign (+): Regexp Operators. (line 101)
* plus sign (+), + operator: Precedence. (line 52)
+* plus sign (+), ++ (decrement/increment operators): Increment Ops.
+ (line 11)
* plus sign (+), ++ operator <1>: Precedence. (line 46)
* plus sign (+), ++ operator: Increment Ops. (line 40)
* plus sign (+), += operator <1>: Precedence. (line 95)
* plus sign (+), += operator: Assignment Ops. (line 82)
-* plus sign (+), decrement/increment operators: Increment Ops.
- (line 11)
* pointers to functions: Indirect Calls. (line 6)
* portability: Escape Sequences. (line 94)
* portability, #! (executable scripts): Executable Scripts. (line 34)
@@ -26157,9 +26202,13 @@ Index
* private variables: Library Names. (line 11)
* processes, two-way communications with: Two-way I/O. (line 23)
* processing data: Basic High Level. (line 6)
-* PROCINFO array <1>: Group Functions. (line 6)
-* PROCINFO array <2>: Passwd Functions. (line 6)
-* PROCINFO array: Auto-set. (line 123)
+* PROCINFO array <1>: Id Program. (line 15)
+* PROCINFO array <2>: Group Functions. (line 6)
+* PROCINFO array <3>: Passwd Functions. (line 6)
+* PROCINFO array <4>: Two-way I/O. (line 116)
+* PROCINFO array <5>: Time Functions. (line 46)
+* PROCINFO array <6>: Auto-set. (line 123)
+* PROCINFO array: Obsolete. (line 11)
* PROCINFO variable: Internals. (line 150)
* profiling awk programs: Profiling. (line 6)
* profiling awk programs, dynamically: Profiling. (line 174)
@@ -26190,9 +26239,9 @@ Index
* q debugger command (alias for quit): Miscellaneous Dgawk Commands.
(line 101)
* QSE Awk: Other Versions. (line 102)
-* question mark (?) <1>: GNU Regexp Operators.
+* question mark (?) regexp operator <1>: GNU Regexp Operators.
(line 59)
-* question mark (?): Regexp Operators. (line 110)
+* question mark (?) regexp operator: Regexp Operators. (line 110)
* question mark (?), ?: operator: Precedence. (line 92)
* QuikTrim Awk: Other Versions. (line 95)
* quit debugger command: Miscellaneous Dgawk Commands.
@@ -26331,7 +26380,9 @@ Index
* RSTART variable: Auto-set. (line 182)
* RSTART variable, match() function and: String Functions. (line 194)
* RT variable <1>: Auto-set. (line 189)
-* RT variable <2>: Multiple Line. (line 129)
+* RT variable <2>: Getline/Variable/File.
+ (line 10)
+* RT variable <3>: Multiple Line. (line 129)
* RT variable: Records. (line 112)
* Rubin, Paul <1>: Contributors. (line 16)
* Rubin, Paul: History. (line 30)
@@ -26398,10 +26449,14 @@ Index
* side effects, FILENAME variable: Getline Notes. (line 19)
* side effects, function calls: Function Calls. (line 54)
* side effects, statements: Action Overview. (line 32)
+* SIGHUP signal: Profiling. (line 204)
+* SIGINT signal (MS-Windows): Profiling. (line 207)
* signals, HUP/SIGHUP: Profiling. (line 204)
* signals, INT/SIGINT (MS-Windows): Profiling. (line 207)
* signals, QUIT/SIGQUIT (MS-Windows): Profiling. (line 207)
* signals, USR1/SIGUSR1: Profiling. (line 182)
+* SIGQUIT signal (MS-Windows): Profiling. (line 207)
+* SIGUSR1 signal: Profiling. (line 182)
* silent debugger command: Dgawk Execution Control.
(line 10)
* sin() function: Numeric Functions. (line 74)
@@ -26422,10 +26477,16 @@ Index
* sorting characters in different languages: Explaining gettext.
(line 93)
* source code, awka: Other Versions. (line 55)
-* source code, Bell Laboratories awk: Other Versions. (line 13)
+* source code, Brian Kernighan's awk: Other Versions. (line 13)
* source code, gawk: Gawk Distribution. (line 6)
+* source code, jawk: Other Versions. (line 87)
+* source code, libmawk: Other Versions. (line 106)
* source code, mawk: Other Versions. (line 35)
* source code, mixing: Options. (line 104)
+* source code, pawk: Other Versions. (line 69)
+* source code, QSE Awk: Other Versions. (line 102)
+* source code, QuikTrim Awk: Other Versions. (line 95)
+* source code, Solaris awk: Other Versions. (line 77)
* source files, search path for: Igawk Program. (line 364)
* sparse arrays: Array Intro. (line 71)
* Spencer, Henry: Glossary. (line 12)
@@ -26469,8 +26530,8 @@ Index
* string operators: Concatenation. (line 9)
* string-matching operators: Regexp Usage. (line 19)
* strings: Internals. (line 86)
+* strings, converting <1>: Bitwise Functions. (line 107)
* strings, converting: Conversion. (line 6)
-* strings, converting, numbers to <1>: Bitwise Functions. (line 107)
* strings, converting, numbers to: User-modified. (line 28)
* strings, empty, See null strings: Records. (line 102)
* strings, extracting: String Extraction. (line 6)
@@ -26610,6 +26671,7 @@ Index
* undisplay debugger command: Viewing And Changing Data.
(line 80)
* undocumented features: Undocumented. (line 6)
+* Unicode: Glossary. (line 137)
* uninitialized variables, as array subscripts: Uninitialized Subscripts.
(line 6)
* uniq utility: Uniq Program. (line 6)
@@ -26639,7 +26701,6 @@ Index
* user-modifiable variables: User-modified. (line 6)
* users, information about, printing: Id Program. (line 6)
* users, information about, retrieving: Passwd Functions. (line 16)
-* using gawk on Cygwin: Cygwin. (line 6)
* USR1 signal: Profiling. (line 182)
* values, numeric: Basic Data Typing. (line 13)
* values, string: Basic Data Typing. (line 13)
@@ -27123,38 +27184,38 @@ Node: VMS POSIX819416
Node: VMS Old Gawk820714
Node: Bugs821186
Node: Other Versions825051
-Node: Notes829576
-Node: Compatibility Mode830268
-Node: Additions831051
-Node: Accessing The Source831863
-Node: Adding Code833286
-Node: New Ports838834
-Node: Dynamic Extensions842947
-Node: Internals844323
-Node: Plugin License853442
-Node: Sample Library854076
-Node: Internal File Description854762
-Node: Internal File Ops858469
-Ref: Internal File Ops-Footnote-1863237
-Node: Using Internal File Ops863385
-Node: Future Extensions865762
-Node: Basic Concepts868266
-Node: Basic High Level869023
-Ref: Basic High Level-Footnote-1873058
-Node: Basic Data Typing873243
-Node: Floating Point Issues877768
-Node: String Conversion Precision878851
-Ref: String Conversion Precision-Footnote-1880545
-Node: Unexpected Results880654
-Node: POSIX Floating Point Problems882480
-Ref: POSIX Floating Point Problems-Footnote-1886176
-Node: Glossary886214
-Node: Copying910313
-Node: GNU Free Documentation License947870
-Node: next-edition973014
-Node: unresolved973366
-Node: revision973866
-Node: consistency974289
-Node: Index977788
+Node: Notes829559
+Node: Compatibility Mode830251
+Node: Additions831034
+Node: Accessing The Source831846
+Node: Adding Code833269
+Node: New Ports838817
+Node: Dynamic Extensions842930
+Node: Internals844306
+Node: Plugin License853425
+Node: Sample Library854059
+Node: Internal File Description854745
+Node: Internal File Ops858452
+Ref: Internal File Ops-Footnote-1863220
+Node: Using Internal File Ops863368
+Node: Future Extensions865745
+Node: Basic Concepts868249
+Node: Basic High Level869006
+Ref: Basic High Level-Footnote-1873041
+Node: Basic Data Typing873226
+Node: Floating Point Issues877751
+Node: String Conversion Precision878834
+Ref: String Conversion Precision-Footnote-1880528
+Node: Unexpected Results880637
+Node: POSIX Floating Point Problems882463
+Ref: POSIX Floating Point Problems-Footnote-1886159
+Node: Glossary886197
+Node: Copying910296
+Node: GNU Free Documentation License947853
+Node: next-edition972997
+Node: unresolved973349
+Node: revision973849
+Node: consistency974272
+Node: Index977771

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 3c045bbd..1179135d 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3412,6 +3412,7 @@ file at all.
(See also
@ref{Assignment Options}.)
+@cindex @command{gawk}, @code{ARGIND} variable in
@cindex @code{ARGIND} variable, command-line arguments
@cindex @code{ARGC}/@code{ARGV} variables, command-line arguments
All these arguments are made available to your @command{awk} program in the
@@ -3794,6 +3795,7 @@ they will @emph{not} be in the next release).
@c update this section for each release!
+@cindex @code{PROCINFO} array
The process-related special files @file{/dev/pid}, @file{/dev/ppid},
@file{/dev/pgrpid}, and @file{/dev/user} were deprecated in @command{gawk}
3.1, but still worked. As of @value{PVERSION} 4.0, they are no longer
@@ -4401,8 +4403,8 @@ way of writing the last @samp{*} example:
awk '/\(c[ad]+r x\)/ @{ print @}' sample
@end example
-@cindex @code{?} (question mark)
-@cindex question mark (@code{?})
+@cindex @code{?} (question mark) regexp operator
+@cindex question mark (@code{?}) regexp operator
@item ?
This symbol is similar to @samp{*}, except that the preceding expression can be
matched either once or not at all. For example, @samp{fe?d}
@@ -4723,8 +4725,8 @@ end of a buffer (string).
@cindex @code{^} (caret)
@cindex caret (@code{^})
-@cindex @code{?} (question mark)
-@cindex question mark (@code{?})
+@cindex @code{?} (question mark) regexp operator
+@cindex question mark (@code{?}) regexp operator
Because @samp{^} and @samp{$} always work in terms of the beginning
and end of strings, these operators don't add any new capabilities
for @command{awk}. They are provided for compatibility with other
@@ -4824,6 +4826,7 @@ This works in any POSIX-compliant @command{awk}.
@cindex @code{!} (exclamation point), @code{!~} operator
@cindex exclamation point (@code{!}), @code{!~} operator
@cindex @code{IGNORECASE} variable
+@cindex @command{gawk}, @code{IGNORECASE} variable in
@c @cindex variables, @code{IGNORECASE}
Another method, specific to @command{gawk}, is to set the variable
@code{IGNORECASE} to a nonzero value (@pxref{Built-in Variables}).
@@ -5320,6 +5323,7 @@ the new value is used to delimit subsequent records, but the record
currently being processed, as well as records already processed, are not
affected.
+@cindex @command{gawk}, @code{RT} variable in
@cindex @code{RT} variable
@cindex records, terminating
@cindex terminating records
@@ -5470,7 +5474,6 @@ these pieces of the record. You don't have to use them---you can
operate on the whole record if you want---but fields are what make
simple @command{awk} programs so powerful.
-@cindex @code{$} field operator
@cindex field operator @code{$}
@cindex @code{$} (dollar sign), @code{$} field operator
@cindex dollar sign (@code{$}), @code{$} field operator
@@ -5964,9 +5967,9 @@ separated by the value of @code{OFS}. Because the leading whitespace
was ignored when finding @code{$1}, it is not part of the new @code{$0}.
Finally, the last @code{print} statement prints the new @code{$0}.
-@cindex @code{FS}, containing @samp{^}
-@cindex @samp{^}, in @code{FS}
-@cindex dark corner, @samp{^}, in @code{FS}
+@cindex @code{FS}, containing @code{^}
+@cindex @code{^}, in @code{FS}
+@cindex dark corner, @code{^}, in @code{FS}
There is an additional subtlety to be aware of when using regular exressions
for field splitting.
It is not well-specified in the POSIX standard, or anywhere else, what @samp{^}
@@ -6291,6 +6294,7 @@ this is awkward and inefficient for a large number of fields.
@cindex troubleshooting, fatal errors, field widths@comma{} specifying
@cindex @command{w} utility
@cindex @code{FIELDWIDTHS} variable
+@cindex @command{gawk}, @code{FIELDWIDTHS} variable in
The splitting of an input record into fixed-width fields is specified by
assigning a string containing space-separated numbers to the built-in
variable @code{FIELDWIDTHS}. Each number specifies the width of the field,
@@ -6436,6 +6440,8 @@ Robbins,Arnold,"1234 A Pretty Street, NE",MyTown,MyState,12345-6789,USA
@c endfile
@end example
+@cindex @command{gawk}, @code{FPAT} variable in
+@cindex @code{FPAT} variable
The @code{FPAT} variable offers a solution for cases like this.
The value of @code{FPAT} should be a string that provides a regular expression.
This regular expression describes the contents of each field.
@@ -6690,6 +6696,7 @@ Leading and trailing matches of @var{regexp} delimit empty records.
POSIX standard.)
@end table
+@cindex @command{gawk}, @code{RT} variable in
@cindex @code{RT} variable
In all cases, @command{gawk} sets @code{RT} to the input text that matched the
value specified by @code{RS}.
@@ -6719,6 +6726,7 @@ include material that has not been covered yet. Therefore, come back
and study the @code{getline} command @emph{after} you have reviewed the
rest of this @value{DOCUMENT} and have a good knowledge of how @command{awk} works.
+@cindex @command{gawk}, @code{ERRNO} variable in
@cindex @code{ERRNO} variable
@cindex differences in @command{awk} and @command{gawk}, @code{getline} command
@cindex @code{getline} command, return values
@@ -6912,6 +6920,8 @@ from the file
@var{file}, and put it in the variable @var{var}. As above, @var{file}
is a string-valued expression that specifies the file from which to read.
+@cindex @command{gawk}, @code{RT} variable in
+@cindex @code{RT} variable
In this version of @code{getline}, none of the built-in variables are
changed and the record is not split into fields. The only variable
changed is @var{var}.@footnote{This is not quite true. @code{RT} could
@@ -8205,7 +8215,7 @@ for the same file is definitely poor style, and is confusing to readers
of your program.)
@cindex differences in @command{awk} and @command{gawk}, implementation limitations
-@cindex implementation issues@comma{} @command{gawk}, limits
+@cindex implementation issues, @command{gawk}, limits
@cindex @command{awk}, implementation issues, pipes
@cindex @command{gawk}, implementation issues, pipes
@ifnotinfo
@@ -8325,19 +8335,16 @@ then it directly uses the stream that the @value{FN} stands for.
These special @value{FN}s work for all operating systems that @command{gawk}
has been ported to, not just those that are POSIX-compliant:
-@cindex common extensions, @file{/dev/stdin} special file
-@cindex common extensions, @file{/dev/stdout} special file
-@cindex common extensions, @file{/dev/stderr} special file
-@cindex extensions, common@comma{} @file{/dev/stdin} special file
-@cindex extensions, common@comma{} @file{/dev/stdout} special file
-@cindex extensions, common@comma{} @file{/dev/stderr} special file
+@cindex common extensions, @code{/dev/stdin} special file
+@cindex common extensions, @code{/dev/stdout} special file
+@cindex common extensions, @code{/dev/stderr} special file
+@cindex extensions, common@comma{} @code{/dev/stdin} special file
+@cindex extensions, common@comma{} @code{/dev/stdout} special file
+@cindex extensions, common@comma{} @code{/dev/stderr} special file
@cindex @value{FN}s, standard streams in @command{gawk}
@cindex @code{/dev/@dots{}} special files (@command{gawk})
@cindex files, @code{/dev/@dots{}} special files
-@c @cindex @code{/dev/stdin} special file
-@c @cindex @code{/dev/stdout} special file
-@c @cindex @code{/dev/stderr} special file
-@c @cindex @code{/dev/fd} special files
+@cindex @code{/dev/fd/@var{N}} special files
@table @file
@item /dev/stdin
The standard input (file descriptor 0).
@@ -8621,6 +8628,8 @@ command | getline info
retval = close(command) # syntax error in many Unix awks
@end example
+@cindex @command{gawk}, @code{ERRNO} variable in
+@cindex @code{ERRNO} variable
@command{gawk} treats @code{close()} as a function.
The return value is @minus{}1 if the argument names something
that was never opened with a redirection, or if there is
@@ -9097,7 +9106,7 @@ sequences
@cindex converting, strings to numbers
@cindex strings, converting
@cindex numbers, converting
-@cindex converting, numbers
+@cindex converting, numbers to strings
Strings are converted to numbers and numbers are converted to strings, if the context
of the @command{awk} program demands it. For example, if the value of
either @code{foo} or @code{bar} in the expression @samp{foo + bar}
@@ -9783,8 +9792,8 @@ the increment operators add no power to the @command{awk} language; however, the
are convenient abbreviations for very common operations.
@cindex side effects
-@cindex @code{+} (plus sign), decrement/increment operators
-@cindex plus sign (@code{+}), decrement/increment operators
+@cindex @code{+} (plus sign), @code{++} (decrement/increment operators)
+@cindex plus sign (@code{+}), @code{++} (decrement/increment operators)
@cindex side effects, decrement/increment operators
The operator used for adding one is written @samp{++}. It can be used to increment
a variable either before or after taking its value.
@@ -10792,7 +10801,7 @@ Matching, nonmatching.
Array membership.
@cindex @code{&} (ampersand), @code{&&} operator
-@cindex ampersand (@code{&}), @code{&&}operator
+@cindex ampersand (@code{&}), @code{&&} operator
@item &&
Logical ``and''.
@@ -11098,7 +11107,7 @@ This program fails because the range pattern is both turned on and turned off
by the first line, which just has a @samp{%} on it. To accomplish this task,
write the program in the following manner, using a flag:
-@cindex @code{!} operator
+@cindex @code{!} (exclamation point), @code{!} operator
@example
/^%$/ @{ skip = ! skip; next @}
skip == 1 @{ next @} # skip lines with `skip' set
@@ -11277,8 +11286,8 @@ prints the first field of every record.
@node BEGINFILE/ENDFILE
@subsection The @code{BEGINFILE} and @code{ENDFILE} Special Patterns
-@cindex @code{BEGINFILE} special pattern
-@cindex @code{ENDFILE} special pattern
+@cindex @code{BEGINFILE} pattern
+@cindex @code{ENDFILE} pattern
@quotation NOTE
This @value{SECTION} describes a @command{gawk}-specific feature.
@@ -11304,6 +11313,9 @@ file named on the command line cannot be opened for reading. However,
you can bypass the fatal error and move on to the next file on the
command line.
+@cindex @command{gawk}, @code{ERRNO} variable in
+@cindex @code{ERRNO} variable
+@cindex @code{nextfile} statement, @code{BEGINFILE}/@code{ENDFILE} patterns and
You do this by checking if the @code{ERRNO} variable is not the empty
string; if so, then @command{gawk} was not able to open the file. In
this case, your program can execute the @code{nextfile} statement
@@ -11328,11 +11340,13 @@ rule is present, the error becomes non-fatal, and instead @code{ERRNO}
is set. This makes it possible to catch and process I/O errors at the
level of the @command{awk} program.
+@cindex @code{next} statement, @code{BEGINFILE}/@code{ENDFILE} patterns and
The @code{next} statement (@pxref{Next Statement}) is not allowed inside
either a @code{BEGINFILE} or and @code{ENDFILE} rule. The @code{nextfile}
statement (@pxref{Nextfile Statement}) is allowed only inside a
@code{BEGINFILE} rule, but not inside an @code{ENDFILE} rule.
+@cindex @code{getline} statement, @code{BEGINFILE}/@code{ENDFILE} patterns and
The @code{getline} statement (@pxref{Getline}) is restricted inside
both @code{BEGINFILE} and @code{ENDFILE}. Only the @samp{getline
@var{variable} < @var{file}} form is allowed.
@@ -12281,6 +12295,7 @@ It works by being passed, in effect, as the first argument to the
Its default value is @code{"%.6g"}.
@code{CONVFMT} was introduced by the POSIX standard.
+@cindex @command{gawk}, @code{FIELDWIDTHS} variable in
@cindex @code{FIELDWIDTHS} variable
@cindex differences in @command{awk} and @command{gawk}, @code{FIELDWIDTHS} variable
@cindex field separators, @code{FIELDWIDTHS} variable and
@@ -12292,12 +12307,12 @@ Assigning a value to @code{FIELDWIDTHS}
overrides the use of @code{FS} and @code{FPAT} for field splitting.
@xref{Constant Size}, for more information.
-@cindex @command{gawk}, @code{FIELDWIDTHS} variable in
If @command{gawk} is in compatibility mode
(@pxref{Options}), then @code{FIELDWIDTHS}
has no special meaning, and field-splitting operations occur based
exclusively on the value of @code{FS}.
+@cindex @command{gawk}, @code{FPAT} variable in
@cindex @code{FPAT} variable
@cindex differences in @command{awk} and @command{gawk}, @code{FPAT} variable
@cindex field separators, @code{FPAT} variable and
@@ -12309,7 +12324,6 @@ Assigning a value to @code{FPAT}
overrides the use of @code{FS} and @code{FIELDWIDTHS} for field splitting.
@xref{Splitting By Content}, for more information.
-@cindex @command{gawk}, @code{FPAT} variable in
If @command{gawk} is in compatibility mode
(@pxref{Options}), then @code{FPAT}
has no special meaning, and field-splitting operations occur based
@@ -12351,6 +12365,7 @@ assigning a value to @code{FS} causes @command{gawk} to return to
the normal, @code{FS}-based field splitting. An easy way to do this
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, string comparisons and
@@ -12369,12 +12384,12 @@ and it does not affect field splitting when using a single-character
field separator.
@xref{Case-sensitivity}.
-@cindex @command{gawk}, @code{IGNORECASE} variable in
If @command{gawk} is in compatibility mode
(@pxref{Options}),
then @code{IGNORECASE} has no special meaning. Thus, string
and regexp operations are always case-sensitive.
+@cindex @command{gawk}, @code{LINT} variable in
@cindex @code{LINT} variable
@cindex differences in @command{awk} and @command{gawk}, @code{LINT} variable
@cindex lint checking
@@ -12388,7 +12403,6 @@ actually invalid are issued. (This is not fully implemented yet.)
Any other true value prints nonfatal warnings.
Assigning a false value to @code{LINT} turns off the lint warnings.
-@cindex @command{gawk}, @code{LINT} variable in
This variable is a @command{gawk} extension. It is not special
in other @command{awk} implementations. Unlike the other special variables,
changing @code{LINT} does affect the production of lint warnings,
@@ -12457,6 +12471,7 @@ multidimensional array. Thus, the expression @code{@w{foo["A", "B"]}}
really accesses @code{foo["A\034B"]}
(@pxref{Multi-dimensional}).
+@cindex @command{gawk}, @code{TEXTDOMAIN} variable in
@cindex @code{TEXTDOMAIN} variable
@cindex differences in @command{awk} and @command{gawk}, @code{TEXTDOMAIN} variable
@cindex internationalization, localization
@@ -12574,6 +12589,7 @@ On such systems, the @code{ENVIRON} array is empty (except for
@w{@code{ENVIRON["AWKPATH"]}},
@pxref{AWKPATH Variable}).
+@cindex @command{gawk}, @code{ERRNO} variable in
@cindex @code{ERRNO} variable
@cindex differences in @command{awk} and @command{gawk}, @code{ERRNO} variable
@cindex error handling, @code{ERRNO} variable and
@@ -12654,6 +12670,7 @@ the beginning of the program's execution
(@pxref{Records}).
@code{NR} is incremented each time a new record is read.
+@cindex @command{gawk}, @code{PROCINFO} array in
@cindex @code{PROCINFO} array
@cindex differences in @command{awk} and @command{gawk}, @code{PROCINFO} array
@item PROCINFO #
@@ -12705,6 +12722,8 @@ 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
The @code{PROCINFO} array is also 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}.
@@ -12732,6 +12751,7 @@ The start-index in characters of the substring that is matched by the
is the position of the string where the matched substring starts, or zero
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
@item RT #
@@ -13099,6 +13119,8 @@ in more detail in
Here, the number @code{1} isn't double-quoted, since @command{awk}
automatically converts it to a string.
+@cindex @command{gawk}, @code{IGNORECASE} variable in
+@cindex @code{IGNORECASE} variable
@cindex case sensitivity, array indices and
@cindex arrays, @code{IGNORECASE} variable and
@cindex @code{IGNORECASE} variable, array subscripts and
@@ -13812,6 +13834,8 @@ both arrays use the values. Similarly, when copying the indices from
strings.
@c Document It And Call It A Feature. Sigh.
+@cindex @command{gawk}, @code{IGNORECASE} variable in
+@cindex @code{IGNORECASE} variable
@cindex arrays, sorting, @code{IGNORECASE} variable and
@cindex @code{IGNORECASE} variable, array sorting and
We said previously that comparisons are done using @command{gawk}'s
@@ -14213,6 +14237,8 @@ pound sign@w{ (@samp{#}):}
@item asort(@var{source} @r{[}, @var{dest}@r{]}) #
@cindex arrays, elements, retrieving number of
@cindex @code{asort()} function (@command{gawk})
+@cindex @command{gawk}, @code{IGNORECASE} variable in
+@cindex @code{IGNORECASE} variable
Return the number of elements in the array @var{source}.
@command{gawk} sorts the contents of @var{source}
using the normal rules for comparing values
@@ -14667,7 +14693,6 @@ pival = sprintf("pi = %.2f (approx.)", 22/7)
@noindent
assigns the string @w{@code{"pi = 3.14 (approx.)"}} to the variable @code{pival}.
-@cindex differences in @command{awk} and @command{gawk}, @code{strtonum()} function (@command{gawk})
@cindex @code{strtonum()} function (@command{gawk})
@item strtonum(@var{str}) #
Examine @var{str} and return its numeric value. If @var{str}
@@ -15355,7 +15380,7 @@ close("/bin/sh")
@noindent
@cindex troubleshooting, @code{system()} function
-@cindex @code{--sandbox} option, disabling @command{system} function
+@cindex @code{--sandbox} option, disabling @code{system()} function
However, if your @command{awk}
program is interactive, @code{system()} is useful for running large
self-contained programs, such as a shell or an editor.
@@ -15536,6 +15561,8 @@ whether daylight savings time is in effect for the specified time.
If @var{datespec} does not contain enough elements or if the resulting time
is out of range, @code{mktime()} returns @minus{}1.
+@cindex @command{gawk}, @code{PROCINFO} array in
+@cindex @code{PROCINFO} array
@item strftime(@r{[}@var{format} @r{[}, @var{timestamp} @r{[}, @var{utc-flag}@r{]]]})
@c STARTOFRANGE strf
@cindex @code{strftime()} function (@command{gawk})
@@ -16049,7 +16076,7 @@ you don't understand this paragraph, don't worry about it.)
Here is a user-defined function (@pxref{User-defined})
that illustrates the use of these functions:
-@cindex @code{bits2str} user-defined function
+@cindex @code{bits2str()} user-defined function
@cindex @code{testbits.awk} program
@example
@group
@@ -16122,9 +16149,10 @@ $ @kbd{gawk -f testbits.awk}
@print{} rshift(0x99, 2) = 0x26 = 00100110
@end example
-@cindex numbers, converting, to strings
-@cindex strings, converting, numbers to
-@cindex converting, numbers, to strings
+@cindex converting, strings to numbers
+@cindex strings, converting
+@cindex numbers, converting
+@cindex converting, numbers to strings
The @code{bits2str()} function turns a binary number into a string.
The number @code{1} represents a binary value where the rightmost bit
is set to 1. Using this mask,
@@ -18228,6 +18256,8 @@ has been read, @command{gawk} terminates the coprocess and exits.
As a side note, the assignment @samp{LC_ALL=C} in the @command{sort}
command ensures traditional Unix (ASCII) sorting from @command{sort}.
+@cindex @command{gawk}, @code{PROCINFO} array in
+@cindex @code{PROCINFO} array
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
@@ -18254,12 +18284,12 @@ using regular pipes.
@cindex networks, programming
@c STARTOFRANGE tcpip
@cindex TCP/IP
-@cindex @code{/inet/} files (@command{gawk})
-@cindex files, @code{/inet/} (@command{gawk})
-@cindex @code{/inet4/} files (@command{gawk})
-@cindex files, @code{/inet4/} (@command{gawk})
-@cindex @code{/inet6/} files (@command{gawk})
-@cindex files, @code{/inet6/} (@command{gawk})
+@cindex @code{/inet/@dots{}} special files (@command{gawk})
+@cindex files, @code{/inet/@dots{}} (@command{gawk})
+@cindex @code{/inet4/@dots{}} special files (@command{gawk})
+@cindex files, @code{/inet4/@dots{}} (@command{gawk})
+@cindex @code{/inet6/@dots{}} special files (@command{gawk})
+@cindex files, @code{/inet6/@dots{}} (@command{gawk})
@cindex @code{EMISTERED}
@quotation
@code{EMISTERED}:
@@ -18317,6 +18347,8 @@ Again, use @samp{0} if you don't care, or else a well-known
service name.
@end table
+@cindex @command{gawk}, @code{ERRNO} variable in
+@cindex @code{ERRNO} variable
@quotation NOTE
Failure in opening a two-way socket will result in a non-fatal error
being returned to the calling code. The value of @code{ERRNO} indicates
@@ -18604,6 +18636,7 @@ $ @kbd{pgawk -f myprog &}
@cindex @command{kill} command@comma{} dynamic profiling
@cindex @code{USR1} signal
+@cindex @code{SIGUSR1} signal
@cindex signals, @code{USR1}/@code{SIGUSR1}
@noindent
The shell prints a job number and process ID number; in this case, 13992.
@@ -18636,13 +18669,16 @@ Each time, the profile and function call trace are appended to the output
profile file.
@cindex @code{HUP} signal
+@cindex @code{SIGHUP} signal
@cindex signals, @code{HUP}/@code{SIGHUP}
If you use the @code{HUP} signal instead of the @code{USR1} signal,
@command{pgawk} produces the profile and the function call trace and then exits.
@cindex @code{INT} signal (MS-Windows)
+@cindex @code{SIGINT} signal (MS-Windows)
@cindex signals, @code{INT}/@code{SIGINT} (MS-Windows)
@cindex @code{QUIT} signal (MS-Windows)
+@cindex @code{SIGQUIT} signal (MS-Windows)
@cindex signals, @code{QUIT}/@code{SIGQUIT} (MS-Windows)
When @command{pgawk} runs on MS-Windows systems, it uses the
@code{INT} and @code{QUIT} signals for producing the profile and, in
@@ -19398,8 +19434,7 @@ function _ord_init( low, high, i, t)
@c endfile
@end example
-@cindex character sets
-@cindex character encodings
+@cindex character sets (machine character encodings)
@cindex ASCII
@cindex EBCDIC
@cindex mark parity
@@ -20658,6 +20693,7 @@ from anywhere within a user's program, and the user may have his
or her
own way of splitting records and fields.
+@cindex @code{PROCINFO} array
The @code{using_fw} variable checks @code{PROCINFO["FS"]}, which
is @code{"FIELDWIDTHS"} if field splitting is being done with
@code{FIELDWIDTHS}. This makes it possible to restore the correct
@@ -21775,8 +21811,6 @@ using the @samp{!} operator. @code{fcount} is incremented with the value of
successful or unsuccessful match. If the line does not match, the
@code{next} statement just moves on to the next record.
-@cindex @code{!} (exclamation point), @code{!} operator
-@cindex exclamation point (@code{!}), @code{!} operator
A number of additional tests are made, but they are only done if we
are not counting lines. First, if the user only wants exit status
(@code{no_print} is true), then it is enough to know that @emph{one}
@@ -21786,7 +21820,8 @@ print the @value{FN}, and then skip to the next file with @code{nextfile}.
Finally, each line is printed, with a leading @value{FN} and colon
if necessary:
-@cindex @code{!} operator
+@cindex @code{!} (exclamation point), @code{!} operator
+@cindex exclamation point (@code{!}), @code{!} operator
@example
@c file eg/prog/egrep.awk
@{
@@ -21881,6 +21916,7 @@ $ @kbd{id}
@print{} uid=500(arnold) gid=500(arnold) groups=6(disk),7(lp),19(floppy)
@end example
+@cindex @code{PROCINFO} array
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
@@ -24940,7 +24976,7 @@ watchpoint is made unconditional.
@cindex debugger commands, @code{d} (@code{delete})
@cindex debugger commands, @code{delete}
@cindex @code{delete} debugger command
-@cindex @code{d} debugger command (alias for @code{break})
+@cindex @code{d} debugger command (alias for @code{delete})
@item @code{delete} [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
@itemx @code{d} [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
Delete specified breakpoints or a range of breakpoints. Deletes
@@ -24955,7 +24991,7 @@ any argument, disables all breakpoints.
@cindex debugger commands, @code{e} (@code{enable})
@cindex debugger commands, @code{enable}
@cindex @code{enable} debugger command
-@cindex @code{e} debugger command (alias for @code{break})
+@cindex @code{e} debugger command (alias for @code{enable})
@item @code{enable} [@code{once} | @code{del}] [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
@itemx @code{e} [@code{once} | @code{del}] [@var{n1 n2} @dots{}] [@var{n}--@var{m}]
Enable specified breakpoints or a range of breakpoints. Without
@@ -27116,6 +27152,7 @@ at least the @samp{|&} operator.
@cindex search paths
@cindex @command{gawk}, OS/2 version of
@cindex @command{gawk}, MS-DOS version of
+@cindex @command{gawk}, MS-Windows version of
@cindex @code{;} (semicolon), @code{AWKPATH} variable and
@cindex semicolon (@code{;}), @code{AWKPATH} variable and
@cindex @code{AWKPATH} environment variable
@@ -27235,8 +27272,7 @@ moved into the @code{BEGIN} rule.
@node Cygwin
@appendixsubsubsec Using @command{gawk} In The Cygwin Environment
-@cindex Cygwin build of @command{gawk}
-@cindex using @command{gawk} on Cygwin
+@cindex compiling @command{gawk} for Cygwin
@command{gawk} can be built and used ``out of the box'' under MS-Windows
if you are using the @uref{http://www.cygwin.com, Cygwin environment}.
@@ -27280,7 +27316,8 @@ translation of @code{"\r\n"}, since it won't. Caveat Emptor!
@c based on material from Pat Rankin <rankin@eql.caltech.edu>
@c now rankin@pactechdata.com
-@cindex installation, vms
+@cindex @command{gawk}, VMS version of
+@cindex installation, VMS
This @value{SUBSECTION} describes how to compile and install @command{gawk} under VMS.
@menu
@@ -27293,6 +27330,7 @@ This @value{SUBSECTION} describes how to compile and install @command{gawk} unde
@node VMS Compilation
@appendixsubsubsec Compiling @command{gawk} on VMS
+@cindex compiling @command{gawk} for VMS
To compile @command{gawk} under VMS, there is a @code{DCL} command procedure that
issues all the necessary @code{CC} and @code{LINK} commands. There is
@@ -27602,7 +27640,7 @@ This @value{SECTION} briefly describes where to get them:
@table @asis
@cindex Kernighan, Brian
-@cindex source code, Bell Laboratories @command{awk}
+@cindex source code, Brian Kernighan's @command{awk}
@cindex @command{awk}, versions of, See Also Brian Kernighan's @command{awk}
@cindex extensions, Brian Kernighan's @command{awk}
@cindex Brian Kernighan's @command{awk}, extensions
@@ -27637,13 +27675,13 @@ for a list of extensions in this @command{awk} that are not in POSIX @command{aw
@cindex @command{mawk} program
@cindex source code, @command{mawk}
@item @command{mawk}
-Michael Brennan has written an independent implementation of @command{awk},
+Michael Brennan wrote an independent implementation of @command{awk},
called @command{mawk}. It is available under the GPL
(@pxref{Copying}),
just as @command{gawk} is.
The original distribution site for the @command{mawk} source code
-no longer has it. A copy has been made available at
+no longer has it. A copy is available at
@uref{http://www.skeeve.com/gawk/mawk1.3.3.tar.gz}.
In 2009, Thomas Dickey took on @command{mawk} maintenance.
@@ -27680,8 +27718,9 @@ To get @command{awka}, go to @url{http://sourceforge.net/projects/awka}.
The project seems to be frozen; no new code changes have been made
since approximately 2003.
-@cindex Beebe, Nelson H.F.@:
-@cindex @command{pawk} profiling Bell Labs @command{awk}
+@cindex Beebe, Nelson
+@cindex @command{pawk} profiling version of Brian Kernighan's @command{awk}
+@cindex source code, @command{pawk}
@item @command{pawk}
Nelson H.F.@: Beebe at the University of Utah has modified
the Bell Labs @command{awk} to provide timing and profiling information.
@@ -27695,6 +27734,7 @@ or
@cindex OpenSolaris
@cindex Solaris, POSIX compliant @command{awk}
+@cindex source code, Solaris @command{awk}
@item The OpenSolaris POSIX @command{awk}
The version of @command{awk} in @file{/usr/xpg4/bin} on Solaris is
more-or-less
@@ -27708,6 +27748,7 @@ has not been done, at least to our knowledge.
@cindex @command{jawk}
@cindex Java implementation of @command{awk}
+@cindex source code, @command{jawk}
@item @command{jawk}
This is an interpreter for @command{awk} written in Java. It claims
to be a full interpreter, although because it uses Java facilities
@@ -27717,6 +27758,7 @@ from POSIX @command{awk}. More information is available on the
@item @command{QTawk}
@cindex QuikTrim Awk
+@cindex source code, QuikTrim Awk
This is an independent implementation of @command{awk} distributed
under the GPL. It has a large number of extensions over standard
@command{awk} and may not be 100% syntactically compatible with it.
@@ -27725,11 +27767,13 @@ including the manual and a download link.
@item QSE Awk
@cindex QSE Awk
+@cindex source code, QSE Awk
This is an embeddable @command{awk} interpreter. For more information
see @uref{http://code.google.com/p/qse/} and @uref{http://awk.info/?tools/qse}.
@item Libmawk
-@cindex Libmawk
+@cindex libmawk
+@cindex source code, libmawk
This is an embeddable @command{awk} interpreter derived from
@command{mawk}. For more information see
@uref{http://repo.hu/projects/libmawk/}.
@@ -28377,6 +28421,7 @@ for examples.
@cindex @code{iop_alloc()} internal function
@cindex @code{get_record()} input method
@cindex @code{close_func}() input method
+@cindex @code{INVALID_HANDLE} internal constant
@cindex XML
@cindex @code{register_open_hook()} internal function
@item void register_open_hook(void *(*open_func)(IOBUF *))
@@ -29460,7 +29505,7 @@ value exactly.@footnote{Pathological cases can require up to
@node Unexpected Results
@appendixsubsec Floating Point Numbers Are Not Abstract Numbers
-@cindex floating-point
+@cindex floating-point, numbers
Unlike numbers in the abstract sense (such as what you studied in high school
or college math), numbers stored in computers are limited in certain ways.
They cannot represent an infinite number of digits, nor can they always
@@ -29790,9 +29835,11 @@ from the newer 1999 standard, as appropriate.
@item C++
A popular object-oriented programming language derived from C.
+@cindex ASCII
@cindex ISO 8859-1
@cindex ISO Latin-1
@cindex character sets (machine character encodings)
+@cindex Unicode
@item Character Set
The set of numeric codes used by a computer system to represent the
characters (letters, numbers, punctuation, etc.) of a particular country
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 2a9f92af..52f450b6 100644
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,3 +1,7 @@
+Wed Jan 12 21:45:55 2011 Arnold Robbins <arnold@skeeve.com>
+
+ * vms_conf.h: Add define for HAVE_STRCOLL.
+
Sat Nov 6 16:33:01 2010 Pat Rankin <rankin@pactechdata.com>
* redirect.h, vms.h: Drop use of P() macro in function prototypes.
diff --git a/vms/vms-conf.h b/vms/vms-conf.h
index 110c73f2..2a890760 100644
--- a/vms/vms-conf.h
+++ b/vms/vms-conf.h
@@ -564,6 +564,9 @@
*/
#define PIPES_SIMULATED 1
+/* Define to 1 if you have the `strcoll' function. */
+#define HAVE_STRCOLL 1
+
/*
* VAXCRTL is pre-ANSI and does some variations of numeric formatting
* differently than gawk expects.