aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2010-11-21 21:19:19 +0200
committerArnold D. Robbins <arnold@skeeve.com>2010-11-21 21:19:19 +0200
commit72e119f16dd53b93638cbc713d9325ef9ddb0f0c (patch)
treeff0bffb167294acd9a235d40bbe346ab04c27522
parente61bf8dd924ee1201c29311bee37d86683c1a0ea (diff)
downloadegawk-72e119f16dd53b93638cbc713d9325ef9ddb0f0c.tar.gz
egawk-72e119f16dd53b93638cbc713d9325ef9ddb0f0c.tar.bz2
egawk-72e119f16dd53b93638cbc713d9325ef9ddb0f0c.zip
Fix Makefile.am. Doc updates.
-rw-r--r--Makefile.am2
-rw-r--r--Makefile.in2
-rw-r--r--doc/gawk.info890
-rw-r--r--doc/gawk.texi190
4 files changed, 551 insertions, 533 deletions
diff --git a/Makefile.am b/Makefile.am
index e5d7a2fc..0e98b2c6 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -36,8 +36,6 @@ AM_MAKEFLAGS = 'CFLAGS=$(CFLAGS)' 'LDFLAGS=$(LDFLAGS)'
# Stuff to include in the dist that doesn't need it's own
# Makefile.am files
EXTRA_DIST = \
-TODO \
-POSIX.NOTES \
COPYING \
FUTURES \
INSTALL \
diff --git a/Makefile.in b/Makefile.in
index fa77ec20..dea4d728 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -312,8 +312,6 @@ AM_MAKEFLAGS = 'CFLAGS=$(CFLAGS)' 'LDFLAGS=$(LDFLAGS)'
# Stuff to include in the dist that doesn't need it's own
# Makefile.am files
EXTRA_DIST = \
-TODO \
-POSIX.NOTES \
COPYING \
FUTURES \
INSTALL \
diff --git a/doc/gawk.info b/doc/gawk.info
index d10c3927..289005e0 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2832,7 +2832,7 @@ system about the local character set and language. The current locale
setting can affect the way regexp matching works, often in surprising
ways.
- For example, in the default C locale, `[a-dx-z]' is equivalent to
+ For example, in the default `"C"' locale, `[a-dx-z]' is equivalent to
`[abcdxyz]'. Many locales sort characters in dictionary order, and in
these locales, `[a-dx-z]' is typically not equivalent to `[abcdxyz]';
instead it might be equivalent to `[aBbCcdXxYyz]', for example.
@@ -2844,9 +2844,9 @@ except `Z'! This is a continuous cause of confusion, even well into
the twenty-first century.
To obtain the traditional interpretation of bracket expressions, you
-can use the C locale by setting the `LC_ALL' environment variable to the
-value `C'. However, it is best to just use POSIX character classes,
-such as `[[:lower:]]' to match specific classes of characters.
+can use the `"C"' locale by setting the `LC_ALL' environment variable
+to the value `C'. However, it is best to just use POSIX character
+classes, such as `[[:lower:]]' to match specific classes of characters.
To demonstrate these issues, the following example uses the `sub()'
function, which does text replacement (*note String Functions::). Here,
@@ -4939,7 +4939,7 @@ width. Here is a list of the format-control letters:
printed in scientific notation, `%G' uses `E' instead of `e'.
`%o'
- Print an unsigned octal integer.
+ Print an unsigned octal integer (*note Nondecimal-numbers::).
`%s'
Print a string.
@@ -4951,7 +4951,8 @@ width. Here is a list of the format-control letters:
`%x, %X'
Print an unsigned hexadecimal integer; `%X' uses the letters `A'
- through `F' instead of `a' through `f'.
+ through `F' instead of `a' through `f' (*note
+ Nondecimal-numbers::).
`%%'
Print a single `%'. This does not consume an argument and it
@@ -5694,7 +5695,7 @@ File: gawk.info, Node: Values, Next: All Operators, Up: Expressions
Expressions are built up from values and the operations performed upon
them. This minor node describes the elementary objects which provide
-values used in expressions.
+the values used in expressions.
* Menu:
@@ -5776,8 +5777,8 @@ decimal.
Just by looking at plain `11', you can't tell what base it's in.
So, in C, C++, and other languages derived from C, there is a special
-notation to help signify the base. Octal numbers start with a leading
-`0', and hexadecimal numbers start with a leading `0x' or `0X':
+notation to signify the base. Octal numbers start with a leading `0',
+and hexadecimal numbers start with a leading `0x' or `0X':
`11'
Decimal value 11.
@@ -5868,7 +5869,7 @@ are exactly equivalent. One rather bizarre consequence of this rule is
that the following Boolean expression is valid, but does not do what
the user probably intended:
- # note that /foo/ is on the left of the ~
+ # Note that /foo/ is on the left of the ~
if (/foo/ ~ $1) print "found foo"
This code is "obviously" testing `$1' for a match against the regexp
@@ -5884,8 +5885,7 @@ of this rule is that the assignment statement:
matches = /foo/
assigns either zero or one to the variable `matches', depending upon
-the contents of the current input record. This feature of the language
-has never been well documented until the POSIX specification.
+the contents of the current input record.
Constant regular expressions are also used as the first argument for
the `gensub()', `sub()', and `gsub()' functions, and as the second
@@ -5953,8 +5953,10 @@ it may not begin with a digit. Case is significant in variable names;
A variable name is a valid expression by itself; it represents the
variable's current value. Variables are given new values with
"assignment operators", "increment operators", and "decrement
-operators". *Note Assignment Ops::. *FIXME: NEXT ED:* Can also be
-changed by sub, gsub, split.
+operators". *Note Assignment Ops::. In addition, the `sub()' and
+`gsub()' functions can change a variable's value, and the `match()',
+`patsplit()' and `split()' functions can change the contents of their
+array parameters. *Note String Functions::.
A few variables have special built-in meanings, such as `FS' (the
field separator), and `NF' (the number of fields in the current input
@@ -6041,7 +6043,7 @@ together. The resulting string is converted back to the number 23, to
which 4 is then added.
If, for some reason, you need to force a number to be converted to a
-string, concatenate the empty string, `""', with that number. To force
+string, concatenate that number with the empty string, `""'. To force
a string to be converted to a number, add zero to that string. A
string is converted to a number by interpreting any numeric prefix of
the string as numerals: `"2.5"' converts to 2.5, `"1e3"' converts to
@@ -6056,8 +6058,8 @@ with `CONVFMT' as the format specifier (*note String Functions::).
`CONVFMT''s default value is `"%.6g"', which prints a value with at
most six significant digits. For some applications, you might want to
change it to specify more precision. On most modern machines, 17
-digits is enough to capture a floating-point number's value exactly,
-most of the time.(1)
+digits is usually enough to capture a floating-point number's value
+exactly.(1)
Strange results can occur if you set `CONVFMT' to a string that
doesn't tell `sprintf()' how to format floating-point numbers in a
@@ -6105,7 +6107,7 @@ GNU/Linux system:
$ gawk 'BEGIN { printf "%g\n", 3.1415927 }'
-| 3.14159
- $ LC_ALL=en_DK gawk 'BEGIN { printf "%g\n", 3.1415927 }'
+ $ LC_ALL=en_DK gawk 'BEGIN { printf "%g\n", 3.1415927 }'
-| 3,14159
$ echo 4,321 | gawk '{ print $1 + 1 }'
-| 5
@@ -6117,19 +6119,19 @@ the decimal point separator. In the normal `"C"' locale, `gawk' treats
`4,321' as `4', while in the Danish locale, it's treated as the full
number, `4.321'.
- For version 3.1.3 through 3.1.5, `gawk' fully complied with this
-aspect of the standard. However, many users in non-English locales
-complained about this behavior, since their data used a period as the
-decimal point. Beginning in version 3.1.6, the default behavior was
-restored to use a period as the decimal point character. You can use
-the `--use-lc-numeric' option (*note Options::) to force `gawk' to use
-the locale's decimal point character. (`gawk' also uses the locale's
-decimal point character when in POSIX mode, either via `--posix', or
-the `POSIXLY_CORRECT' environment variable.)
+ Some earlier versions of `gawk' fully complied with this aspect of
+the standard. However, many users in non-English locales complained
+about this behavior, since their data used a period as the decimal
+point, so the default behavior was restored to use a period as the
+decimal point character. You can use the `--use-lc-numeric' option
+(*note Options::) to force `gawk' to use the locale's decimal point
+character. (`gawk' also uses the locale's decimal point character when
+in POSIX mode, either via `--posix', or the `POSIXLY_CORRECT'
+environment variable.)
- The following table describes the cases in which the locale's decimal
-point character is used and when a period is used. Some of these
-features have not been described yet.
+ *note table-locale-affects:: describes the cases in which the
+locale's decimal point character is used and when a period is used.
+Some of these features have not been described yet.
Feature Default `--posix' or `--use-lc-numeric'
------------------------------------------------------------
@@ -6289,8 +6291,8 @@ might expect that the following code fragment concatenates `file' and
name = "name"
print "something meaningful" > file name
-This produces a syntax error with Unix `awk'.(1) It is necessary to use
-the following:
+This produces a syntax error with some versions of Unix `awk'.(1) It is
+necessary to use the following:
print "something meaningful" > (file name)
@@ -6308,9 +6310,10 @@ example:
It is not defined whether the assignment to `a' happens before or after
the value of `a' is retrieved for producing the concatenated value.
-The result could be either `don't panic', or `panic panic'. The
-precedence of concatenation, when mixed with other operators, is often
-counter-intuitive. Consider this example:
+The result could be either `don't panic', or `panic panic'.
+
+ The precedence of concatenation, when mixed with other operators, is
+often counter-intuitive. Consider this example:
$ awk 'BEGIN { print -12 " " -24 }'
-| -12-24
@@ -6318,7 +6321,7 @@ counter-intuitive. Consider this example:
This "obviously" is concatenating -12, a space, and -24. But where
did the space disappear to? The answer lies in the combination of
operator precedences and `awk''s automatic conversion rules. To get
-the desired result, write the program in the following manner:
+the desired result, write the program this way:
$ awk 'BEGIN { print -12 " " (-24) }'
-| -12 -24
@@ -6336,8 +6339,8 @@ Otherwise, you're never quite sure what you'll get.
---------- Footnotes ----------
- (1) It happens that `gawk' and `mawk' "get it right," but you should
-not rely on this.
+ (1) It happens that the current Unix `awk', `gawk' and `mawk' all
+"get it right," but you should not rely on this.

