aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2011-02-13 21:35:21 +0200
committerArnold D. Robbins <arnold@skeeve.com>2011-02-13 21:35:21 +0200
commit2861919e941c17a560a0d608da3de4ee1e08ac47 (patch)
treee3d3373f8fbedb3bd2d6415a245482efb1d6483c
parent32086b1f52a9978db1e8168b56a312e76afcf5ab (diff)
downloadegawk-2861919e941c17a560a0d608da3de4ee1e08ac47.tar.gz
egawk-2861919e941c17a560a0d608da3de4ee1e08ac47.tar.bz2
egawk-2861919e941c17a560a0d608da3de4ee1e08ac47.zip
More doc fixes.
-rw-r--r--awklib/eg/prog/cut.awk2
-rw-r--r--doc/gawk.info823
-rw-r--r--doc/gawk.texi78
3 files changed, 457 insertions, 446 deletions
diff --git a/awklib/eg/prog/cut.awk b/awklib/eg/prog/cut.awk
index 482ccd6e..91a13a4e 100644
--- a/awklib/eg/prog/cut.awk
+++ b/awklib/eg/prog/cut.awk
@@ -96,7 +96,7 @@ function set_charlist( field, i, j, f, g, t,
if (index(f[i], "-") != 0) { # range
m = split(f[i], g, "-")
if (m != 2 || g[1] >= g[2]) {
- printf("bad character list: %s\n",
+ printf("bad bracket expression: %s\n",
f[i]) > "/dev/stderr"
exit 1
}
diff --git a/doc/gawk.info b/doc/gawk.info
index 40abc71b..0744ca0f 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -3057,16 +3057,17 @@ sequences and that are not listed in the table stand for themselves:
may not be able to match the NUL character.
`[...]'
- This is called a "character list".(1) It matches any _one_ of the
- characters that are enclosed in the square brackets. For example,
- `[MVX]' matches any one of the characters `M', `V', or `X' in a
- string. A full discussion of what can be inside the square
- brackets of a character list is given in *note Character Lists::.
+ This is called a "bracket expression".(1) It matches any _one_ of
+ the characters that are enclosed in the square brackets. For
+ example, `[MVX]' matches any one of the characters `M', `V', or
+ `X' in a string. A full discussion of what can be inside the
+ square brackets of a bracket expression is given in *note
+ Character Lists::.
`[^ ...]'
- This is a "complemented character list". The first character after
- the `[' _must_ be a `^'. It matches any characters _except_ those
- in the square brackets. For example, `[^awk]' matches any
+ This is a "complemented bracket expression". The first character
+ after the `[' _must_ be a `^'. It matches any characters _except_
+ those in the square brackets. For example, `[^awk]' matches any
character that is not an `a', `w', or `k'.
`|'
@@ -3167,9 +3168,9 @@ expressions are not available in regular expressions.
---------- Footnotes ----------
- (1) In other literature, you may see a character list referred to as
-either a "character set", a "character class", or a "bracket
-expression".
+ (1) In other literature, you may see a bracket expression referred
+to as either a "character set", a "character class", or a "character
+list".
(2) Use two backslashes if you're using a string constant with a
regexp operator or function.
@@ -3180,7 +3181,7 @@ File: gawk.info, Node: Character Lists, Next: GNU Regexp Operators, Prev: Reg
3.4 Using Character Lists
=========================
-Within a character list, a "range expression" consists of two
+Within a bracket expression, a "range expression" consists of two
characters separated by a hyphen. It matches any single character that
sorts between the two characters, using the locale's collating sequence
and character set. For example, `[0-9]' is equivalent to
@@ -3190,15 +3191,15 @@ and character set. For example, `[0-9]' is equivalent to
usually does not work like you might expect, due to locale-related
issues. This is discussed more fully, in *note Locales::.
- To include one of the characters `\', `]', `-', or `^' in a
-character list, put a `\' in front of it. For example:
+ To include one of the characters `\', `]', `-', or `^' in a bracket
+expression, put a `\' in front of it. For example:
[d\]]
matches either `d' or `]'.
- This treatment of `\' in character lists is compatible with other
-`awk' implementations and is also mandated by POSIX. The regular
+ This treatment of `\' in bracket expressions is compatible with
+other `awk' implementations and is also mandated by POSIX. The regular
expressions in `awk' are a superset of the POSIX specification for
Extended Regular Expressions (EREs). POSIX EREs are based on the
regular expressions accepted by the traditional `egrep' utility.
@@ -3211,7 +3212,7 @@ set. For example, the notion of what is an alphabetic character
differs between the United States and France.
A character class is only valid in a regexp _inside_ the brackets of
-a character list. Character classes consist of `[:', a keyword
+a bracket expression. Character classes consist of `[:', a keyword
denoting the class, and `:]'. *note table-char-classes:: lists the
character classes defined by the POSIX standard.
@@ -3244,7 +3245,7 @@ not even match the ASCII alphanumeric characters. With the POSIX
character classes, you can write `/[[:alnum:]]/' to match the alphabetic
and numeric characters in your character set.
- Two additional special sequences can appear in character lists.
+ Two additional special sequences can appear in bracket expressions.
These apply to non-ASCII character sets, which can have single symbols
(called "collating elements") that are represented with more than one
character. They can also have several characters that are equivalent for
@@ -3409,7 +3410,7 @@ zero:
In general, you cannot use `IGNORECASE' to make certain rules
case-insensitive and other rules case-sensitive, because there is no
straightforward way to set `IGNORECASE' just for the pattern of a
-particular rule.(1) To do this, use either character lists or
+particular rule.(1) To do this, use either bracket expressions or
`tolower()'. However, one thing you can do with `IGNORECASE' only is
dynamically turn case-sensitivity on or off for all the rules at once.
@@ -3532,7 +3533,7 @@ Advanced Notes: Using `\n' in Character Lists of Dynamic Regexps
----------------------------------------------------------------
Some commercial versions of `awk' do not allow the newline character to
-be used inside a character list for a dynamic regexp:
+be used inside a bracket expression for a dynamic regexp:
$ awk '$0 ~ "[ \t\n]"'
error--> awk: newline in character class [
@@ -3620,7 +3621,7 @@ such as `[[:punct:]]'.)
case of `RS = "\n"', the locale is largely irrelevant. For other
single-character record separators, using `LC_ALL=C' will give you much
better performance when reading records. Otherwise, `gawk' has to make
-several function calls, _per input character_ to find the record
+several function calls, _per input character_, to find the record
terminator.
Finally, the locale affects the value of the decimal point character
@@ -6336,7 +6337,8 @@ close succeeds, or -1 if it fails.
The POSIX standard is very vague; it says that `close()' returns
zero on success and non-zero otherwise. In general, different
implementations vary in what they report when closing pipes; thus the
-return value cannot be used portably. (d.c.)
+return value cannot be used portably. (d.c.) In POSIX mode (*note
+Options::), `gawk' just returns zero when closing a pipe.
---------- Footnotes ----------
@@ -15929,7 +15931,7 @@ splitting:
The `set_charlist()' function is more complicated than
`set_fieldlist()'. The idea here is to use `gawk''s `FIELDWIDTHS'
variable (*note Constant Size::), which describes constant-width input.
-When using a character list, that is exactly what we have.
+When using a bracket expression, that is exactly what we have.
Setting up `FIELDWIDTHS' is more complicated than simply listing the
fields that need to be printed. We have to keep track of the fields to
@@ -15952,7 +15954,7 @@ filler fields:
if (index(f[i], "-") != 0) { # range
m = split(f[i], g, "-")
if (m != 2 || g[1] >= g[2]) {
- printf("bad character list: %s\n",
+ printf("bad bracket expression: %s\n",
f[i]) > "/dev/stderr"
exit 1
}
@@ -24304,12 +24306,12 @@ Index
* ' (single quote): One-shot. (line 15)
* ' (single quote), vs. apostrophe: Comments. (line 27)
* ' (single quote), with double quotes: Quoting. (line 53)
-* () (parentheses): Regexp Operators. (line 78)
+* () (parentheses): Regexp Operators. (line 79)
* () (parentheses), pgawk program: Profiling. (line 141)
* * (asterisk), * operator, as multiplication operator: Precedence.
(line 55)
* * (asterisk), * operator, as regexp operator: Regexp Operators.
- (line 86)
+ (line 87)
* * (asterisk), * operator, null strings, matching: Gory Details.
(line 96)
* * (asterisk), ** operator <1>: Precedence. (line 49)
@@ -24318,7 +24320,7 @@ Index
* * (asterisk), **= operator: Assignment Ops. (line 129)
* * (asterisk), *= operator <1>: Precedence. (line 95)
* * (asterisk), *= operator: Assignment Ops. (line 129)
-* + (plus sign): Regexp Operators. (line 101)
+* + (plus sign): Regexp Operators. (line 102)
* + (plus sign), + operator: Precedence. (line 52)
* + (plus sign), ++ (decrement/increment operators): Increment Ops.
(line 11)
@@ -24333,7 +24335,7 @@ Index
* - (hyphen), -= operator <1>: Precedence. (line 95)
* - (hyphen), -= operator: Assignment Ops. (line 129)
* - (hyphen), filenames beginning with: Options. (line 59)
-* - (hyphen), in character lists: Character Lists. (line 16)
+* - (hyphen), in bracket expressions: Character Lists. (line 16)
* --assign option: Options. (line 32)
* --c option: Options. (line 78)
* --characters-as-bytes option: Options. (line 68)
@@ -24455,7 +24457,7 @@ Index
* > (right angle bracket), >> operator (I/O): Redirection. (line 50)
* ? (question mark) regexp operator <1>: GNU Regexp Operators.
(line 59)
-* ? (question mark) regexp operator: Regexp Operators. (line 110)
+* ? (question mark) regexp operator: Regexp Operators. (line 111)
* ? (question mark), ?: operator: Precedence. (line 92)
* [] (square brackets): Regexp Operators. (line 55)
* \ (backslash) <1>: Regexp Operators. (line 18)
@@ -24503,7 +24505,7 @@ Index
(line 44)
* \ (backslash), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
-* \ (backslash), in character lists: Character Lists. (line 16)
+* \ (backslash), in bracket expressions: Character Lists. (line 16)
* \ (backslash), in escape sequences: Escape Sequences. (line 6)
* \ (backslash), in escape sequences, POSIX and: Escape Sequences.
(line 113)
@@ -24514,7 +24516,7 @@ Index
* ^ (caret), ^ operator: Precedence. (line 49)
* ^ (caret), ^= operator <1>: Precedence. (line 95)
* ^ (caret), ^= operator: Assignment Ops. (line 129)
-* ^ (caret), in character lists: Character Lists. (line 16)
+* ^ (caret), in bracket expressions: Character Lists. (line 16)
* ^, in FS: Regexp Field Splitting.
(line 59)
* _ (underscore), _ C macro: Explaining gettext. (line 70)
@@ -24641,7 +24643,7 @@ Index
* asterisk (*), * operator, as multiplication operator: Precedence.
(line 55)
* asterisk (*), * operator, as regexp operator: Regexp Operators.
- (line 86)
+ (line 87)
* asterisk (*), * operator, null strings, matching: Gory Details.
(line 96)
* asterisk (*), ** operator <1>: Precedence. (line 49)
@@ -24757,7 +24759,7 @@ Index
(line 44)
* backslash (\), gsub()/gensub()/sub() functions and: Gory Details.
(line 6)
-* backslash (\), in character lists: Character Lists. (line 16)
+* backslash (\), in bracket expressions: Character Lists. (line 16)
* backslash (\), in escape sequences: Escape Sequences. (line 6)
* backslash (\), in escape sequences, POSIX and: Escape Sequences.
(line 113)
@@ -24814,7 +24816,15 @@ Index
* braces ({}), actions and: Action Overview. (line 19)
* braces ({}), pgawk program: Profiling. (line 137)
* braces ({}), statements, grouping: Statements. (line 10)
-* bracket expressions, See character lists: Regexp Operators. (line 55)
+* bracket expressions <1>: Character Lists. (line 6)
+* bracket expressions: Regexp Operators. (line 55)
+* bracket expressions, character classes: Character Lists. (line 29)
+* bracket expressions, collating elements: Character Lists. (line 70)
+* bracket expressions, collating symbols: Character Lists. (line 77)
+* bracket expressions, complemented: Regexp Operators. (line 63)
+* bracket expressions, equivalence classes: Character Lists. (line 83)
+* bracket expressions, non-ASCII: Character Lists. (line 70)
+* bracket expressions, range expressions: Character Lists. (line 6)
* break debugger command: Breakpoint Control. (line 11)
* break statement: Break Statement. (line 6)
* Brennan, Michael <1>: Other Versions. (line 6)
@@ -24855,7 +24865,7 @@ Index
* caret (^), ^ operator: Precedence. (line 49)
* caret (^), ^= operator <1>: Precedence. (line 95)
* caret (^), ^= operator: Assignment Ops. (line 129)
-* caret (^), in character lists: Character Lists. (line 16)
+* caret (^), in bracket expressions: Character Lists. (line 16)
* case keyword: Switch Statement. (line 6)
* case sensitivity, array indices and: Array Intro. (line 92)
* case sensitivity, converting case: String Functions. (line 494)
@@ -24865,19 +24875,12 @@ 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 lists <1>: Character Lists. (line 6)
-* character lists: Regexp Operators. (line 55)
-* character lists, character classes: Character Lists. (line 29)
-* character lists, collating elements: Character Lists. (line 70)
-* character lists, collating symbols: Character Lists. (line 77)
-* character lists, complemented: Regexp Operators. (line 62)
-* 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 lists, See bracket expressions: Regexp Operators. (line 55)
* 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)
+* character sets, See Also bracket expressions: Regexp Operators.
+ (line 55)
* characters, counting: Wc Program. (line 6)
* characters, transliterating: Translate Program. (line 6)
* characters, values of as numbers: Ordinal Functions. (line 6)
@@ -25668,7 +25671,7 @@ Index
(line 13)
* gawk, interpreter, adding code to: Using Internal File Ops.
(line 6)
-* gawk, interval expressions and: Regexp Operators. (line 138)
+* gawk, interval expressions and: Regexp Operators. (line 139)
* gawk, line continuation in: Conditional Exp. (line 34)
* gawk, LINT variable in: User-modified. (line 98)
* gawk, list of contributors to: Contributors. (line 6)
@@ -25687,7 +25690,7 @@ Index
(line 26)
* gawk, regular expressions, operators: GNU Regexp Operators.
(line 6)
-* gawk, regular expressions, precedence: Regexp Operators. (line 156)
+* gawk, regular expressions, precedence: Regexp Operators. (line 157)
* gawk, RT variable in <1>: Auto-set. (line 195)
* gawk, RT variable in <2>: Getline/Variable/File.
(line 10)
@@ -25802,7 +25805,7 @@ Index
* hyphen (-), -= operator <1>: Precedence. (line 95)
* hyphen (-), -= operator: Assignment Ops. (line 129)
* hyphen (-), filenames beginning with: Options. (line 59)
-* hyphen (-), in character lists: Character Lists. (line 16)
+* hyphen (-), in bracket expressions: Character Lists. (line 16)
* i debugger command (alias for info): Dgawk Info. (line 12)
* id utility: Id Program. (line 6)
* id.awk program: Id Program. (line 30)
@@ -25916,7 +25919,7 @@ Index
* internationalizing a program: Explaining gettext. (line 6)
* interpreted programs <1>: Glossary. (line 356)
* interpreted programs: Basic High Level. (line 14)
-* interval expressions: Regexp Operators. (line 115)
+* interval expressions: Regexp Operators. (line 116)
* INVALID_HANDLE internal constant: Internals. (line 161)
* inventory-shipped file: Sample Data Files. (line 32)
* IOBUF internal structure: Internals. (line 161)
@@ -26256,7 +26259,7 @@ Index
* P1003.1 POSIX standard: Glossary. (line 438)
* P1003.2 POSIX standard: Glossary. (line 438)
* parameters, number of: Internals. (line 49)
-* parentheses (): Regexp Operators. (line 78)
+* parentheses (): Regexp Operators. (line 79)
* parentheses (), pgawk program: Profiling. (line 141)
* password file: Passwd Functions. (line 16)
* patsplit() function: String Functions. (line 264)
@@ -26290,7 +26293,7 @@ Index
* pipes, output: Redirection. (line 57)
* Pitts, Dave <1>: Bugs. (line 73)
* Pitts, Dave: Acknowledgments. (line 60)
-* plus sign (+): Regexp Operators. (line 101)
+* plus sign (+): Regexp Operators. (line 102)
* plus sign (+), + operator: Precedence. (line 52)
* plus sign (+), ++ (decrement/increment operators): Increment Ops.
(line 11)
@@ -26348,11 +26351,11 @@ Index
* POSIX awk, backslashes in string constants: Escape Sequences.
(line 113)
* POSIX awk, BEGIN/END patterns: I/O And BEGIN/END. (line 16)
+* POSIX awk, bracket expressions and: Character Lists. (line 23)
+* POSIX awk, bracket expressions and, character classes: Character Lists.
+ (line 29)
* POSIX awk, break statement and: Break Statement. (line 51)
* POSIX awk, changes in awk versions: POSIX. (line 6)
-* POSIX awk, character lists and: Character Lists. (line 23)
-* POSIX awk, character lists and, character classes: Character Lists.
- (line 29)
* POSIX awk, continue statement and: Continue Statement. (line 43)
* POSIX awk, CONVFMT variable and: User-modified. (line 28)
* POSIX awk, date utility and: Time Functions. (line 261)
@@ -26363,14 +26366,14 @@ Index
* POSIX awk, function keyword in: Definition Syntax. (line 78)
* POSIX awk, functions and, length(): String Functions. (line 146)
* POSIX awk, GNU long options and: Options. (line 15)
-* POSIX awk, interval expressions in: Regexp Operators. (line 134)
+* POSIX awk, interval expressions in: Regexp Operators. (line 135)
* POSIX awk, next/nextfile statements and: Next Statement. (line 45)
* POSIX awk, numeric strings and: Variable Typing. (line 6)
* POSIX awk, OFMT variable and <1>: Conversion. (line 54)
* POSIX awk, OFMT variable and: OFMT. (line 27)
* POSIX awk, period (.), using: Regexp Operators. (line 50)
* POSIX awk, printf format strings and: Format Modifiers. (line 159)
-* POSIX awk, regular expressions and: Regexp Operators. (line 156)
+* POSIX awk, regular expressions and: Regexp Operators. (line 157)
* POSIX awk, timestamps and: Time Functions. (line 6)
* POSIX awk, | I/O operator and: Getline/Pipe. (line 52)
* POSIX mode: Options. (line 197)
@@ -26380,7 +26383,7 @@ Index
* POSIXLY_CORRECT environment variable: Options. (line 286)
* precedence <1>: Precedence. (line 6)
* precedence: Increment Ops. (line 61)
-* precedence, regexp operators: Regexp Operators. (line 151)
+* precedence, regexp operators: Regexp Operators. (line 152)
* print debugger command: Viewing And Changing Data.
(line 36)
* print statement: Printing. (line 16)
@@ -26457,7 +26460,7 @@ Index
* QSE Awk: Other Versions. (line 108)
* question mark (?) regexp operator <1>: GNU Regexp Operators.
(line 59)
-* question mark (?) regexp operator: Regexp Operators. (line 110)
+* question mark (?) regexp operator: Regexp Operators. (line 111)
* question mark (?), ?: operator: Precedence. (line 92)
* QuikTrim Awk: Other Versions. (line 112)
* quit debugger command: Miscellaneous Dgawk Commands.
@@ -26545,7 +26548,7 @@ Index
* regular expressions, operators, gawk: GNU Regexp Operators.
(line 6)
* regular expressions, operators, precedence of: Regexp Operators.
- (line 151)
+ (line 152)
* regular expressions, searching for: Egrep Program. (line 6)
* relational operators, See comparison operators: Typing and Comparison.
(line 9)
@@ -26956,7 +26959,7 @@ Index
* variables, uninitialized, as array subscripts: Uninitialized Subscripts.
(line 6)
* variables, user-defined: Variables. (line 6)
-* vertical bar (|): Regexp Operators. (line 68)
+* vertical bar (|): Regexp Operators. (line 69)
* vertical bar (|), | operator (I/O) <1>: Precedence. (line 65)
* vertical bar (|), | operator (I/O): Getline/Pipe. (line 6)
* vertical bar (|), |& operator (I/O) <1>: Two-way I/O. (line 44)
@@ -27014,7 +27017,7 @@ Index
* {} (braces), actions and: Action Overview. (line 19)
* {} (braces), pgawk program: Profiling. (line 137)
* {} (braces), statements, grouping: Statements. (line 10)
-* | (vertical bar): Regexp Operators. (line 68)
+* | (vertical bar): Regexp Operators. (line 69)
* | (vertical bar), | operator (I/O) <1>: Precedence. (line 65)
* | (vertical bar), | operator (I/O) <2>: Redirection. (line 57)
* | (vertical bar), | operator (I/O): Getline/Pipe. (line 6)
@@ -27094,354 +27097,354 @@ Node: Regexp125916
Node: Regexp Usage127368
Node: Escape Sequences129394
Node: Regexp Operators135137
-Ref: Regexp Operators-Footnote-1142309
-Ref: Regexp Operators-Footnote-2142456
-Node: Character Lists142554
-Ref: table-char-classes144329
-Node: GNU Regexp Operators146969
-Node: Case-sensitivity150688
-Ref: Case-sensitivity-Footnote-1153643
-Ref: Case-sensitivity-Footnote-2153878
-Node: Leftmost Longest153986
-Node: Computed Regexps155187
-Node: Locales158604
-Node: Reading Files162145
-Node: Records164086
-Ref: Records-Footnote-1172765
-Node: Fields172802
-Ref: Fields-Footnote-1175834
-Node: Nonconstant Fields175920
-Node: Changing Fields178122
-Node: Field Separators183412
-Node: Default Field Splitting186041
-Node: Regexp Field Splitting187158
-Node: Single Character Fields190517
-Node: Command Line Field Separator191576
-Node: Field Splitting Summary195015
-Ref: Field Splitting Summary-Footnote-1198201
-Node: Constant Size198302
-Node: Splitting By Content202864
-Ref: Splitting By Content-Footnote-1206590
-Node: Multiple Line206630
-Ref: Multiple Line-Footnote-1212477
-Node: Getline212656
-Node: Plain Getline214884
-Node: Getline/Variable216973
-Node: Getline/File218114
-Node: Getline/Variable/File219436
-Ref: Getline/Variable/File-Footnote-1221035
-Node: Getline/Pipe221122
-Node: Getline/Variable/Pipe223670
-Node: Getline/Coprocess224777
-Node: Getline/Variable/Coprocess226020
-Node: Getline Notes226734
-Node: Getline Summary228676
-Ref: table-getline-variants228960
-Node: Command line directories229865
-Node: Printing230490
-Node: Print232121
-Node: Print Examples233458
-Node: Output Separators236242
-Node: OFMT238001
-Node: Printf239359
-Node: Basic Printf240265
-Node: Control Letters241802
-Node: Format Modifiers245614
-Node: Printf Examples251625
-Node: Redirection254340
-Node: Special Files261318
-Node: Special FD261851
-Ref: Special FD-Footnote-1265462
-Node: Special Network265536
-Node: Special Caveats266391
-Node: Close Files And Pipes267185
-Ref: Close Files And Pipes-Footnote-1274129
-Ref: Close Files And Pipes-Footnote-2274277
-Node: Expressions274427
-Node: Values275496
-Node: Constants276172
-Node: Scalar Constants276852
-Ref: Scalar Constants-Footnote-1277711
-Node: Nondecimal-numbers277893
-Node: Regexp Constants280952
-Node: Using Constant Regexps281427
-Node: Variables284432
-Node: Using Variables285087
-Node: Assignment Options286814
-Node: Conversion288695
-Ref: table-locale-affects294069
-Ref: Conversion-Footnote-1294693
-Node: All Operators294802
-Node: Arithmetic Ops295432
-Node: Concatenation297938
-Ref: Concatenation-Footnote-1300731
-Node: Assignment Ops300850
-Ref: table-assign-ops305838
-Node: Increment Ops307246
-Node: Truth Values and Conditions310724
-Node: Truth Values311807
-Node: Typing and Comparison312855
-Node: Variable Typing313644
-Ref: Variable Typing-Footnote-1317541
-Node: Comparison Operators317663
-Ref: table-relational-ops318073
-Node: POSIX String Comparison321622
-Ref: POSIX String Comparison-Footnote-1322579
-Node: Boolean Ops322717
-Ref: Boolean Ops-Footnote-1326795
-Node: Conditional Exp326886
-Node: Function Calls328618
-Node: Precedence332208
-Node: Patterns and Actions335861
-Node: Pattern Overview336915
-Node: Regexp Patterns338581
-Node: Expression Patterns339124
-Node: Ranges342698
-Node: BEGIN/END345664
-Node: Using BEGIN/END346414
-Ref: Using BEGIN/END-Footnote-1349145
-Node: I/O And BEGIN/END349259
-Node: Empty351528
-Node: BEGINFILE/ENDFILE351862
-Node: Using Shell Variables354686
-Node: Action Overview356965
-Node: Statements359322
-Node: If Statement361181
-Node: While Statement362680
-Node: Do Statement364724
-Node: For Statement365880
-Node: Switch Statement369032
-Node: Break Statement371129
-Node: Continue Statement373105
-Node: Next Statement374806
-Node: Nextfile Statement377188
-Node: Exit Statement379713
-Node: Built-in Variables382044
-Node: User-modified383139
-Ref: User-modified-Footnote-1391140
-Node: Auto-set391202
-Ref: Auto-set-Footnote-1400466
-Node: ARGC and ARGV400671
-Node: Arrays404430
-Node: Array Basics406001
-Node: Array Intro406712
-Node: Reference to Elements411030
-Node: Assigning Elements413300
-Node: Array Example413791
-Node: Scanning an Array415523
-Node: Delete418971
-Ref: Delete-Footnote-1421402
-Node: Numeric Array Subscripts421459
-Node: Uninitialized Subscripts423642
-Node: Multi-dimensional425270
-Node: Multi-scanning428361
-Node: Array Sorting429945
-Ref: Array Sorting-Footnote-1433143
-Node: Arrays of Arrays433337
-Node: Functions437876
-Node: Built-in438698
-Node: Calling Built-in439776
-Node: Numeric Functions441752
-Ref: Numeric Functions-Footnote-1445509
-Ref: Numeric Functions-Footnote-2445845
-Ref: Numeric Functions-Footnote-3445893
-Node: String Functions446162
-Ref: String Functions-Footnote-1467968
-Ref: String Functions-Footnote-2468097
-Ref: String Functions-Footnote-3468345
-Node: Gory Details468432
-Ref: table-sub-escapes470089
-Ref: table-posix-sub471403
-Ref: table-gensub-escapes472303
-Node: I/O Functions473474
-Ref: I/O Functions-Footnote-1480169
-Node: Time Functions480316
-Ref: Time Functions-Footnote-1491183
-Ref: Time Functions-Footnote-2491251
-Ref: Time Functions-Footnote-3491409
-Ref: Time Functions-Footnote-4491520
-Ref: Time Functions-Footnote-5491632
-Ref: Time Functions-Footnote-6491859
-Node: Bitwise Functions492125
-Ref: table-bitwise-ops492683
-Ref: Bitwise Functions-Footnote-1496843
-Node: Type Functions497027
-Node: I18N Functions497465
-Node: User-defined499092
-Node: Definition Syntax499896
-Ref: Definition Syntax-Footnote-1504533
-Node: Function Example504602
-Node: Function Caveats507196
-Node: Calling A Function507617
-Node: Variable Scope508732
-Node: Pass By Value/Reference510660
-Node: Return Statement514100
-Node: Dynamic Typing517042
-Node: Indirect Calls517779
-Node: Internationalization527461
-Node: I18N and L10N528889
-Node: Explaining gettext529575
-Ref: Explaining gettext-Footnote-1534637
-Ref: Explaining gettext-Footnote-2534820
-Node: Programmer i18n534985
-Node: Translator i18n539276
-Node: String Extraction540069
-Ref: String Extraction-Footnote-1541030
-Node: Printf Ordering541116
-Ref: Printf Ordering-Footnote-1543900
-Node: I18N Portability543964
-Ref: I18N Portability-Footnote-1546413
-Node: I18N Example546476
-Ref: I18N Example-Footnote-1549111
-Node: Gawk I18N549183
-Node: Advanced Features549800
-Node: Nondecimal Data551119
-Node: Two-way I/O552700
-Ref: Two-way I/O-Footnote-1558114
-Node: TCP/IP Networking558191
-Node: Profiling561034
-Node: Library Functions568434
-Ref: Library Functions-Footnote-1571473
-Node: Library Names571644
-Ref: Library Names-Footnote-1575115
-Ref: Library Names-Footnote-2575335
-Node: General Functions575421
-Node: Nextfile Function576484
-Node: Strtonum Function580865
-Node: Assert Function583816
-Node: Round Function587142
-Node: Cliff Random Function588683
-Node: Ordinal Functions589699
-Ref: Ordinal Functions-Footnote-1592769
-Ref: Ordinal Functions-Footnote-2593021
-Node: Join Function593237
-Ref: Join Function-Footnote-1595008
-Node: Gettimeofday Function595208
-Node: Data File Management598923
-Node: Filetrans Function599555
-Node: Rewind Function603792
-Node: File Checking605245
-Node: Empty Files606339
-Node: Ignoring Assigns608569
-Node: Getopt Function610122
-Ref: Getopt Function-Footnote-1621447
-Node: Passwd Functions621650
-Ref: Passwd Functions-Footnote-1630637
-Node: Group Functions630725
-Node: Walking Arrays638827
-Node: Sample Programs640393
-Node: Running Examples641058
-Node: Clones641786
-Node: Cut Program642909
-Node: Egrep Program652750
-Ref: Egrep Program-Footnote-1660521
-Node: Id Program660631
-Node: Split Program664247
-Ref: Split Program-Footnote-1667766
-Node: Tee Program667894
-Node: Uniq Program670697
-Node: Wc Program678120
-Ref: Wc Program-Footnote-1682384
-Node: Miscellaneous Programs682584
-Node: Dupword Program683772
-Node: Alarm Program685803
-Node: Translate Program690525
-Ref: Translate Program-Footnote-1694904
-Ref: Translate Program-Footnote-2695132
-Node: Labels Program695266
-Ref: Labels Program-Footnote-1698637
-Node: Word Sorting698721
-Node: History Sorting703066
-Node: Extract Program704904
-Ref: Extract Program-Footnote-1712385
-Node: Simple Sed712513
-Node: Igawk Program715575
-Ref: Igawk Program-Footnote-1730607
-Ref: Igawk Program-Footnote-2730808
-Node: Anagram Program730946
-Node: Signature Program734044
-Node: Debugger735147
-Node: Debugging736058
-Node: Debugging Concepts736372
-Node: Debugging Terms738228
-Node: Awk Debugging740773
-Node: Sample dgawk session741665
-Node: dgawk invocation742157
-Node: Finding The Bug743339
-Node: List of Debugger Commands749824
-Node: Breakpoint Control751135
-Node: Dgawk Execution Control754611
-Node: Viewing And Changing Data757962
-Node: Dgawk Stack761271
-Node: Dgawk Info762731
-Node: Miscellaneous Dgawk Commands766679
-Node: Readline Support772107
-Node: Dgawk Limitations772934
-Node: Language History775073
-Node: V7/SVR3.1776505
-Node: SVR4778800
-Node: POSIX780242
-Node: BTL781240
-Node: POSIX/GNU781974
-Node: Common Extensions787160
-Node: Contributors788294
-Node: Installation792329
-Node: Gawk Distribution793223
-Node: Getting793707
-Node: Extracting794533
-Node: Distribution contents796211
-Node: Unix Installation801229
-Node: Quick Installation801846
-Node: Additional Configuration Options803808
-Node: Configuration Philosophy805285
-Node: Non-Unix Installation807627
-Node: PC Installation808085
-Node: PC Binary Installation809384
-Node: PC Compiling811232
-Node: PC Testing814176
-Node: PC Using815352
-Node: Cygwin819537
-Node: MSYS820534
-Node: VMS Installation821048
-Node: VMS Compilation821654
-Ref: VMS Compilation-Footnote-1822661
-Node: VMS Installation Details822719
-Node: VMS Running824354
-Node: VMS Old Gawk825954
-Node: Bugs826428
-Node: Other Versions830293
-Node: Notes835572
-Node: Compatibility Mode836264
-Node: Additions837047
-Node: Accessing The Source837859
-Node: Adding Code839282
-Node: New Ports844830
-Node: Dynamic Extensions848943
-Node: Internals850319
-Node: Plugin License859435
-Node: Sample Library860069
-Node: Internal File Description860755
-Node: Internal File Ops864462
-Ref: Internal File Ops-Footnote-1869230
-Node: Using Internal File Ops869378
-Node: Future Extensions871755
-Node: Basic Concepts874259
-Node: Basic High Level875016
-Ref: Basic High Level-Footnote-1879051
-Node: Basic Data Typing879236
-Node: Floating Point Issues883761
-Node: String Conversion Precision884844
-Ref: String Conversion Precision-Footnote-1886538
-Node: Unexpected Results886647
-Node: POSIX Floating Point Problems888473
-Ref: POSIX Floating Point Problems-Footnote-1892175
-Node: Glossary892213
-Node: Copying916312
-Node: GNU Free Documentation License953869
-Node: next-edition979013
-Node: unresolved979365
-Node: revision979865
-Node: consistency980288
-Node: Index983787
+Ref: Regexp Operators-Footnote-1142326
+Ref: Regexp Operators-Footnote-2142473
+Node: Character Lists142571
+Ref: table-char-classes144362
+Node: GNU Regexp Operators147006
+Node: Case-sensitivity150725
+Ref: Case-sensitivity-Footnote-1153684
+Ref: Case-sensitivity-Footnote-2153919
+Node: Leftmost Longest154027
+Node: Computed Regexps155228
+Node: Locales158649
+Node: Reading Files162191
+Node: Records164132
+Ref: Records-Footnote-1172811
+Node: Fields172848
+Ref: Fields-Footnote-1175880
+Node: Nonconstant Fields175966
+Node: Changing Fields178168
+Node: Field Separators183458
+Node: Default Field Splitting186087
+Node: Regexp Field Splitting187204
+Node: Single Character Fields190563
+Node: Command Line Field Separator191622
+Node: Field Splitting Summary195061
+Ref: Field Splitting Summary-Footnote-1198247
+Node: Constant Size198348
+Node: Splitting By Content202910
+Ref: Splitting By Content-Footnote-1206636
+Node: Multiple Line206676
+Ref: Multiple Line-Footnote-1212523
+Node: Getline212702
+Node: Plain Getline214930
+Node: Getline/Variable217019
+Node: Getline/File218160
+Node: Getline/Variable/File219482
+Ref: Getline/Variable/File-Footnote-1221081
+Node: Getline/Pipe221168
+Node: Getline/Variable/Pipe223716
+Node: Getline/Coprocess224823
+Node: Getline/Variable/Coprocess226066
+Node: Getline Notes226780
+Node: Getline Summary228722
+Ref: table-getline-variants229006
+Node: Command line directories229911
+Node: Printing230536
+Node: Print232167
+Node: Print Examples233504
+Node: Output Separators236288
+Node: OFMT238047
+Node: Printf239405
+Node: Basic Printf240311
+Node: Control Letters241848
+Node: Format Modifiers245660
+Node: Printf Examples251671
+Node: Redirection254386
+Node: Special Files261364
+Node: Special FD261897
+Ref: Special FD-Footnote-1265508
+Node: Special Network265582
+Node: Special Caveats266437
+Node: Close Files And Pipes267231
+Ref: Close Files And Pipes-Footnote-1274255
+Ref: Close Files And Pipes-Footnote-2274403
+Node: Expressions274553
+Node: Values275622
+Node: Constants276298
+Node: Scalar Constants276978
+Ref: Scalar Constants-Footnote-1277837
+Node: Nondecimal-numbers278019
+Node: Regexp Constants281078
+Node: Using Constant Regexps281553
+Node: Variables284558
+Node: Using Variables285213
+Node: Assignment Options286940
+Node: Conversion288821
+Ref: table-locale-affects294195
+Ref: Conversion-Footnote-1294819
+Node: All Operators294928
+Node: Arithmetic Ops295558
+Node: Concatenation298064
+Ref: Concatenation-Footnote-1300857
+Node: Assignment Ops300976
+Ref: table-assign-ops305964
+Node: Increment Ops307372
+Node: Truth Values and Conditions310850
+Node: Truth Values311933
+Node: Typing and Comparison312981
+Node: Variable Typing313770
+Ref: Variable Typing-Footnote-1317667
+Node: Comparison Operators317789
+Ref: table-relational-ops318199
+Node: POSIX String Comparison321748
+Ref: POSIX String Comparison-Footnote-1322705
+Node: Boolean Ops322843
+Ref: Boolean Ops-Footnote-1326921
+Node: Conditional Exp327012
+Node: Function Calls328744
+Node: Precedence332334
+Node: Patterns and Actions335987
+Node: Pattern Overview337041
+Node: Regexp Patterns338707
+Node: Expression Patterns339250
+Node: Ranges342824
+Node: BEGIN/END345790
+Node: Using BEGIN/END346540
+Ref: Using BEGIN/END-Footnote-1349271
+Node: I/O And BEGIN/END349385
+Node: Empty351654
+Node: BEGINFILE/ENDFILE351988
+Node: Using Shell Variables354812
+Node: Action Overview357091
+Node: Statements359448
+Node: If Statement361307
+Node: While Statement362806
+Node: Do Statement364850
+Node: For Statement366006
+Node: Switch Statement369158
+Node: Break Statement371255
+Node: Continue Statement373231
+Node: Next Statement374932
+Node: Nextfile Statement377314
+Node: Exit Statement379839
+Node: Built-in Variables382170
+Node: User-modified383265
+Ref: User-modified-Footnote-1391266
+Node: Auto-set391328
+Ref: Auto-set-Footnote-1400592
+Node: ARGC and ARGV400797
+Node: Arrays404556
+Node: Array Basics406127
+Node: Array Intro406838
+Node: Reference to Elements411156
+Node: Assigning Elements413426
+Node: Array Example413917
+Node: Scanning an Array415649
+Node: Delete419097
+Ref: Delete-Footnote-1421528
+Node: Numeric Array Subscripts421585
+Node: Uninitialized Subscripts423768
+Node: Multi-dimensional425396
+Node: Multi-scanning428487
+Node: Array Sorting430071
+Ref: Array Sorting-Footnote-1433269
+Node: Arrays of Arrays433463
+Node: Functions438002
+Node: Built-in438824
+Node: Calling Built-in439902
+Node: Numeric Functions441878
+Ref: Numeric Functions-Footnote-1445635
+Ref: Numeric Functions-Footnote-2445971
+Ref: Numeric Functions-Footnote-3446019
+Node: String Functions446288
+Ref: String Functions-Footnote-1468094
+Ref: String Functions-Footnote-2468223
+Ref: String Functions-Footnote-3468471
+Node: Gory Details468558
+Ref: table-sub-escapes470215
+Ref: table-posix-sub471529
+Ref: table-gensub-escapes472429
+Node: I/O Functions473600
+Ref: I/O Functions-Footnote-1480295
+Node: Time Functions480442
+Ref: Time Functions-Footnote-1491309
+Ref: Time Functions-Footnote-2491377
+Ref: Time Functions-Footnote-3491535
+Ref: Time Functions-Footnote-4491646
+Ref: Time Functions-Footnote-5491758
+Ref: Time Functions-Footnote-6491985
+Node: Bitwise Functions492251
+Ref: table-bitwise-ops492809
+Ref: Bitwise Functions-Footnote-1496969
+Node: Type Functions497153
+Node: I18N Functions497591
+Node: User-defined499218
+Node: Definition Syntax500022
+Ref: Definition Syntax-Footnote-1504659
+Node: Function Example504728
+Node: Function Caveats507322
+Node: Calling A Function507743
+Node: Variable Scope508858
+Node: Pass By Value/Reference510786
+Node: Return Statement514226
+Node: Dynamic Typing517168
+Node: Indirect Calls517905
+Node: Internationalization527587
+Node: I18N and L10N529015
+Node: Explaining gettext529701
+Ref: Explaining gettext-Footnote-1534763
+Ref: Explaining gettext-Footnote-2534946
+Node: Programmer i18n535111
+Node: Translator i18n539402
+Node: String Extraction540195
+Ref: String Extraction-Footnote-1541156
+Node: Printf Ordering541242
+Ref: Printf Ordering-Footnote-1544026
+Node: I18N Portability544090
+Ref: I18N Portability-Footnote-1546539
+Node: I18N Example546602
+Ref: I18N Example-Footnote-1549237
+Node: Gawk I18N549309
+Node: Advanced Features549926
+Node: Nondecimal Data551245
+Node: Two-way I/O552826
+Ref: Two-way I/O-Footnote-1558240
+Node: TCP/IP Networking558317
+Node: Profiling561160
+Node: Library Functions568560
+Ref: Library Functions-Footnote-1571599
+Node: Library Names571770
+Ref: Library Names-Footnote-1575241
+Ref: Library Names-Footnote-2575461
+Node: General Functions575547
+Node: Nextfile Function576610
+Node: Strtonum Function580991
+Node: Assert Function583942
+Node: Round Function587268
+Node: Cliff Random Function588809
+Node: Ordinal Functions589825
+Ref: Ordinal Functions-Footnote-1592895
+Ref: Ordinal Functions-Footnote-2593147
+Node: Join Function593363
+Ref: Join Function-Footnote-1595134
+Node: Gettimeofday Function595334
+Node: Data File Management599049
+Node: Filetrans Function599681
+Node: Rewind Function603918
+Node: File Checking605371
+Node: Empty Files606465
+Node: Ignoring Assigns608695
+Node: Getopt Function610248
+Ref: Getopt Function-Footnote-1621573
+Node: Passwd Functions621776
+Ref: Passwd Functions-Footnote-1630763
+Node: Group Functions630851
+Node: Walking Arrays638953
+Node: Sample Programs640519
+Node: Running Examples641184
+Node: Clones641912
+Node: Cut Program643035
+Node: Egrep Program652884
+Ref: Egrep Program-Footnote-1660655
+Node: Id Program660765
+Node: Split Program664381
+Ref: Split Program-Footnote-1667900
+Node: Tee Program668028
+Node: Uniq Program670831
+Node: Wc Program678254
+Ref: Wc Program-Footnote-1682518
+Node: Miscellaneous Programs682718
+Node: Dupword Program683906
+Node: Alarm Program685937
+Node: Translate Program690659
+Ref: Translate Program-Footnote-1695038
+Ref: Translate Program-Footnote-2695266
+Node: Labels Program695400
+Ref: Labels Program-Footnote-1698771
+Node: Word Sorting698855
+Node: History Sorting703200
+Node: Extract Program705038
+Ref: Extract Program-Footnote-1712519
+Node: Simple Sed712647
+Node: Igawk Program715709
+Ref: Igawk Program-Footnote-1730741
+Ref: Igawk Program-Footnote-2730942
+Node: Anagram Program731080
+Node: Signature Program734178
+Node: Debugger735281
+Node: Debugging736192
+Node: Debugging Concepts736506
+Node: Debugging Terms738362
+Node: Awk Debugging740907
+Node: Sample dgawk session741799
+Node: dgawk invocation742291
+Node: Finding The Bug743473
+Node: List of Debugger Commands749958
+Node: Breakpoint Control751269
+Node: Dgawk Execution Control754745
+Node: Viewing And Changing Data758096
+Node: Dgawk Stack761405
+Node: Dgawk Info762865
+Node: Miscellaneous Dgawk Commands766813
+Node: Readline Support772241
+Node: Dgawk Limitations773068
+Node: Language History775207
+Node: V7/SVR3.1776639
+Node: SVR4778934
+Node: POSIX780376
+Node: BTL781374
+Node: POSIX/GNU782108
+Node: Common Extensions787294
+Node: Contributors788428
+Node: Installation792463
+Node: Gawk Distribution793357
+Node: Getting793841
+Node: Extracting794667
+Node: Distribution contents796345
+Node: Unix Installation801363
+Node: Quick Installation801980
+Node: Additional Configuration Options803942
+Node: Configuration Philosophy805419
+Node: Non-Unix Installation807761
+Node: PC Installation808219
+Node: PC Binary Installation809518
+Node: PC Compiling811366
+Node: PC Testing814310
+Node: PC Using815486
+Node: Cygwin819671
+Node: MSYS820668
+Node: VMS Installation821182
+Node: VMS Compilation821788
+Ref: VMS Compilation-Footnote-1822795
+Node: VMS Installation Details822853
+Node: VMS Running824488
+Node: VMS Old Gawk826088
+Node: Bugs826562
+Node: Other Versions830427
+Node: Notes835706
+Node: Compatibility Mode836398
+Node: Additions837181
+Node: Accessing The Source837993
+Node: Adding Code839416
+Node: New Ports844964
+Node: Dynamic Extensions849077
+Node: Internals850453
+Node: Plugin License859569
+Node: Sample Library860203
+Node: Internal File Description860889
+Node: Internal File Ops864596
+Ref: Internal File Ops-Footnote-1869364
+Node: Using Internal File Ops869512
+Node: Future Extensions871889
+Node: Basic Concepts874393
+Node: Basic High Level875150
+Ref: Basic High Level-Footnote-1879185
+Node: Basic Data Typing879370
+Node: Floating Point Issues883895
+Node: String Conversion Precision884978
+Ref: String Conversion Precision-Footnote-1886672
+Node: Unexpected Results886781
+Node: POSIX Floating Point Problems888607
+Ref: POSIX Floating Point Problems-Footnote-1892309
+Node: Glossary892347
+Node: Copying916446
+Node: GNU Free Documentation License954003
+Node: next-edition979147
+Node: unresolved979499
+Node: revision979999
+Node: consistency980422
+Node: Index983921

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 19f5d3d5..7f3c3d91 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -4327,23 +4327,23 @@ may not be able to match the @sc{nul} character.
@cindex @code{[]} (square brackets)
@cindex square brackets (@code{[]})
-@cindex character lists
-@cindex character sets, See Also character lists
-@cindex bracket expressions, See character lists
+@cindex bracket expressions
+@cindex character sets, See Also bracket expressions
+@cindex character lists, See bracket expressions
@item [@dots{}]
-This is called a @dfn{character list}.@footnote{In other literature,
-you may see a character list referred to as either a
-@dfn{character set}, a @dfn{character class}, or a @dfn{bracket expression}.}
+This is called a @dfn{bracket expression}.@footnote{In other literature,
+you may see a bracket expression referred to as either a
+@dfn{character set}, a @dfn{character class}, or a @dfn{character list}.}
It matches any @emph{one} of the characters that are enclosed in
the square brackets. For example, @samp{[MVX]} matches any one of
the characters @samp{M}, @samp{V}, or @samp{X} in a string. A full
-discussion of what can be inside the square brackets of a character list
+discussion of what can be inside the square brackets of a bracket expression
is given in
@ref{Character Lists}.
-@cindex character lists, complemented
+@cindex bracket expressions, complemented
@item [^ @dots{}]
-This is a @dfn{complemented character list}. The first character after
+This is a @dfn{complemented bracket expression}. The first character after
the @samp{[} @emph{must} be a @samp{^}. It matches any characters
@emph{except} those in the square brackets. For example, @samp{[^awk]}
matches any character that is not an @samp{a}, @samp{w},
@@ -4483,11 +4483,11 @@ regular expressions.
@node Character Lists
@section Using Character Lists
@c STARTOFRANGE charlist
-@cindex character lists
-@cindex character lists, range expressions
+@cindex bracket expressions
+@cindex bracket expressions, range expressions
@cindex range expressions (regexps)
-Within a character list, a @dfn{range expression} consists of two
+Within a bracket expression, a @dfn{range expression} consists of two
characters separated by a hyphen. It matches any single character that
sorts between the two characters, using the locale's
collating sequence and character set.
@@ -4497,14 +4497,14 @@ Unfortunately, providing simple character ranges such as @samp{[a-z]}
usually does not work like you might expect, due to locale-related issues.
This is discussed more fully, in @ref{Locales}.
-@cindex @code{\} (backslash), in character lists
-@cindex backslash (@code{\}), in character lists
-@cindex @code{^} (caret), in character lists
-@cindex caret (@code{^}), in character lists
-@cindex @code{-} (hyphen), in character lists
-@cindex hyphen (@code{-}), in character lists
+@cindex @code{\} (backslash), in bracket expressions
+@cindex backslash (@code{\}), in bracket expressions
+@cindex @code{^} (caret), in bracket expressions
+@cindex caret (@code{^}), in bracket expressions
+@cindex @code{-} (hyphen), in bracket expressions
+@cindex hyphen (@code{-}), in bracket expressions
To include one of the characters @samp{\}, @samp{]}, @samp{-}, or @samp{^} in a
-character list, put a @samp{\} in front of it. For example:
+bracket expression, put a @samp{\} in front of it. For example:
@example
[d\]]
@@ -4513,11 +4513,11 @@ character list, put a @samp{\} in front of it. For example:
@noindent
matches either @samp{d} or @samp{]}.
-@cindex POSIX @command{awk}, character lists and
+@cindex POSIX @command{awk}, bracket expressions and
@cindex Extended Regular Expressions (EREs)
@cindex EREs (Extended Regular Expressions)
@cindex @command{egrep} utility
-This treatment of @samp{\} in character lists
+This treatment of @samp{\} in bracket expressions
is compatible with other @command{awk}
implementations and is also mandated by POSIX.
The regular expressions in @command{awk} are a superset
@@ -4525,8 +4525,8 @@ of the POSIX specification for Extended Regular Expressions (EREs).
POSIX EREs are based on the regular expressions accepted by the
traditional @command{egrep} utility.
-@cindex character lists, character classes
-@cindex POSIX @command{awk}, character lists and, character classes
+@cindex bracket expressions, character classes
+@cindex POSIX @command{awk}, bracket expressions and, character classes
@dfn{Character classes} are a feature introduced in the POSIX standard.
A character class is a special notation for describing
lists of characters that have a specific attribute, but the
@@ -4535,7 +4535,7 @@ from character set to character set. For example, the notion of what
is an alphabetic character differs between the United States and France.
A character class is only valid in a regexp @emph{inside} the
-brackets of a character list. Character classes consist of @samp{[:},
+brackets of a bracket expression. Character classes consist of @samp{[:},
a keyword denoting the class, and @samp{:]}.
@ref{table-char-classes} lists the character classes defined by the
POSIX standard.
@@ -4570,10 +4570,10 @@ With the POSIX character classes, you can write
@code{/[[:alnum:]]/} to match the alphabetic
and numeric characters in your character set.
-@cindex character lists, collating elements
-@cindex character lists, non-ASCII
+@cindex bracket expressions, collating elements
+@cindex bracket expressions, non-ASCII
@cindex collating elements
-Two additional special sequences can appear in character lists.
+Two additional special sequences can appear in bracket expressions.
These apply to non-ASCII character sets, which can have single symbols
(called @dfn{collating elements}) that are represented with more than one
character. They can also have several characters that are equivalent for
@@ -4582,7 +4582,7 @@ and a grave-accented ``@`e'' are equivalent.)
These sequences are:
@table @asis
-@cindex character lists, collating symbols
+@cindex bracket expressions, collating symbols
@cindex collating symbols
@item Collating symbols
Multicharacter collating elements enclosed between
@@ -4590,7 +4590,7 @@ Multicharacter collating elements enclosed between
then @code{[[.ch.]]} is a regexp that matches this collating element, whereas
@code{[ch]} is a regexp that matches either @samp{c} or @samp{h}.
-@cindex character lists, equivalence classes
+@cindex bracket expressions, equivalence classes
@item Equivalence classes
Locale-specific names for a list of
characters that are equal. The name is enclosed between
@@ -4604,7 +4604,7 @@ These features are very valuable in non-English-speaking locales.
@cindex internationalization, localization, character classes
@cindex @command{gawk}, character classes and
-@cindex POSIX @command{awk}, character lists and, character classes
+@cindex POSIX @command{awk}, bracket expressions and, character classes
@quotation CAUTION
The library functions that @command{gawk} uses for regular
expression matching currently recognize only POSIX character classes;
@@ -4856,7 +4856,7 @@ that it is possible, using something like
and
@samp{IGNORECASE = 0 || /foobar/ @{ @dots{} @}}.
However, this is somewhat obscure and we don't recommend it.}
-To do this, use either character lists or @code{tolower()}. However, one
+To do this, use either bracket expressions or @code{tolower()}. However, one
thing you can do with @code{IGNORECASE} only is dynamically turn
case-sensitivity on or off for all the rules at once.
@@ -5017,7 +5017,7 @@ intend a regexp match.
@cindex newlines, in dynamic regexps
Some commercial versions of @command{awk} do not allow the newline
-character to be used inside a character list for a dynamic regexp:
+character to be used inside a bracket expression for a dynamic regexp:
@example
$ @kbd{awk '$0 ~ "[ \t\n]"'}
@@ -5122,7 +5122,7 @@ For the normal case of @samp{RS = "\n"}, the locale is largely irrelevant.
For other single-character record separators, using @samp{LC_ALL=C}
will give you much better performance when reading records. Otherwise,
@command{gawk} has to make several function calls, @emph{per input
-character} to find the record terminator.
+character}, to find the record terminator.
Finally, the locale affects the value of the decimal point character
used when @command{gawk} parses input data. This is discussed in
@@ -8657,6 +8657,8 @@ returns zero on success and non-zero otherwise. In general,
different implementations vary in what they report when closing
pipes; thus the return value cannot be used portably.
@value{DARKCORNER}
+In POSIX mode (@pxref{Options}), @command{gawk} just returns zero
+when closing a pipe.
@c ENDOFRANGE ifc
@c ENDOFRANGE ofc
@@ -21643,7 +21645,7 @@ The @code{set_charlist()} function is more complicated than
@code{set_fieldlist()}.
The idea here is to use @command{gawk}'s @code{FIELDWIDTHS} variable
(@pxref{Constant Size}),
-which describes constant-width input. When using a character list, that is
+which describes constant-width input. When using a bracket expression, that is
exactly what we have.
Setting up @code{FIELDWIDTHS} is more complicated than simply listing the
@@ -21671,7 +21673,7 @@ function set_charlist( field, i, j, f, g, t,
if (index(f[i], "-") != 0) @{ # range
m = split(f[i], g, "-")
if (m != 2 || g[1] >= g[2]) @{
- printf("bad character list: %s\n",
+ printf("bad bracket expression: %s\n",
f[i]) > "/dev/stderr"
exit 1
@}
@@ -22189,6 +22191,8 @@ arguments and perform in the same way.
@node Split Program
@subsection Splitting a Large File into Pieces
+@c FIXME: One day, update to current POSIX version of split
+
@c STARTOFRANGE filspl
@cindex files, splitting
@cindex @code{split} utility
@@ -22458,6 +22462,8 @@ END \
@node Uniq Program
@subsection Printing Nonduplicated Lines of Text
+@c FIXME: One day, update to current POSIX version of uniq
+
@c STARTOFRANGE prunt
@cindex printing, unduplicated lines of text
@c STARTOFRANGE tpul
@@ -22717,6 +22723,8 @@ END @{
@node Wc Program
@subsection Counting Things
+@c FIXME: One day, update to current POSIX version of wc
+
@c STARTOFRANGE count
@cindex counting
@c STARTOFRANGE infco