File: gawk.info, Node: Assignment Ops, Next: Increment Ops, Prev: Concatenation, Up: All Operators
@@ -6671,8 +6674,10 @@ The 1992 POSIX standard introduced the concept of a "numeric string",
which is simply a string that looks like a number--for example,
`" +2"'. This concept is used for determining the type of a variable.
The type of the variable is important because the types of two variables
-determine how they are compared. In `gawk', variable typing follows
-these rules:
+determine how they are compared. The various versions of the POSIX
+standard did not get the rules quite right for several editions.
+Fortunately, as of at least the 2008 standard (and possibly earlier),
+the standard has been fixed, and variable typing follows these rules:(1)
* A numeric constant or the result of a numeric operation has the
NUMERIC attribute.
@@ -6681,10 +6686,10 @@ these rules:
STRING attribute.
* Fields, `getline' input, `FILENAME', `ARGV' elements, `ENVIRON'
- elements, and the elements of an array created by `split()' and
- `match()' that are numeric strings have the STRNUM attribute.
- Otherwise, they have the STRING attribute. Uninitialized
- variables also have the STRNUM attribute.
+ elements, and the elements of an array created by `patsplit()',
+ `split()' and `match()' that are numeric strings have the STRNUM
+ attribute. Otherwise, they have the STRING attribute.
+ Uninitialized variables also have the STRNUM attribute.
* Attributes propagate across assignments but are not changed by any
use.
@@ -6723,7 +6728,7 @@ number for comparison purposes.
In short, when one operand is a "pure" string, such as a string
constant, then a string comparison is performed. Otherwise, a numeric
-comparison is performed.(1)
+comparison is performed.
This point bears additional emphasis: All user input is made of
characters, and so is first and foremost of STRING type; input strings
@@ -6753,9 +6758,8 @@ otherwise:
---------- Footnotes ----------
- (1) The POSIX standard has been revised. The revised standard's
-rules for typing and comparison are the same as just described for
-`gawk'.
+ (1) `gawk' has followed these rules for many years, and it is
+gratifying that the POSIX standard is also now correct.

File: gawk.info, Node: Comparison Operators, Prev: Variable Typing, Up: Typing and Comparison
@@ -6831,7 +6835,7 @@ of error is very difficult to spot when scanning the source code.
`a == b'
string comparison (false)
- In the next example:
+ In this example:
$ echo 1e2 3 | awk '{ print ($1 < $2) ? "true" : "false" }'
-| false
@@ -6841,7 +6845,8 @@ are numeric strings--therefore both have the STRNUM attribute,
dictating a numeric comparison. The purpose of the comparison rules
and the use of numeric strings is to attempt to produce the behavior
that is "least surprising," while still "doing the right thing."
-String comparisons and regular expression comparisons are very
+
+ String comparisons and regular expression comparisons are very
different. For example:
x == "foo"
@@ -7037,13 +7042,13 @@ examples show function calls with and without arguments:
open-parenthesis! A user-defined function name looks just like the
name of a variable--a space would make the expression look like
concatenation of a variable with an expression inside parentheses.
+With built-in functions, space before the parenthesis is harmless, but
+it is best not to get into the habit of using space to avoid mistakes
+with user-defined functions.
- With built-in functions, space before the parenthesis is harmless,
-but it is best not to get into the habit of using space to avoid
-mistakes with user-defined functions. Each function expects a
-particular number of arguments. For example, the `sqrt()' function
-must be called with a single argument, the number of which to take the
-square root:
+ Each function expects a particular number of arguments. For
+example, the `sqrt()' function must be called with a single argument,
+the number of which to take the square root:
sqrt(ARGUMENT)
@@ -7075,7 +7080,7 @@ square root of each one:
Ctrl-d
A function can also have side effects, such as assigning values to
-certain variables or doing I/O. This program shows how the `match'
+certain variables or doing I/O. This program shows how the `match()'
function (*note String Functions::) changes the variables `RSTART' and
`RLENGTH':
@@ -7140,7 +7145,7 @@ precedence:
Grouping.
`$'
- Field.
+ Field reference.
`++ --'
Increment, decrement.
@@ -7158,8 +7163,8 @@ precedence:
Addition, subtraction.
`String Concatenation'
- No special symbol is used to indicate concatenation. The operands
- are simply written side by side (*note Concatenation::).
+ There is no special symbol for concatenation. The operands are
+ simply written side by side (*note Concatenation::).
`< <= == != > >= >> | |&'
Relational and redirection. The relational operators and the
@@ -7192,7 +7197,7 @@ precedence:
Conditional. This operator groups right-to-left.
`= += -= *= /= %= ^= **='
- Assignment. These operators group right to left.
+ Assignment. These operators group right-to-left.
NOTE: The `|&', `**', and `**=' operators are not specified by
POSIX. For maximum portability, do not use them.
@@ -8340,12 +8345,13 @@ specific to `gawk' are marked with a pound sign (`#').
If `IGNORECASE' is nonzero or non-null, then all string comparisons
and all regular expression matching are case independent. Thus,
regexp matching with `~' and `!~', as well as the `gensub()',
- `gsub()', `index()', `match()', `split()', and `sub()' functions,
- record termination with `RS', and field splitting with `FS', all
- ignore case when doing their particular regexp operations.
- However, the value of `IGNORECASE' does _not_ affect array
- subscripting and it does not affect field splitting when using a
- single-character field separator. *Note Case-sensitivity::.
+ `gsub()', `index()', `match()', `patsplit()', `split()', and
+ `sub()' functions, record termination with `RS', and field
+ splitting with `FS', all ignore case when doing their particular
+ regexp operations. However, the value of `IGNORECASE' does _not_
+ affect array subscripting and it does not affect field splitting
+ when using a single-character field separator. *Note
+ Case-sensitivity::.
If `gawk' is in compatibility mode (*note Options::), then
`IGNORECASE' has no special meaning. Thus, string and regexp
@@ -15942,8 +15948,8 @@ File: gawk.info, Node: Split Program, Next: Tee Program, Prev: Id Program, U
13.2.4 Splitting a Large File into Pieces
-----------------------------------------
-The `split()' program splits large text files into smaller pieces.
-Usage is as follows:
+The `split' program splits large text files into smaller pieces. Usage
+is as follows:
split [-COUNT] file [ PREFIX ]
@@ -15955,8 +15961,8 @@ lines in them instead of 1000. To change the name of the output files
to something like `myfileaa', `myfileab', and so on, supply an
additional argument that specifies the file name prefix.
- Here is a version of `split()' in `awk'. It uses the `ord' and `chr'
-functions presented in *note Ordinal Functions::.
+ Here is a version of `split' in `awk'. It uses the `ord()' and
+`chr()' functions presented in *note Ordinal Functions::.
The program first sets its defaults, and then tests to make sure
there are not too many arguments. It then looks at each argument in
@@ -24585,7 +24591,7 @@ Index
* awk, POSIX and: Preface. (line 22)
* awk, POSIX and, See Also POSIX awk: Preface. (line 22)
* awk, regexp constants and: Comparison Operators.
- (line 102)
+ (line 103)
* awk, See Also gawk: Preface. (line 35)
* awk, terms describing: This Manual. (line 6)
* awk, uses for <1>: When. (line 6)
@@ -24921,7 +24927,7 @@ Index
* dark corner, regexp constants, /= operator and: Assignment Ops.
(line 148)
* dark corner, regexp constants, as arguments to user-defined functions: Using Constant Regexps.
- (line 44)
+ (line 43)
* dark corner, split() function: String Functions. (line 259)
* dark corner, strings, storing: Records. (line 188)
* data, fixed-width: Constant Size. (line 9)
@@ -25091,7 +25097,7 @@ Index
(line 6)
* differences in awk and gawk, line continuations: Conditional Exp.
(line 34)
-* differences in awk and gawk, LINT variable: User-modified. (line 97)
+* differences in awk and gawk, LINT variable: User-modified. (line 98)
* differences in awk and gawk, match() function: String Functions.
(line 165)
* differences in awk and gawk, next/nextfile statements: Nextfile Statement.
@@ -25101,7 +25107,7 @@ Index
* differences in awk and gawk, PROCINFO array: Auto-set. (line 123)
* differences in awk and gawk, record separators: Records. (line 112)
* differences in awk and gawk, regexp constants: Using Constant Regexps.
- (line 44)
+ (line 43)
* differences in awk and gawk, regular expressions: Case-sensitivity.
(line 26)
* differences in awk and gawk, RS/RT variables: Records. (line 164)
@@ -25115,7 +25121,7 @@ Index
* differences in awk and gawk, strtonum() function (gawk): String Functions.
(line 286)
* differences in awk and gawk, TEXTDOMAIN variable: User-modified.
- (line 152)
+ (line 153)
* differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
(line 66)
* directories, changing: Sample Library. (line 6)
@@ -25489,7 +25495,7 @@ Index
* 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 93)
+* gawk, IGNORECASE variable in: User-modified. (line 94)
* gawk, implementation issues: Notes. (line 6)
* gawk, implementation issues, debugging: Compatibility Mode. (line 6)
* gawk, implementation issues, downward compatibility: Compatibility Mode.
@@ -25505,7 +25511,7 @@ 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 106)
+* gawk, LINT variable in: User-modified. (line 107)
* gawk, list of contributors to: Contributors. (line 6)
* gawk, MS-DOS version of: PC Using. (line 11)
* gawk, newlines in: Statements/Lines. (line 12)
@@ -25534,7 +25540,7 @@ Index
* General Public License, See GPL: Manual History. (line 11)
* gensub() function (gawk) <1>: String Functions. (line 400)
* gensub() function (gawk): Using Constant Regexps.
- (line 44)
+ (line 43)
* gensub() function (gawk), escape processing: Gory Details. (line 6)
* get_actual_argument internal function: Internals. (line 116)
* get_argument internal function: Internals. (line 111)
@@ -25602,7 +25608,7 @@ Index
* groups, information about: Group Functions. (line 6)
* gsub() function <1>: String Functions. (line 384)
* gsub() function: Using Constant Regexps.
- (line 44)
+ (line 43)
* gsub() function, arguments of: String Functions. (line 364)
* gsub() function, escape processing: Gory Details. (line 6)
* h debugger command (alias for help): Miscellaneous Dgawk Commands.
@@ -25695,7 +25701,7 @@ Index
* internationalization: I18N Functions. (line 6)
* internationalization, localization <1>: Internationalization.
(line 13)
-* internationalization, localization: User-modified. (line 152)
+* internationalization, localization: User-modified. (line 153)
* internationalization, localization, character classes: Character Lists.
(line 91)
* internationalization, localization, gawk and: Internationalization.
@@ -25798,7 +25804,7 @@ Index
* lines, duplicate, removing: History Sorting. (line 6)
* lines, matching ranges of: Ranges. (line 6)
* lines, skipping between markers: Ranges. (line 43)
-* lint checking: User-modified. (line 97)
+* lint checking: User-modified. (line 98)
* lint checking, array elements: Delete. (line 34)
* lint checking, array subscripts: Uninitialized Subscripts.
(line 42)
@@ -25807,7 +25813,7 @@ Index
* lint checking, POSIXLY_CORRECT environment variable: Options.
(line 287)
* lint checking, undefined functions: Function Caveats. (line 96)
-* LINT variable: User-modified. (line 97)
+* LINT variable: User-modified. (line 98)
* Linux <1>: Glossary. (line 582)
* Linux <2>: Atari Compiling. (line 16)
* Linux <3>: I18N Example. (line 55)
@@ -25965,11 +25971,11 @@ Index
* obsolete features: Obsolete. (line 6)
* octal numbers: Nondecimal-numbers. (line 6)
* octal values, enabling interpretation of: Options. (line 160)
-* OFMT variable <1>: User-modified. (line 114)
+* OFMT variable <1>: User-modified. (line 115)
* OFMT variable <2>: Conversion. (line 54)
* OFMT variable: OFMT. (line 15)
* OFMT variable, POSIX awk and: OFMT. (line 27)
-* OFS variable <1>: User-modified. (line 123)
+* OFS variable <1>: User-modified. (line 124)
* OFS variable <2>: Output Separators. (line 6)
* OFS variable: Changing Fields. (line 64)
* OpenBSD: Glossary. (line 582)
@@ -26023,7 +26029,7 @@ Index
* or() function (gawk): Bitwise Functions. (line 39)
* ord user-defined function: Ordinal Functions. (line 16)
* order of evaluation, concatenation: Concatenation. (line 42)
-* ORS variable <1>: User-modified. (line 128)
+* ORS variable <1>: User-modified. (line 129)
* ORS variable: Output Separators. (line 20)
* output field separator, See OFS variable: Changing Fields. (line 64)
* output record separator, See ORS variable: Output Separators.
@@ -26173,7 +26179,7 @@ Index
* print statement, commas, omitting: Print Examples. (line 31)
* print statement, I/O operators in: Precedence. (line 71)
* print statement, line continuations and: Print Examples. (line 76)
-* print statement, OFMT variable and: User-modified. (line 123)
+* print statement, OFMT variable and: User-modified. (line 124)
* print statement, See Also redirection, of output: Redirection.
(line 17)
* print statement, sprintf() function and: Round Function. (line 6)
@@ -26268,7 +26274,7 @@ Index
* readable data files, checking: File Checking. (line 6)
* readable.awk program: File Checking. (line 11)
* recipe for a programming language: History. (line 6)
-* record separators <1>: User-modified. (line 133)
+* record separators <1>: User-modified. (line 134)
* record separators: Records. (line 14)
* record separators, changing: Records. (line 81)
* record separators, regular expressions as: Records. (line 112)
@@ -26285,7 +26291,7 @@ Index
* redirection of output: Redirection. (line 6)
* reference counting, sorting arrays: Array Sorting. (line 79)
* regexp constants <1>: Comparison Operators.
- (line 102)
+ (line 103)
* regexp constants <2>: Regexp Constants. (line 6)
* regexp constants: Regexp Usage. (line 57)
* regexp constants, /=.../, /= operator and: Assignment Ops. (line 148)
@@ -26371,7 +26377,7 @@ Index
* round user-defined function: Round Function. (line 16)
* rounding: Round Function. (line 6)
* rounding numbers: Round Function. (line 6)
-* RS variable <1>: User-modified. (line 133)
+* RS variable <1>: User-modified. (line 134)
* RS variable: Records. (line 20)
* RS variable, multiline records and: Multiple Line. (line 17)
* rshift() function (gawk): Bitwise Functions. (line 46)
@@ -26418,8 +26424,8 @@ Index
* separators, for records: Records. (line 14)
* separators, for records, regular expressions as: Records. (line 112)
* separators, for statements in actions: Action Overview. (line 19)
-* separators, record: User-modified. (line 133)
-* separators, subscript: User-modified. (line 146)
+* separators, record: User-modified. (line 134)
+* separators, subscript: User-modified. (line 147)
* set debugger command: Viewing And Changing Data.
(line 59)
* shells, piping commands into: Redirection. (line 143)
@@ -26477,13 +26483,13 @@ Index
* source files, search path for: Igawk Program. (line 358)
* sparse arrays: Array Intro. (line 72)
* Spencer, Henry: Glossary. (line 12)
+* split utility: Split Program. (line 6)
* split() function: String Functions. (line 215)
* split() function, array elements, deleting: Delete. (line 56)
-* split() utility: Split Program. (line 6)
* split.awk program: Split Program. (line 30)
* sprintf() function <1>: String Functions. (line 278)
* sprintf() function: OFMT. (line 15)
-* sprintf() function, OFMT variable and: User-modified. (line 123)
+* sprintf() function, OFMT variable and: User-modified. (line 124)
* sprintf() function, print/printf statements and: Round Function.
(line 6)
* sqrt() function: Numeric Functions. (line 18)
@@ -26535,10 +26541,10 @@ Index
(line 36)
* sub() function <1>: String Functions. (line 307)
* sub() function: Using Constant Regexps.
- (line 44)
+ (line 43)
* sub() function, arguments of: String Functions. (line 364)
* sub() function, escape processing: Gory Details. (line 6)
-* subscript separators: User-modified. (line 146)
+* subscript separators: User-modified. (line 147)
* subscripts in arrays, multidimensional: Multi-dimensional. (line 10)
* subscripts in arrays, multidimensional, scanning: Multi-scanning.
(line 11)
@@ -26546,7 +26552,7 @@ Index
(line 6)
* subscripts in arrays, uninitialized variables as: Uninitialized Subscripts.
(line 6)
-* SUBSEP variable: User-modified. (line 146)
+* SUBSEP variable: User-modified. (line 147)
* SUBSEP variable, multidimensional arrays: Multi-dimensional.
(line 16)
* substr() function: String Functions. (line 451)
@@ -26581,7 +26587,7 @@ Index
* text, printing, unduplicated lines of: Uniq Program. (line 6)
* textdomain function (C library): Explaining gettext. (line 27)
* TEXTDOMAIN variable <1>: Programmer i18n. (line 9)
-* TEXTDOMAIN variable: User-modified. (line 152)
+* TEXTDOMAIN variable: User-modified. (line 153)
* TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n. (line 58)
* TEXTDOMAIN variable, portability and: I18N Portability. (line 20)
* tilde (~), ~ operator <1>: Expression Patterns. (line 24)
@@ -26696,7 +26702,7 @@ Index
* variables: Other Features. (line 6)
* variables, assigning on command line: Assignment Options. (line 6)
* variables, built-in <1>: Built-in Variables. (line 6)
-* variables, built-in: Using Variables. (line 18)
+* variables, built-in: Using Variables. (line 20)
* variables, built-in, -v option, setting with: Options. (line 38)
* variables, built-in, conveying information: Auto-set. (line 6)
* variables, flag: Boolean Ops. (line 67)
@@ -26709,7 +26715,7 @@ Index
* variables, getline command into, using: Getline/Variable. (line 6)
* variables, global, for library functions: Library Names. (line 11)
* variables, global, printing list of: Options. (line 88)
-* variables, initializing: Using Variables. (line 18)
+* variables, initializing: Using Variables. (line 20)
* variables, names of: Arrays. (line 17)
* variables, private: Library Names. (line 11)
* variables, setting: Options. (line 30)
@@ -26851,347 +26857,347 @@ Ref: Case-sensitivity-Footnote-2123645
Node: Leftmost Longest123753
Node: Computed Regexps124954
Node: Locales128371
-Node: Reading Files131453
-Node: Records133469
-Ref: Records-Footnote-1142035
-Node: Fields142072
-Ref: Fields-Footnote-1145104
-Node: Nonconstant Fields145190
-Node: Changing Fields147392
-Node: Field Separators152677
-Node: Default Field Splitting155306
-Node: Regexp Field Splitting156423
-Node: Single Character Fields159773
-Node: Command Line Field Separator160824
-Node: Field Splitting Summary164263
-Ref: Field Splitting Summary-Footnote-1167449
-Node: Constant Size167550
-Node: Splitting By Content172021
-Ref: Splitting By Content-Footnote-1175623
-Node: Multiple Line175663
-Ref: Multiple Line-Footnote-1181403
-Node: Getline181582
-Node: Plain Getline183803
-Node: Getline/Variable185892
-Node: Getline/File187033
-Node: Getline/Variable/File188355
-Ref: Getline/Variable/File-Footnote-1189954
-Node: Getline/Pipe190041
-Node: Getline/Variable/Pipe192589
-Node: Getline/Coprocess193696
-Node: Getline/Variable/Coprocess194939
-Node: Getline Notes195653
-Node: Getline Summary197595
-Ref: table-getline-variants197879
-Node: BEGINFILE/ENDFILE198784
-Node: Command line directories201639
-Node: Printing202274
-Node: Print203905
-Node: Print Examples205242
-Node: Output Separators208026
-Node: OFMT209785
-Node: Printf211143
-Node: Basic Printf212049
-Node: Control Letters213586
-Node: Format Modifiers217335
-Node: Printf Examples223346
-Node: Redirection226061
-Node: Special Files233039
-Node: Special FD233572
-Ref: Special FD-Footnote-1237147
-Node: Special Network237221
-Node: Special Caveats238076
-Node: Close Files And Pipes238870
-Ref: Close Files And Pipes-Footnote-1245814
-Ref: Close Files And Pipes-Footnote-2245962
-Node: Expressions246112
-Node: Values247181
-Node: Constants247853
-Node: Scalar Constants248533
-Ref: Scalar Constants-Footnote-1249392
-Node: Nondecimal-numbers249574
-Node: Regexp Constants252638
-Node: Using Constant Regexps253113
-Node: Variables256210
-Node: Using Variables256865
-Node: Assignment Options258439
-Node: Conversion260320
-Ref: table-locale-affects265731
-Ref: Conversion-Footnote-1266355
-Node: All Operators266464
-Node: Arithmetic Ops267094
-Node: Concatenation269593
-Ref: Concatenation-Footnote-1272381
-Node: Assignment Ops272472
-Ref: table-assign-ops277460
-Node: Increment Ops278861
-Node: Truth Values and Conditions282339
-Node: Truth Values283422
-Node: Typing and Comparison284470
-Node: Variable Typing285191
-Ref: Variable Typing-Footnote-1288883
-Node: Comparison Operators289027
-Ref: table-relational-ops289405
-Node: Boolean Ops292954
-Ref: Boolean Ops-Footnote-1297032
-Node: Conditional Exp297123
-Node: Function Calls298855
-Node: Precedence302413
-Node: Patterns and Actions306063
-Node: Pattern Overview307117
-Node: Regexp Patterns308554
-Node: Expression Patterns309097
-Node: Ranges312647
-Node: BEGIN/END315736
-Node: Using BEGIN/END316486
-Ref: Using BEGIN/END-Footnote-1319217
-Node: I/O And BEGIN/END319331
-Node: Empty321598
-Node: Using Shell Variables321906
-Node: Action Overview324187
-Node: Statements326545
-Node: If Statement328401
-Node: While Statement329900
-Node: Do Statement331932
-Node: For Statement333081
-Node: Switch Statement336221
-Node: Break Statement338269
-Node: Continue Statement340089
-Node: Next Statement341787
-Node: Nextfile Statement344067
-Node: Exit Statement346785
-Node: Built-in Variables349056
-Node: User-modified350151
-Ref: User-modified-Footnote-1358097
-Node: Auto-set358159
-Ref: Auto-set-Footnote-1366821
-Node: ARGC and ARGV367026
-Node: Arrays370787
-Node: Array Basics372296
-Node: Array Intro373007
-Node: Reference to Elements377394
-Node: Assigning Elements379293
-Node: Array Example379784
-Node: Scanning an Array381516
-Node: Delete383793
-Ref: Delete-Footnote-1386183
-Node: Numeric Array Subscripts386240
-Node: Uninitialized Subscripts388427
-Node: Multi-dimensional390033
-Node: Multi-scanning393124
-Node: Array Sorting394708
-Node: Arrays of Arrays398538
-Node: Functions402646
-Node: Built-in403455
-Node: Calling Built-in404469
-Node: Numeric Functions406445
-Ref: Numeric Functions-Footnote-1410199
-Ref: Numeric Functions-Footnote-2410533
-Node: String Functions410802
-Ref: String Functions-Footnote-1432636
-Ref: String Functions-Footnote-2432765
-Ref: String Functions-Footnote-3433013
-Node: Gory Details433100
-Ref: table-sub-escapes434757
-Ref: table-sub-posix-92436103
-Ref: table-sub-proposed437446
-Ref: table-posix-2001-sub438806
-Ref: table-gensub-escapes440081
-Ref: Gory Details-Footnote-1441284
-Node: I/O Functions441335
-Ref: I/O Functions-Footnote-1448123
-Node: Time Functions448214
-Ref: Time Functions-Footnote-1459026
-Ref: Time Functions-Footnote-2459094
-Ref: Time Functions-Footnote-3459252
-Ref: Time Functions-Footnote-4459363
-Ref: Time Functions-Footnote-5459490
-Ref: Time Functions-Footnote-6459717
-Node: Bitwise Functions459983
-Ref: table-bitwise-ops460561
-Ref: Bitwise Functions-Footnote-1464801
-Node: I18N Functions464985
-Node: User-defined466708
-Node: Definition Syntax467512
-Node: Function Example472210
-Node: Function Caveats474792
-Node: Return Statement478717
-Node: Dynamic Typing481374
-Node: Indirect Calls482111
-Node: Internationalization491746
-Node: I18N and L10N493165
-Node: Explaining gettext493849
-Ref: Explaining gettext-Footnote-1498760
-Ref: Explaining gettext-Footnote-2498999
-Node: Programmer i18n499168
-Node: Translator i18n503403
-Node: String Extraction504194
-Ref: String Extraction-Footnote-1505151
-Node: Printf Ordering505277
-Ref: Printf Ordering-Footnote-1508057
-Node: I18N Portability508121
-Ref: I18N Portability-Footnote-1510566
-Node: I18N Example510629
-Ref: I18N Example-Footnote-1513249
-Node: Gawk I18N513321
-Node: Advanced Features513899
-Node: Nondecimal Data515214
-Node: Two-way I/O516775
-Ref: Two-way I/O-Footnote-1522258
-Node: TCP/IP Networking522335
-Node: Profiling525125
-Node: Invoking Gawk532586
-Node: Command Line533893
-Node: Options534678
-Ref: Options-Footnote-1547766
-Node: Other Arguments547791
-Node: AWKPATH Variable550472
-Ref: AWKPATH Variable-Footnote-1553247
-Node: Exit Status553507
-Node: Include Files554179
-Node: Obsolete557780
-Node: Undocumented558581
-Node: Known Bugs558843
-Node: Library Functions559445
-Ref: Library Functions-Footnote-1562426
-Node: Library Names562597
-Ref: Library Names-Footnote-1566070
-Ref: Library Names-Footnote-2566289
-Node: General Functions566375
-Node: Nextfile Function567438
-Node: Strtonum Function571802
-Node: Assert Function574743
-Node: Round Function578047
-Node: Cliff Random Function579587
-Node: Ordinal Functions580602
-Ref: Ordinal Functions-Footnote-1583662
-Node: Join Function583878
-Ref: Join Function-Footnote-1585640
-Node: Gettimeofday Function585840
-Node: Data File Management589551
-Node: Filetrans Function590183
-Node: Rewind Function593609
-Node: File Checking595055
-Node: Empty Files596085
-Node: Ignoring Assigns598310
-Node: Getopt Function599858
-Ref: Getopt Function-Footnote-1611140
-Node: Passwd Functions611343
-Ref: Passwd Functions-Footnote-1620321
-Node: Group Functions620409
-Node: Sample Programs628506
-Node: Running Examples629175
-Node: Clones629903
-Node: Cut Program631035
-Node: Egrep Program640794
-Ref: Egrep Program-Footnote-1648544
-Node: Id Program648654
-Node: Split Program652261
-Node: Tee Program655728
-Node: Uniq Program658471
-Node: Wc Program665838
-Ref: Wc Program-Footnote-1670082
-Node: Miscellaneous Programs670278
-Node: Dupword Program671398
-Node: Alarm Program673429
-Node: Translate Program677971
-Ref: Translate Program-Footnote-1682350
-Ref: Translate Program-Footnote-2682587
-Node: Labels Program682721
-Ref: Labels Program-Footnote-1686012
-Node: Word Sorting686096
-Node: History Sorting690443
-Node: Extract Program692281
-Node: Simple Sed699639
-Node: Igawk Program702696
-Ref: Igawk Program-Footnote-1717427
-Ref: Igawk Program-Footnote-2717628
-Node: Signature Program717766
-Node: Debugger718846
-Node: Debugging719722
-Node: Debugging Concepts720036
-Node: Debugging Terms721889
-Node: Awk Debugging724437
-Node: Sample dgawk session725329
-Node: dgawk invocation725821
-Node: Finding The Bug727005
-Node: List of Debugger Commands733520
-Node: Breakpoint Control734835
-Node: Dgawk Execution Control738045
-Node: Viewing And Changing Data741394
-Node: Dgawk Stack744690
-Node: Dgawk Info746151
-Node: Miscellaneous Dgawk Commands750089
-Node: Readline Support755805
-Node: Dgawk Limitations756621
-Node: Language History758793
-Node: V7/SVR3.1760170
-Node: SVR4762465
-Node: POSIX763910
-Node: BTL765622
-Node: POSIX/GNU767312
-Node: Contributors776976
-Node: Installation780581
-Node: Gawk Distribution781552
-Node: Getting782036
-Node: Extracting782862
-Node: Distribution contents784250
-Node: Unix Installation789323
-Node: Quick Installation789914
-Node: Additional Configuration Options791616
-Node: Configuration Philosophy793379
-Node: Non-Unix Installation795743
-Node: PC Installation796208
-Node: PC Binary Installation797514
-Node: PC Compiling799357
-Node: PC Dynamic803862
-Node: PC Using806225
-Node: Cygwin810773
-Node: MSYS811757
-Node: VMS Installation812263
-Node: VMS Compilation812867
-Node: VMS Installation Details814444
-Node: VMS Running816074
-Node: VMS POSIX817671
-Node: VMS Old Gawk818969
-Node: Unsupported819438
-Node: Atari Installation819900
-Node: Atari Compiling821187
-Node: Atari Using823076
-Node: BeOS Installation825923
-Node: Tandem Installation827068
-Node: Bugs828747
-Node: Other Versions832579
-Node: Notes837801
-Node: Compatibility Mode838493
-Node: Additions839276
-Node: Adding Code840026
-Node: New Ports846078
-Node: Dynamic Extensions850210
-Node: Internals851535
-Node: Sample Library861940
-Node: Internal File Description862599
-Node: Internal File Ops866294
-Ref: Internal File Ops-Footnote-1871134
-Node: Using Internal File Ops871282
-Node: Future Extensions873307
-Node: Basic Concepts877344
-Node: Basic High Level878101
-Ref: Basic High Level-Footnote-1882217
-Node: Basic Data Typing882411
-Node: Floating Point Issues886848
-Node: String Conversion Precision887931
-Ref: String Conversion Precision-Footnote-1889625
-Node: Unexpected Results889734
-Node: POSIX Floating Point Problems891560
-Ref: POSIX Floating Point Problems-Footnote-1895259
-Node: Glossary895297
-Node: Copying919065
-Node: GNU Free Documentation License956622
-Node: next-edition981766
-Node: unresolved982118
-Node: revision982618
-Node: consistency983041
-Node: Index986394
+Node: Reading Files131461
+Node: Records133477
+Ref: Records-Footnote-1142043
+Node: Fields142080
+Ref: Fields-Footnote-1145112
+Node: Nonconstant Fields145198
+Node: Changing Fields147400
+Node: Field Separators152685
+Node: Default Field Splitting155314
+Node: Regexp Field Splitting156431
+Node: Single Character Fields159781
+Node: Command Line Field Separator160832
+Node: Field Splitting Summary164271
+Ref: Field Splitting Summary-Footnote-1167457
+Node: Constant Size167558
+Node: Splitting By Content172029
+Ref: Splitting By Content-Footnote-1175631
+Node: Multiple Line175671
+Ref: Multiple Line-Footnote-1181411
+Node: Getline181590
+Node: Plain Getline183811
+Node: Getline/Variable185900
+Node: Getline/File187041
+Node: Getline/Variable/File188363
+Ref: Getline/Variable/File-Footnote-1189962
+Node: Getline/Pipe190049
+Node: Getline/Variable/Pipe192597
+Node: Getline/Coprocess193704
+Node: Getline/Variable/Coprocess194947
+Node: Getline Notes195661
+Node: Getline Summary197603
+Ref: table-getline-variants197887
+Node: BEGINFILE/ENDFILE198792
+Node: Command line directories201647
+Node: Printing202282
+Node: Print203913
+Node: Print Examples205250
+Node: Output Separators208034
+Node: OFMT209793
+Node: Printf211151
+Node: Basic Printf212057
+Node: Control Letters213594
+Node: Format Modifiers217406
+Node: Printf Examples223417
+Node: Redirection226132
+Node: Special Files233110
+Node: Special FD233643
+Ref: Special FD-Footnote-1237218
+Node: Special Network237292
+Node: Special Caveats238147
+Node: Close Files And Pipes238941
+Ref: Close Files And Pipes-Footnote-1245885
+Ref: Close Files And Pipes-Footnote-2246033
+Node: Expressions246183
+Node: Values247252
+Node: Constants247928
+Node: Scalar Constants248608
+Ref: Scalar Constants-Footnote-1249467
+Node: Nondecimal-numbers249649
+Node: Regexp Constants252708
+Node: Using Constant Regexps253183
+Node: Variables256188
+Node: Using Variables256843
+Node: Assignment Options258570
+Node: Conversion260451
+Ref: table-locale-affects265825
+Ref: Conversion-Footnote-1266449
+Node: All Operators266558
+Node: Arithmetic Ops267188
+Node: Concatenation269687
+Ref: Concatenation-Footnote-1272480
+Node: Assignment Ops272599
+Ref: table-assign-ops277587
+Node: Increment Ops278988
+Node: Truth Values and Conditions282466
+Node: Truth Values283549
+Node: Typing and Comparison284597
+Node: Variable Typing285318
+Ref: Variable Typing-Footnote-1289215
+Node: Comparison Operators289337
+Ref: table-relational-ops289715
+Node: Boolean Ops293264
+Ref: Boolean Ops-Footnote-1297342
+Node: Conditional Exp297433
+Node: Function Calls299165
+Node: Precedence302724
+Node: Patterns and Actions306377
+Node: Pattern Overview307431
+Node: Regexp Patterns308868
+Node: Expression Patterns309411
+Node: Ranges312961
+Node: BEGIN/END316050
+Node: Using BEGIN/END316800
+Ref: Using BEGIN/END-Footnote-1319531
+Node: I/O And BEGIN/END319645
+Node: Empty321912
+Node: Using Shell Variables322220
+Node: Action Overview324501
+Node: Statements326859
+Node: If Statement328715
+Node: While Statement330214
+Node: Do Statement332246
+Node: For Statement333395
+Node: Switch Statement336535
+Node: Break Statement338583
+Node: Continue Statement340403
+Node: Next Statement342101
+Node: Nextfile Statement344381
+Node: Exit Statement347099
+Node: Built-in Variables349370
+Node: User-modified350465
+Ref: User-modified-Footnote-1358431
+Node: Auto-set358493
+Ref: Auto-set-Footnote-1367155
+Node: ARGC and ARGV367360
+Node: Arrays371121
+Node: Array Basics372630
+Node: Array Intro373341
+Node: Reference to Elements377728
+Node: Assigning Elements379627
+Node: Array Example380118
+Node: Scanning an Array381850
+Node: Delete384127
+Ref: Delete-Footnote-1386517
+Node: Numeric Array Subscripts386574
+Node: Uninitialized Subscripts388761
+Node: Multi-dimensional390367
+Node: Multi-scanning393458
+Node: Array Sorting395042
+Node: Arrays of Arrays398872
+Node: Functions402980
+Node: Built-in403789
+Node: Calling Built-in404803
+Node: Numeric Functions406779
+Ref: Numeric Functions-Footnote-1410533
+Ref: Numeric Functions-Footnote-2410867
+Node: String Functions411136
+Ref: String Functions-Footnote-1432970
+Ref: String Functions-Footnote-2433099
+Ref: String Functions-Footnote-3433347
+Node: Gory Details433434
+Ref: table-sub-escapes435091
+Ref: table-sub-posix-92436437
+Ref: table-sub-proposed437780
+Ref: table-posix-2001-sub439140
+Ref: table-gensub-escapes440415
+Ref: Gory Details-Footnote-1441618
+Node: I/O Functions441669
+Ref: I/O Functions-Footnote-1448457
+Node: Time Functions448548
+Ref: Time Functions-Footnote-1459360
+Ref: Time Functions-Footnote-2459428
+Ref: Time Functions-Footnote-3459586
+Ref: Time Functions-Footnote-4459697
+Ref: Time Functions-Footnote-5459824
+Ref: Time Functions-Footnote-6460051
+Node: Bitwise Functions460317
+Ref: table-bitwise-ops460895
+Ref: Bitwise Functions-Footnote-1465135
+Node: I18N Functions465319
+Node: User-defined467042
+Node: Definition Syntax467846
+Node: Function Example472544
+Node: Function Caveats475126
+Node: Return Statement479051
+Node: Dynamic Typing481708
+Node: Indirect Calls482445
+Node: Internationalization492080
+Node: I18N and L10N493499
+Node: Explaining gettext494183
+Ref: Explaining gettext-Footnote-1499094
+Ref: Explaining gettext-Footnote-2499333
+Node: Programmer i18n499502
+Node: Translator i18n503737
+Node: String Extraction504528
+Ref: String Extraction-Footnote-1505485
+Node: Printf Ordering505611
+Ref: Printf Ordering-Footnote-1508391
+Node: I18N Portability508455
+Ref: I18N Portability-Footnote-1510900
+Node: I18N Example510963
+Ref: I18N Example-Footnote-1513583
+Node: Gawk I18N513655
+Node: Advanced Features514233
+Node: Nondecimal Data515548
+Node: Two-way I/O517109
+Ref: Two-way I/O-Footnote-1522592
+Node: TCP/IP Networking522669
+Node: Profiling525459
+Node: Invoking Gawk532920
+Node: Command Line534227
+Node: Options535012
+Ref: Options-Footnote-1548100
+Node: Other Arguments548125
+Node: AWKPATH Variable550806
+Ref: AWKPATH Variable-Footnote-1553581
+Node: Exit Status553841
+Node: Include Files554513
+Node: Obsolete558114
+Node: Undocumented558915
+Node: Known Bugs559177
+Node: Library Functions559779
+Ref: Library Functions-Footnote-1562760
+Node: Library Names562931
+Ref: Library Names-Footnote-1566404
+Ref: Library Names-Footnote-2566623
+Node: General Functions566709
+Node: Nextfile Function567772
+Node: Strtonum Function572136
+Node: Assert Function575077
+Node: Round Function578381
+Node: Cliff Random Function579921
+Node: Ordinal Functions580936
+Ref: Ordinal Functions-Footnote-1583996
+Node: Join Function584212
+Ref: Join Function-Footnote-1585974
+Node: Gettimeofday Function586174
+Node: Data File Management589885
+Node: Filetrans Function590517
+Node: Rewind Function593943
+Node: File Checking595389
+Node: Empty Files596419
+Node: Ignoring Assigns598644
+Node: Getopt Function600192
+Ref: Getopt Function-Footnote-1611474
+Node: Passwd Functions611677
+Ref: Passwd Functions-Footnote-1620655
+Node: Group Functions620743
+Node: Sample Programs628840
+Node: Running Examples629509
+Node: Clones630237
+Node: Cut Program631369
+Node: Egrep Program641128
+Ref: Egrep Program-Footnote-1648878
+Node: Id Program648988
+Node: Split Program652595
+Node: Tee Program656063
+Node: Uniq Program658806
+Node: Wc Program666173
+Ref: Wc Program-Footnote-1670417
+Node: Miscellaneous Programs670613
+Node: Dupword Program671733
+Node: Alarm Program673764
+Node: Translate Program678306
+Ref: Translate Program-Footnote-1682685
+Ref: Translate Program-Footnote-2682922
+Node: Labels Program683056
+Ref: Labels Program-Footnote-1686347
+Node: Word Sorting686431
+Node: History Sorting690778
+Node: Extract Program692616
+Node: Simple Sed699974
+Node: Igawk Program703031
+Ref: Igawk Program-Footnote-1717762
+Ref: Igawk Program-Footnote-2717963
+Node: Signature Program718101
+Node: Debugger719181
+Node: Debugging720057
+Node: Debugging Concepts720371
+Node: Debugging Terms722224
+Node: Awk Debugging724772
+Node: Sample dgawk session725664
+Node: dgawk invocation726156
+Node: Finding The Bug727340
+Node: List of Debugger Commands733855
+Node: Breakpoint Control735170
+Node: Dgawk Execution Control738380
+Node: Viewing And Changing Data741729
+Node: Dgawk Stack745025
+Node: Dgawk Info746486
+Node: Miscellaneous Dgawk Commands750424
+Node: Readline Support756140
+Node: Dgawk Limitations756956
+Node: Language History759128
+Node: V7/SVR3.1760505
+Node: SVR4762800
+Node: POSIX764245
+Node: BTL765957
+Node: POSIX/GNU767647
+Node: Contributors777311
+Node: Installation780916
+Node: Gawk Distribution781887
+Node: Getting782371
+Node: Extracting783197
+Node: Distribution contents784585
+Node: Unix Installation789658
+Node: Quick Installation790249
+Node: Additional Configuration Options791951
+Node: Configuration Philosophy793714
+Node: Non-Unix Installation796078
+Node: PC Installation796543
+Node: PC Binary Installation797849
+Node: PC Compiling799692
+Node: PC Dynamic804197
+Node: PC Using806560
+Node: Cygwin811108
+Node: MSYS812092
+Node: VMS Installation812598
+Node: VMS Compilation813202
+Node: VMS Installation Details814779
+Node: VMS Running816409
+Node: VMS POSIX818006
+Node: VMS Old Gawk819304
+Node: Unsupported819773
+Node: Atari Installation820235
+Node: Atari Compiling821522
+Node: Atari Using823411
+Node: BeOS Installation826258
+Node: Tandem Installation827403
+Node: Bugs829082
+Node: Other Versions832914
+Node: Notes838136
+Node: Compatibility Mode838828
+Node: Additions839611
+Node: Adding Code840361
+Node: New Ports846413
+Node: Dynamic Extensions850545
+Node: Internals851870
+Node: Sample Library862275
+Node: Internal File Description862934
+Node: Internal File Ops866629
+Ref: Internal File Ops-Footnote-1871469
+Node: Using Internal File Ops871617
+Node: Future Extensions873642
+Node: Basic Concepts877679
+Node: Basic High Level878436
+Ref: Basic High Level-Footnote-1882552
+Node: Basic Data Typing882746
+Node: Floating Point Issues887183
+Node: String Conversion Precision888266
+Ref: String Conversion Precision-Footnote-1889960
+Node: Unexpected Results890069
+Node: POSIX Floating Point Problems891895
+Ref: POSIX Floating Point Problems-Footnote-1895594
+Node: Glossary895632
+Node: Copying919400
+Node: GNU Free Documentation License956957
+Node: next-edition982101
+Node: unresolved982453
+Node: revision982953
+Node: consistency983376
+Node: Index986729

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 47d2ba7a..3db42963 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -80,6 +80,12 @@ DONE:
@set LEQ <=
@end ifnottex
+@ifnottex
+@macro ii{text}
+@i{\text\}
+@end macro
+@end ifnottex
+
@set FN file name
@set FFN File Name
@set DF data file
@@ -3970,7 +3976,7 @@ the system about the local character set and language. The current
locale setting can affect the way regexp matching works, often
in surprising ways.
-For example, in the default C locale, @samp{[a-dx-z]} is equivalent to
+For example, in the default @code{"C"} locale, @samp{[a-dx-z]} is equivalent to
@samp{[abcdxyz]}. Many locales sort characters in dictionary order,
and in these locales, @samp{[a-dx-z]} is typically not equivalent to
@samp{[abcdxyz]}; instead it might be equivalent to @samp{[aBbCcdXxYyz]},
@@ -3983,7 +3989,7 @@ except @samp{Z}! This is a continuous cause of confusion, even well
into the twenty-first century.
To obtain the traditional interpretation of bracket expressions, you can
-use the C locale by setting the @env{LC_ALL} environment variable to the
+use the @code{"C"} locale by setting the @env{LC_ALL} environment variable to the
value @samp{C}. However, it is best to just use POSIX character classes,
such as @samp{[[:lower:]]} to match specific classes of characters.
@@ -6649,7 +6655,8 @@ notation, whichever uses fewer characters; if the result is printed in
scientific notation, @samp{%G} uses @samp{E} instead of @samp{e}.
@item %o
-Print an unsigned octal integer.
+Print an unsigned octal integer
+(@pxref{Nondecimal-numbers}).
@item %s
Print a string.
@@ -6662,7 +6669,8 @@ are floating-point; it is provided primarily for compatibility with C.)
@item %x@r{,} %X
Print an unsigned hexadecimal integer;
@samp{%X} uses the letters @samp{A} through @samp{F}
-instead of @samp{a} through @samp{f}.
+instead of @samp{a} through @samp{f}
+(@pxref{Nondecimal-numbers}).
@item %%
Print a single @samp{%}.
@@ -7633,7 +7641,7 @@ combinations of these with various operators.
Expressions are built up from values and the operations performed
upon them. This @value{SECTION} describes the elementary objects
-which provide values used in expressions.
+which provide the values used in expressions.
@menu
* Constants:: String, numeric and regexp constants.
@@ -7721,7 +7729,7 @@ hexadecimal, is 1 times 16 plus 1, which equals 17 in decimal.
Just by looking at plain @samp{11}, you can't tell what base it's in.
So, in C, C++, and other languages derived from C,
@c such as PERL, but we won't mention that....
-there is a special notation to help signify the base.
+there is a special notation to signify the base.
Octal numbers start with a leading @samp{0},
and hexadecimal numbers start with a leading @samp{0x} or @samp{0X}:
@@ -7739,7 +7747,7 @@ Hexadecimal 11, decimal value 17.
This example shows the difference:
@example
-$ gawk 'BEGIN @{ printf "%d, %d, %d\n", 011, 11, 0x11 @}'
+$ @kbd{gawk 'BEGIN @{ printf "%d, %d, %d\n", 011, 11, 0x11 @}'}
@print{} 9, 11, 17
@end example
@@ -7769,7 +7777,7 @@ Unlike some early C implementations, @samp{8} and @samp{9} are not valid
in octal constants; e.g., @command{gawk} treats @samp{018} as decimal 18:
@example
-$ gawk 'BEGIN @{ print "021 is", 021 ; print 018 @}'
+$ @kbd{gawk 'BEGIN @{ print "021 is", 021 ; print 018 @}'}
@print{} 021 is 17
@print{} 18
@end example
@@ -7793,7 +7801,7 @@ always used. This has particular consequences for conversion of
numbers to strings:
@example
-$ gawk 'BEGIN @{ printf "0x11 is <%s>\n", 0x11 @}'
+$ @kbd{gawk 'BEGIN @{ printf "0x11 is <%s>\n", 0x11 @}'}
@print{} 0x11 is <17>
@end example
@@ -7848,7 +7856,7 @@ Boolean expression is valid, but does not do what the user probably
intended:
@example
-# note that /foo/ is on the left of the ~
+# Note that /foo/ is on the left of the ~
if (/foo/ ~ $1) print "found foo"
@end example
@@ -7875,8 +7883,6 @@ matches = /foo/
@noindent
assigns either zero or one to the variable @code{matches}, depending
upon the contents of the current input record.
-This feature of the language has never been well documented until the
-POSIX specification.
@cindex differences in @command{awk} and @command{gawk}, regexp constants
@cindex dark corner, regexp constants, as arguments to user-defined functions
@@ -7957,7 +7963,10 @@ variable's current value. Variables are given new values with
@dfn{assignment operators}, @dfn{increment operators}, and
@dfn{decrement operators}.
@xref{Assignment Ops}.
-@strong{FIXME: NEXT ED:} Can also be changed by sub, gsub, split.
+In addition, the @code{sub()} and @code{gsub()} functions can
+change a variable's value, and the @code{match()}, @code{patsplit()}
+and @code{split()} functions can change the contents of their
+array parameters. @xref{String Functions}.
@cindex variables, built-in
@cindex variables, initializing
@@ -8023,7 +8032,7 @@ but before the second file is started, @code{n} is set to two, so that the
second field is printed in lines from @file{BBS-list}:
@example
-$ awk '@{ print $n @}' n=4 inventory-shipped n=2 BBS-list
+$ @kbd{awk '@{ print $n @}' n=4 inventory-shipped n=2 BBS-list}
@print{} 15
@print{} 24
@dots{}
@@ -8069,7 +8078,7 @@ number 23, to which 4 is then added.
@cindex null strings, converting numbers to strings
@cindex type conversion
If, for some reason, you need to force a number to be converted to a
-string, concatenate the empty string, @code{""}, with that number.
+string, concatenate that number with the empty string, @code{""}.
To force a string to be converted to a number, add zero to that string.
A string is converted to a number by interpreting any numeric prefix
of the string as numerals:
@@ -8089,9 +8098,8 @@ specifier
at most six significant digits. For some applications, you might want to
change it to specify more precision.
On most modern machines,
-17 digits is enough to capture a floating-point number's
-value exactly,
-most of the time.@footnote{Pathological cases can require up to
+17 digits is usually enough to capture a floating-point number's
+value exactly.@footnote{Pathological cases can require up to
752 digits (!), but we doubt that you need to worry about this.}
@cindex dark corner, @code{CONVFMT} variable
@@ -8150,13 +8158,13 @@ Here are some examples indicating the difference in behavior,
on a GNU/Linux system:
@example
-$ gawk 'BEGIN @{ printf "%g\n", 3.1415927 @}'
+$ @kbd{gawk 'BEGIN @{ printf "%g\n", 3.1415927 @}'}
@print{} 3.14159
-$ LC_ALL=en_DK gawk 'BEGIN @{ printf "%g\n", 3.1415927 @}'
+$ @kbd{LC_ALL=en_DK gawk 'BEGIN @{ printf "%g\n", 3.1415927 @}'}
@print{} 3,14159
-$ echo 4,321 | gawk '@{ print $1 + 1 @}'
+$ @kbd{echo 4,321 | gawk '@{ print $1 + 1 @}'}
@print{} 5
-$ echo 4,321 | LC_ALL=en_DK gawk '@{ print $1 + 1 @}'
+$ @kbd{echo 4,321 | LC_ALL=en_DK gawk '@{ print $1 + 1 @}'}
@print{} 5,321
@end example
@@ -8166,18 +8174,17 @@ the decimal point separator. In the normal @code{"C"} locale, @command{gawk}
treats @samp{4,321} as @samp{4}, while in the Danish locale, it's treated
as the full number, @samp{4.321}.
-For @value{PVERSION} 3.1.3 through 3.1.5, @command{gawk} fully complied
-with this aspect of the standard. However, many users in non-English
-locales complained about this behavior, since their data used a period
-as the decimal point. Beginning in @value{PVERSION} 3.1.6, the default
-behavior was restored to use a period as the decimal point character.
-You can use the @option{--use-lc-numeric} option (@pxref{Options})
-to force @command{gawk} to use the locale's decimal point character.
-(@command{gawk} also uses the locale's decimal point character when in
-POSIX mode, either via @option{--posix}, or the @env{POSIXLY_CORRECT}
-environment variable.)
-
-The following table describes the cases in which the locale's decimal
+Some earlier versions of @command{gawk} fully complied with this aspect
+of the standard. However, many users in non-English locales complained
+about this behavior, since their data used a period as the decimal
+point, so the default behavior was restored to use a period as the
+decimal point character. You can use the @option{--use-lc-numeric}
+option (@pxref{Options}) to force @command{gawk} to use the locale's
+decimal point character. (@command{gawk} also uses the locale's decimal
+point character when in POSIX mode, either via @option{--posix}, or the
+@env{POSIXLY_CORRECT} environment variable.)
+
+@ref{table-locale-affects} describes the cases in which the locale's decimal
point character is used and when a period is used. Some of these
features have not been described yet.
@@ -8185,8 +8192,8 @@ features have not been described yet.
@caption{Locale Decimal Point versus A Period}
@multitable @columnfractions .15 .20 .45
@headitem Feature @tab Default @tab @option{--posix} or @option{--use-lc-numeric}
-@item @samp{%'g} @tab Use locale @tab Use locale
-@item @samp{%g} @tab Use period @tab Use locale
+@item @code{%'g} @tab Use locale @tab Use locale
+@item @code{%g} @tab Use period @tab Use locale
@item Input @tab Use period @tab Use locale
@item @code{strtonum()} @tab Use period @tab Use locale
@end multitable
@@ -8242,8 +8249,8 @@ This programs takes the file @file{grades} and prints the average
of the scores:
@example
-$ awk '@{ sum = $2 + $3 + $4 ; avg = sum / 3
-> print $1, avg @}' grades
+$ @kbd{awk '@{ sum = $2 + $3 + $4 ; avg = sum / 3}
+> @kbd{print $1, avg @}' grades}
@print{} Pat 85
@print{} Sandy 83
@print{} Chris 84.3333
@@ -8342,7 +8349,7 @@ specific operator to represent it. Instead, concatenation is performed by
writing expressions next to one another, with no operator. For example:
@example
-$ awk '@{ print "Field number one: " $1 @}' BBS-list
+$ @kbd{awk '@{ print "Field number one: " $1 @}' BBS-list}
@print{} Field number one: aardvark
@print{} Field number one: alpo-net
@dots{}
@@ -8352,7 +8359,7 @@ Without the space in the string constant after the @samp{:}, the line
runs together. For example:
@example
-$ awk '@{ print "Field number one:" $1 @}' BBS-list
+$ @kbd{awk '@{ print "Field number one:" $1 @}' BBS-list}
@print{} Field number one:aardvark
@print{} Field number one:alpo-net
@dots{}
@@ -8372,9 +8379,10 @@ print "something meaningful" > file name
@end example
@noindent
-This produces a syntax error with Unix @command{awk}.@footnote{It happens
-that @command{gawk} and @command{mawk} ``get it right,'' but you should
-not rely on this.}
+This produces a syntax error with some versions of Unix
+@command{awk}.@footnote{It happens that the current
+Unix @command{awk}, @command{gawk} and @command{mawk} all ``get it right,''
+but you should not rely on this.}
It is necessary to use the following:
@example
@@ -8403,6 +8411,7 @@ before or after the value of @code{a} is retrieved for producing the
concatenated value. The result could be either @samp{don't panic},
or @samp{panic panic}.
@c see test/nasty.awk for a worse example
+
The precedence of concatenation, when mixed with other operators, is often
counter-intuitive. Consider this example:
@@ -8430,7 +8439,7 @@ counter-intuitive. Consider this example:
@end ignore
@example
-$ awk 'BEGIN @{ print -12 " " -24 @}'
+$ @kbd{awk 'BEGIN @{ print -12 " " -24 @}'}
@print{} -12-24
@end example
@@ -8438,10 +8447,10 @@ This ``obviously'' is concatenating @minus{}12, a space, and @minus{}24.
But where did the space disappear to?
The answer lies in the combination of operator precedences and
@command{awk}'s automatic conversion rules. To get the desired result,
-write the program in the following manner:
+write the program this way:
@example
-$ awk 'BEGIN @{ print -12 " " (-24) @}'
+$ @kbd{awk 'BEGIN @{ print -12 " " (-24) @}'}
@print{} -12 -24
@end example
@@ -8936,7 +8945,12 @@ like a number---for example, @code{@w{" +2"}}. This concept is used
for determining the type of a variable.
The type of the variable is important because the types of two variables
determine how they are compared.
-In @command{gawk}, variable typing follows these rules:
+The various versions of the POSIX standard did not get the rules
+quite right for several editions. Fortunately, as of at least the
+2008 standard (and possibly earlier), the standard has been fixed,
+and variable typing follows these rules:@footnote{@command{gawk} has
+followed these rules for many years,
+and it is gratifying that the POSIX standard is also now correct.}
@itemize @bullet
@item
@@ -8949,11 +8963,11 @@ attribute.
@item
Fields, @code{getline} input, @code{FILENAME}, @code{ARGV} elements,
-@code{ENVIRON} elements, and the
-elements of an array created by @code{split()} and @code{match()} that are numeric strings
-have the @var{strnum} attribute. Otherwise, they have the @var{string}
-attribute.
-Uninitialized variables also have the @var{strnum} attribute.
+@code{ENVIRON} elements, and the elements of an array created by
+@code{patsplit()}, @code{split()} and @code{match()} that are numeric
+strings have the @var{strnum} attribute. Otherwise, they have
+the @var{string} attribute. Uninitialized variables also have the
+@var{strnum} attribute.
@item
Attributes propagate across assignments but are not changed by
@@ -9049,9 +9063,7 @@ purposes.
In short, when one operand is a ``pure'' string, such as a string
constant, then a string comparison is performed. Otherwise, a
-numeric comparison is performed.@footnote{The POSIX standard has
-been revised. The revised standard's rules for typing and comparison are
-the same as just described for @command{gawk}.}
+numeric comparison is performed.
This point bears additional emphasis: All user input is made of characters,
and so is first and foremost of @var{string} type; input strings
@@ -9063,21 +9075,21 @@ The following examples print @samp{1} when the comparison between
the two different constants is true, @samp{0} otherwise:
@example
-$ echo ' +3.14' | gawk '@{ print $0 == " +3.14" @}' @i{True}
+$ @kbd{echo ' +3.14' | gawk '@{ print $0 == " +3.14" @}'} @ii{True}
@print{} 1
-$ echo ' +3.14' | gawk '@{ print $0 == "+3.14" @}' @i{False}
+$ @kbd{echo ' +3.14' | gawk '@{ print $0 == "+3.14" @}'} @ii{False}
@print{} 0
-$ echo ' +3.14' | gawk '@{ print $0 == "3.14" @}' @i{False}
+$ @kbd{echo ' +3.14' | gawk '@{ print $0 == "3.14" @}'} @ii{False}
@print{} 0
-$ echo ' +3.14' | gawk '@{ print $0 == 3.14 @}' @i{True}
+$ @kbd{echo ' +3.14' | gawk '@{ print $0 == 3.14 @}'} @ii{True}
@print{} 1
-$ echo ' +3.14' | gawk '@{ print $1 == " +3.14" @}' @i{False}
+$ @kbd{echo ' +3.14' | gawk '@{ print $1 == " +3.14" @}'} @ii{False}
@print{} 0
-$ echo ' +3.14' | gawk '@{ print $1 == "+3.14" @}' @i{True}
+$ @kbd{echo ' +3.14' | gawk '@{ print $1 == "+3.14" @}'} @ii{True}
@print{} 1
-$ echo ' +3.14' | gawk '@{ print $1 == "3.14" @}' @i{False}
+$ @kbd{echo ' +3.14' | gawk '@{ print $1 == "3.14" @}'} @ii{False}
@print{} 0
-$ echo ' +3.14' | gawk '@{ print $1 == 3.14 @}' @i{True}
+$ @kbd{echo ' +3.14' | gawk '@{ print $1 == 3.14 @}'} @ii{True}
@print{} 1
@end example
@@ -9177,10 +9189,10 @@ string comparison (true)
string comparison (false)
@end table
-In the next example:
+In this example:
@example
-$ echo 1e2 3 | awk '@{ print ($1 < $2) ? "true" : "false" @}'
+$ @kbd{echo 1e2 3 | awk '@{ print ($1 < $2) ? "true" : "false" @}'}
@print{} false
@end example
@@ -9194,6 +9206,7 @@ the @var{strnum} attribute, dictating a numeric comparison.
The purpose of the comparison rules and the use of numeric strings is
to attempt to produce the behavior that is ``least surprising,'' while
still ``doing the right thing.''
+
String comparisons and regular expression comparisons are very different.
For example:
@@ -9472,9 +9485,9 @@ there are no arguments, just write @samp{()} after the function name.
The following examples show function calls with and without arguments:
@example
-sqrt(x^2 + y^2) @i{one argument}
-atan2(y, x) @i{two arguments}
-rand() @i{no arguments}
+sqrt(x^2 + y^2) @ii{one argument}
+atan2(y, x) @ii{two arguments}
+rand() @ii{no arguments}
@end example
@cindex troubleshooting, function call syntax
@@ -9483,10 +9496,11 @@ Do not put any space between the function name and the open-parenthesis!
A user-defined function name looks just like the name of a
variable---a space would make the expression look like concatenation of
a variable with an expression inside parentheses.
-
With built-in functions, space before the parenthesis is harmless, but
it is best not to get into the habit of using space to avoid mistakes
-with user-defined functions. Each function expects a particular number
+with user-defined functions.
+
+Each function expects a particular number
of arguments. For example, the @code{sqrt()} function must be called with
a single argument, the number of which to take the square root:
@@ -9517,19 +9531,19 @@ The following program reads numbers, one number per line, and prints the
square root of each one:
@example
-$ awk '@{ print "The square root of", $1, "is", sqrt($1) @}'
-1
+$ @kbd{awk '@{ print "The square root of", $1, "is", sqrt($1) @}'}
+@kbd{1}
@print{} The square root of 1 is 1
-3
+@kbd{3}
@print{} The square root of 3 is 1.73205
-5
+@kbd{5}
@print{} The square root of 5 is 2.23607
@kbd{@value{CTL}-d}
@end example
A function can also have side effects, such as assigning
values to certain variables or doing I/O.
-This program shows how the @samp{match} function
+This program shows how the @code{match()} function
(@pxref{String Functions})
changes the variables @code{RSTART} and @code{RLENGTH}:
@@ -9546,12 +9560,12 @@ changes the variables @code{RSTART} and @code{RLENGTH}:
Here is a sample run:
@example
-$ awk -f matchit.awk
-aaccdd c+
+$ @kbd{awk -f matchit.awk}
+@kbd{aaccdd c+}
@print{} 3 2
-foo bar
+@kbd{foo bar}
@print{} no match
-abcdefg e
+@kbd{abcdefg e}
@print{} 5 1
@end example
@@ -9610,7 +9624,7 @@ Grouping.
@cindex @code{$} (dollar sign), @code{$} field operator
@cindex dollar sign (@code{$}), @code{$} field operator
@item $
-Field.
+Field reference.
@cindex @code{+} (plus sign), @code{++} operator
@cindex plus sign (@code{+}), @code{++} operator
@@ -9652,7 +9666,7 @@ Multiplication, division, remainder.
Addition, subtraction.
@item @r{String Concatenation}
-No special symbol is used to indicate concatenation.
+There is no special symbol for concatenation.
The operands are simply written side by side
(@pxref{Concatenation}).
@@ -9735,7 +9749,7 @@ Conditional. This operator groups right-to-left.
@cindex @code{^} (caret), @code{^=} operator
@cindex caret (@code{^}), @code{^=} operator
@item = += -= *= /= %= ^= **=
-Assignment. These operators group right to left.
+Assignment. These operators group right-to-left.
@end table
@cindex portability, operators, not in POSIX @command{awk}
@@ -11191,7 +11205,8 @@ is to simply say @samp{FS = FS}, perhaps with an explanatory comment.
If @code{IGNORECASE} is nonzero or non-null, then all string comparisons
and all regular expression matching are case independent. Thus, regexp
matching with @samp{~} and @samp{!~}, as well as the @code{gensub()},
-@code{gsub()}, @code{index()}, @code{match()}, @code{split()}, and @code{sub()}
+@code{gsub()}, @code{index()}, @code{match()}, @code{patsplit()},
+@code{split()}, and @code{sub()}
functions, record termination with @code{RS}, and field splitting with
@code{FS}, all ignore case when doing their particular regexp operations.
However, the value of @code{IGNORECASE} does @emph{not} affect array subscripting
@@ -21679,8 +21694,8 @@ arguments and perform in the same way.
@c STARTOFRANGE filspl
@cindex files, splitting
-@cindex @code{split()} utility
-The @code{split()} program splits large text files into smaller pieces.
+@cindex @code{split} utility
+The @command{split} program splits large text files into smaller pieces.
Usage is as follows:
@example
@@ -21696,8 +21711,8 @@ instead of 1000. To change the name of the output files to something like
@file{myfileaa}, @file{myfileab}, and so on, supply an additional
argument that specifies the @value{FN} prefix.
-Here is a version of @code{split()} in @command{awk}. It uses the @code{ord} and
-@code{chr} functions presented in
+Here is a version of @command{split} in @command{awk}. It uses the
+@code{ord()} and @code{chr()} functions presented in
@ref{Ordinal Functions}.
The program first sets its defaults, and then tests to make sure there are
@@ -31918,6 +31933,7 @@ Consistency issues:
Use @code{do}, and not @code{do}-@code{while}, except where
actually discussing the do-while.
Use "versus" in text and "vs." in index entries
+ Use @code{"C"} for the C locale, not ``C''.
The words "a", "and", "as", "between", "for", "from", "in", "of",
"on", "that", "the", "to", "with", and "without",
should not be capitalized in @chapter, @section etc.