aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/ChangeLog4
-rw-r--r--doc/gawk.info1161
-rw-r--r--doc/gawk.texi104
-rw-r--r--doc/gawktexi.in104
4 files changed, 695 insertions, 678 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog
index f6c1eaf0..63f6cd02 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-21 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in: O'Reilly fixes.
+
2015-01-20 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: O'Reilly fixes.
diff --git a/doc/gawk.info b/doc/gawk.info
index b81c0700..de004225 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2277,9 +2277,10 @@ built-in functions for working with timestamps, performing bit
manipulation, for runtime string translation (internationalization),
determining the type of a variable, and array sorting.
- As we develop our presentation of the `awk' language, we introduce
-most of the variables and many of the functions. They are described
-systematically in *note Built-in Variables::, and in *note Built-in::.
+ As we develop our presentation of the `awk' language, we will
+introduce most of the variables and many of the functions. They are
+described systematically in *note Built-in Variables::, and in *note
+Built-in::.

File: gawk.info, Node: When, Next: Intro Summary, Prev: Other Features, Up: Getting Started
@@ -2344,7 +2345,7 @@ File: gawk.info, Node: Intro Summary, Prev: When, Up: Getting Started
* You may use backslash continuation to continue a source line.
Lines are automatically continued after a comma, open brace,
- question mark, colon, `||', `&&', `do' and `else'.
+ question mark, colon, `||', `&&', `do', and `else'.

File: gawk.info, Node: Invoking Gawk, Next: Regexp, Prev: Getting Started, Up: Top
@@ -2411,8 +2412,8 @@ File: gawk.info, Node: Options, Next: Other Arguments, Prev: Command Line, U
Options begin with a dash and consist of a single character. GNU-style
long options consist of two dashes and a keyword. The keyword can be
abbreviated, as long as the abbreviation allows the option to be
-uniquely identified. If the option takes an argument, then the keyword
-is either immediately followed by an equals sign (`=') and the
+uniquely identified. If the option takes an argument, either the
+keyword is immediately followed by an equals sign (`=') and the
argument's value, or the keyword and the argument's value are separated
by whitespace. If a particular option with a value is given more than
once, it is the last value that counts.
@@ -2427,10 +2428,10 @@ The following list describes options mandated by the POSIX standard:
`-f SOURCE-FILE'
`--file SOURCE-FILE'
- Read `awk' program source from SOURCE-FILE instead of in the first
- nonoption argument. This option may be given multiple times; the
- `awk' program consists of the concatenation of the contents of
- each specified SOURCE-FILE.
+ Read the `awk' program source from SOURCE-FILE instead of in the
+ first nonoption argument. This option may be given multiple
+ times; the `awk' program consists of the concatenation of the
+ contents of each specified SOURCE-FILE.
`-v VAR=VAL'
`--assign VAR=VAL'
@@ -2471,7 +2472,7 @@ The following list describes options mandated by the POSIX standard:
`-b'
`--characters-as-bytes'
Cause `gawk' to treat all input data as single-byte characters.
- In addition, all output written with `print' or `printf' are
+ In addition, all output written with `print' or `printf' is
treated as single-byte characters.
Normally, `gawk' follows the POSIX standard and attempts to process
@@ -2479,7 +2480,7 @@ The following list describes options mandated by the POSIX standard:
This can often involve converting multibyte characters into wide
characters (internally), and can lead to problems or confusion if
the input data does not contain valid multibyte characters. This
- option is an easy way to tell `gawk': "hands off my data!".
+ option is an easy way to tell `gawk', "Hands off my data!"
`-c'
`--traditional'
@@ -2514,7 +2515,7 @@ The following list describes options mandated by the POSIX standard:
default, the debugger reads commands interactively from the
keyboard (standard input). The optional FILE argument allows you
to specify a file with a list of commands for the debugger to
- execute non-interactively. No space is allowed between the `-D'
+ execute noninteractively. No space is allowed between the `-D'
and FILE, if FILE is supplied.
`-e' PROGRAM-TEXT
@@ -2549,23 +2550,23 @@ The following list describes options mandated by the POSIX standard:
`-g'
`--gen-pot'
- Analyze the source program and generate a GNU `gettext' Portable
- Object Template file on standard output for all string constants
+ Analyze the source program and generate a GNU `gettext' portable
+ object template file on standard output for all string constants
that have been marked for translation. *Note
Internationalization::, for information about this option.
`-h'
`--help'
- Print a "usage" message summarizing the short and long style
+ Print a "usage" message summarizing the short- and long-style
options that `gawk' accepts and then exit.
`-i' SOURCE-FILE
`--include' SOURCE-FILE
Read an `awk' source library from SOURCE-FILE. This option is
completely equivalent to using the `@include' directive inside
- your program. This option is very similar to the `-f' option, but
- there are two important differences. First, when `-i' is used,
- the program source is not loaded if it has been previously loaded,
+ your program. It is very similar to the `-f' option, but there
+ are two important differences. First, when `-i' is used, the
+ program source is not loaded if it has been previously loaded,
whereas with `-f', `gawk' always loads the file. Second, because
this option is intended to be used with code libraries, `gawk'
does not recognize such files as constituting main program input.
@@ -2627,15 +2628,15 @@ The following list describes options mandated by the POSIX standard:
`-o'[FILE]
`--pretty-print'[`='FILE]
- Enable pretty-printing of `awk' programs. By default, output
+ Enable pretty-printing of `awk' programs. By default, the output
program is created in a file named `awkprof.out' (*note
Profiling::). The optional FILE argument allows you to specify a
different file name for the output. No space is allowed between
the `-o' and FILE, if FILE is supplied.
NOTE: Due to the way `gawk' has evolved, with this option
- your program is still executed. This will change in the next
- major release such that `gawk' will only pretty-print the
+ your program still executes. This will change in the next
+ major release, such that `gawk' will only pretty-print the
program and not run it.
`-O'
@@ -2735,7 +2736,7 @@ input as a source of data.)
Because it is clumsy using the standard `awk' mechanisms to mix
source file and command-line `awk' programs, `gawk' provides the `-e'
-option. This does not require you to pre-empt the standard input for
+option. This does not require you to preempt the standard input for
your source code; it allows you to easily mix command-line and library
source code (*note AWKPATH Variable::). As with `-f', the `-e' and `-i'
options may also be used multiple times on the command line.
@@ -2894,7 +2895,7 @@ implementations, you must supply a precise pathname for each program
file, unless the file is in the current directory. But with `gawk', if
the file name supplied to the `-f' or `-i' options does not contain a
directory separator `/', then `gawk' searches a list of directories
-(called the "search path"), one by one, looking for a file with the
+(called the "search path") one by one, looking for a file with the
specified name.
The search path is a string consisting of directory names separated by
@@ -2927,9 +2928,9 @@ or by placing two colons next to each other [`::'].)
Different past versions of `gawk' would also look explicitly in
the current directory, either before or after the path search. As
- of version 4.1.2, this no longer happens, and if you wish to look
- in the current directory, you must include `.' either as a separate
- entry, or as a null entry in the search path.
+ of version 4.1.2, this no longer happens; if you wish to look in
+ the current directory, you must include `.' either as a separate
+ entry or as a null entry in the search path.
The default value for `AWKPATH' is `.:/usr/local/share/awk'.(2)
Since `.' is included at the beginning, `gawk' searches first in the
@@ -3035,7 +3036,7 @@ change. The variables are:
If this variable exists, `gawk' includes the file name and line
number within the `gawk' source code from which warning and/or
fatal messages are generated. Its purpose is to help isolate the
- source of a message, as there are multiple places which produce the
+ source of a message, as there are multiple places that produce the
same warning or error message.
`GAWK_NO_DFA'
@@ -3058,16 +3059,16 @@ change. The variables are:
evaluation stack, when needed.
`INT_CHAIN_MAX'
- The intended maximum number of items `gawk' will maintain on a
- hash chain for managing arrays indexed by integers.
+ This specifies intended maximum number of items `gawk' will
+ maintain on a hash chain for managing arrays indexed by integers.
`STR_CHAIN_MAX'
- The intended maximum number of items `gawk' will maintain on a
- hash chain for managing arrays indexed by strings.
+ This specifies intended maximum number of items `gawk' will
+ maintain on a hash chain for managing arrays indexed by strings.
`TIDYMEM'
If this variable exists, `gawk' uses the `mtrace()' library calls
- from GNU LIBC to help track down possible memory leaks.
+ from the GNU C library to help track down possible memory leaks.

File: gawk.info, Node: Exit Status, Next: Include Files, Prev: Environment Variables, Up: Invoking Gawk
@@ -3099,11 +3100,11 @@ This minor node describes a feature that is specific to `gawk'.
files. This gives you the ability to split large `awk' source files
into smaller, more manageable pieces, and also lets you reuse common
`awk' code from various `awk' scripts. In other words, you can group
-together `awk' functions, used to carry out specific tasks, into
-external files. These files can be used just like function libraries,
-using the `@include' keyword in conjunction with the `AWKPATH'
-environment variable. Note that source files may also be included
-using the `-i' option.
+together `awk' functions used to carry out specific tasks into external
+files. These files can be used just like function libraries, using the
+`@include' keyword in conjunction with the `AWKPATH' environment
+variable. Note that source files may also be included using the `-i'
+option.
Let's see an example. We'll start with two (trivial) `awk' scripts,
namely `test1' and `test2'. Here is the `test1' script:
@@ -3165,11 +3166,11 @@ Variable::) apply to `@include' also.
This is very helpful in constructing `gawk' function libraries. If
you have a large script with useful, general-purpose `awk' functions,
you can break it down into library files and put those files in a
-special directory. You can then include those "libraries," using
-either the full pathnames of the files, or by setting the `AWKPATH'
+special directory. You can then include those "libraries," either by
+using the full pathnames of the files, or by setting the `AWKPATH'
environment variable accordingly and then using `@include' with just
-the file part of the full pathname. Of course, you can have more than
-one directory to keep library files; the more complex the working
+the file part of the full pathname. Of course, you can keep library
+files in more than one directory; the more complex the working
environment is, the more directories you may need to organize the files
to be included.
@@ -3181,8 +3182,8 @@ particular, `@include' is very useful for writing CGI scripts to be run
from web pages.
As mentioned in *note AWKPATH Variable::, the current directory is
-always searched first for source files, before searching in `AWKPATH',
-and this also applies to files named with `@include'.
+always searched first for source files, before searching in `AWKPATH';
+this also applies to files named with `@include'.

File: gawk.info, Node: Loading Shared Libraries, Next: Obsolete, Prev: Include Files, Up: Invoking Gawk
@@ -3227,8 +3228,8 @@ File: gawk.info, Node: Obsolete, Next: Undocumented, Prev: Loading Shared Lib
====================================
This minor node describes features and/or command-line options from
-previous releases of `gawk' that are either not available in the
-current version or that are still supported but deprecated (meaning that
+previous releases of `gawk' that either are not available in the
+current version or are still supported but deprecated (meaning that
they will _not_ be in the next release).
The process-related special files `/dev/pid', `/dev/ppid',
@@ -3256,7 +3257,7 @@ File: gawk.info, Node: Invoking Summary, Prev: Undocumented, Up: Invoking Gaw
run `awk'.
* The three standard options for all versions of `awk' are `-f',
- `-F' and `-v'. `gawk' supplies these and many others, as well as
+ `-F', and `-v'. `gawk' supplies these and many others, as well as
corresponding GNU-style long options.
* Nonoption command-line arguments are usually treated as file names,
@@ -3286,7 +3287,7 @@ File: gawk.info, Node: Invoking Summary, Prev: Undocumented, Up: Invoking Gaw
* `gawk' allows you to load additional functions written in C or C++
using the `@load' statement and/or the `-l' option. (This
- advanced feature is described later on in *note Dynamic
+ advanced feature is described later, in *note Dynamic
Extensions::.)

@@ -3435,7 +3436,7 @@ sequences apply to both string constants and regexp constants:
Horizontal TAB, `Ctrl-i', ASCII code 9 (HT).
`\v'
- Vertical tab, `Ctrl-k', ASCII code 11 (VT).
+ Vertical TAB, `Ctrl-k', ASCII code 11 (VT).
`\NNN'
The octal value NNN, where NNN stands for 1 to 3 digits between
@@ -3482,7 +3483,7 @@ normally be a regexp operator. For example, `/a\+b/' matches the three
characters `a+b'.
For complete portability, do not use a backslash before any
-character not shown in the previous list and that is not an operator.
+character not shown in the previous list or that is not an operator.
Backslash Before Regular Characters
@@ -3544,7 +3545,7 @@ and converted into corresponding real characters as the very first step
in processing regexps.
Here is a list of metacharacters. All characters that are not escape
-sequences and that are not listed in the following stand for themselves:
+sequences and that are not listed here stand for themselves:
`\'
This suppresses the special meaning of a character when matching.
@@ -3627,7 +3628,7 @@ sequences and that are not listed in the following stand for themselves:
There are two subtle points to understand about how `*' works.
First, the `*' applies only to the single preceding regular
expression component (e.g., in `ph*', it applies just to the `h').
- To cause `*' to apply to a larger sub-expression, use parentheses:
+ To cause `*' to apply to a larger subexpression, use parentheses:
`(ph)*' matches `ph', `phph', `phphph', and so on.
Second, `*' finds as many repetitions as possible. If the text to
@@ -3658,10 +3659,10 @@ sequences and that are not listed in the following stand for themselves:
Matches `whhhy', but not `why' or `whhhhy'.
`wh{3,5}y'
- Matches `whhhy', `whhhhy', or `whhhhhy', only.
+ Matches `whhhy', `whhhhy', or `whhhhhy' only.
`wh{2,}y'
- Matches `whhy' or `whhhy', and so on.
+ Matches `whhy', `whhhy', and so on.
Interval expressions were not traditionally available in `awk'.
They were added as part of the POSIX standard to make `awk' and
@@ -3763,7 +3764,7 @@ Class Meaning
`[:print:]' Printable characters (characters that are not control
characters)
`[:punct:]' Punctuation characters (characters that are not letters,
- digits control characters, or space characters)
+ digits, control characters, or space characters)
`[:space:]' Space characters (such as space, TAB, and formfeed, to name
a few)
`[:upper:]' Uppercase alphabetic characters
@@ -20564,8 +20565,8 @@ File: gawk.info, Node: Gawk I18N, Next: I18N Summary, Prev: I18N Example, Up
`gawk' itself has been internationalized using the GNU `gettext'
package. (GNU `gettext' is described in complete detail in *note (GNU
`gettext' utilities)Top:: gettext, GNU gettext tools.) As of this
-writing, the latest version of GNU `gettext' is version 0.19.3
-(ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.3.tar.gz).
+writing, the latest version of GNU `gettext' is version 0.19.4
+(ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz).
If a translation of `gawk''s messages exists, then `gawk' produces
usage messages, warnings, and fatal errors in the local language.
@@ -21922,7 +21923,7 @@ so:
$ gawk --version
-| GNU Awk 4.1.2, API: 1.1 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2)
- -| Copyright (C) 1989, 1991-2014 Free Software Foundation.
+ -| Copyright (C) 1989, 1991-2015 Free Software Foundation.
...
(You may see different version numbers than what's shown here. That's
@@ -28270,7 +28271,7 @@ Unix `awk'
git clone git://github.com/onetrueawk/awk bwkawk
- This command creates a copy of the Git (http://www.git-scm.com)
+ This command creates a copy of the Git (http://git-scm.com)
repository in a directory named `bwkawk'. If you leave that
argument off the `git' command line, the repository copy is
created in a directory named `awk'.
@@ -28502,7 +28503,7 @@ released versions of `gawk'.
changes, you will probably wish to work with the development version.
To do so, you will need to access the `gawk' source code repository.
The code is maintained using the Git distributed version control system
-(http://git-scm.com/). You will need to install it if your system
+(http://git-scm.com). You will need to install it if your system
doesn't have it. Once you have done so, use the command:
git clone git://git.savannah.gnu.org/gawk.git
@@ -34333,525 +34334,525 @@ Node: More Complex102449
Node: Statements/Lines105311
Ref: Statements/Lines-Footnote-1109766
Node: Other Features110031
-Node: When110962
-Ref: When-Footnote-1112716
-Node: Intro Summary112781
-Node: Invoking Gawk113664
-Node: Command Line115178
-Node: Options115976
-Ref: Options-Footnote-1131909
-Ref: Options-Footnote-2132138
-Node: Other Arguments132163
-Node: Naming Standard Input135111
-Node: Environment Variables136204
-Node: AWKPATH Variable136762
-Ref: AWKPATH Variable-Footnote-1140065
-Ref: AWKPATH Variable-Footnote-2140110
-Node: AWKLIBPATH Variable140370
-Node: Other Environment Variables141513
-Node: Exit Status145241
-Node: Include Files145917
-Node: Loading Shared Libraries149514
-Node: Obsolete150941
-Node: Undocumented151638
-Node: Invoking Summary151905
-Node: Regexp153569
-Node: Regexp Usage155023
-Node: Escape Sequences157060
-Node: Regexp Operators163071
-Ref: Regexp Operators-Footnote-1170497
-Ref: Regexp Operators-Footnote-2170644
-Node: Bracket Expressions170742
-Ref: table-char-classes172757
-Node: Leftmost Longest175681
-Node: Computed Regexps176983
-Node: GNU Regexp Operators180380
-Node: Case-sensitivity184053
-Ref: Case-sensitivity-Footnote-1186938
-Ref: Case-sensitivity-Footnote-2187173
-Node: Regexp Summary187281
-Node: Reading Files188748
-Node: Records190842
-Node: awk split records191575
-Node: gawk split records196490
-Ref: gawk split records-Footnote-1201034
-Node: Fields201071
-Ref: Fields-Footnote-1203847
-Node: Nonconstant Fields203933
-Ref: Nonconstant Fields-Footnote-1206176
-Node: Changing Fields206380
-Node: Field Separators212309
-Node: Default Field Splitting215014
-Node: Regexp Field Splitting216131
-Node: Single Character Fields219481
-Node: Command Line Field Separator220540
-Node: Full Line Fields223752
-Ref: Full Line Fields-Footnote-1225269
-Ref: Full Line Fields-Footnote-2225315
-Node: Field Splitting Summary225416
-Node: Constant Size227490
-Node: Splitting By Content232079
-Ref: Splitting By Content-Footnote-1236073
-Node: Multiple Line236236
-Ref: Multiple Line-Footnote-1242122
-Node: Getline242301
-Node: Plain Getline244513
-Node: Getline/Variable247153
-Node: Getline/File248301
-Node: Getline/Variable/File249685
-Ref: Getline/Variable/File-Footnote-1251288
-Node: Getline/Pipe251375
-Node: Getline/Variable/Pipe254058
-Node: Getline/Coprocess255189
-Node: Getline/Variable/Coprocess256441
-Node: Getline Notes257180
-Node: Getline Summary259972
-Ref: table-getline-variants260384
-Node: Read Timeout261213
-Ref: Read Timeout-Footnote-1265037
-Node: Command-line directories265095
-Node: Input Summary266000
-Node: Input Exercises269301
-Node: Printing270029
-Node: Print271806
-Node: Print Examples273263
-Node: Output Separators276042
-Node: OFMT278060
-Node: Printf279414
-Node: Basic Printf280199
-Node: Control Letters281769
-Node: Format Modifiers285752
-Node: Printf Examples291761
-Node: Redirection294247
-Node: Special FD301088
-Ref: Special FD-Footnote-1304248
-Node: Special Files304322
-Node: Other Inherited Files304939
-Node: Special Network305939
-Node: Special Caveats306801
-Node: Close Files And Pipes307752
-Ref: Close Files And Pipes-Footnote-1314934
-Ref: Close Files And Pipes-Footnote-2315082
-Node: Output Summary315232
-Node: Output Exercises316230
-Node: Expressions316910
-Node: Values318095
-Node: Constants318773
-Node: Scalar Constants319464
-Ref: Scalar Constants-Footnote-1320323
-Node: Nondecimal-numbers320573
-Node: Regexp Constants323591
-Node: Using Constant Regexps324116
-Node: Variables327259
-Node: Using Variables327914
-Node: Assignment Options329825
-Node: Conversion331700
-Node: Strings And Numbers332224
-Ref: Strings And Numbers-Footnote-1335289
-Node: Locale influences conversions335398
-Ref: table-locale-affects338145
-Node: All Operators338733
-Node: Arithmetic Ops339363
-Node: Concatenation341868
-Ref: Concatenation-Footnote-1344687
-Node: Assignment Ops344793
-Ref: table-assign-ops349772
-Node: Increment Ops351044
-Node: Truth Values and Conditions354482
-Node: Truth Values355567
-Node: Typing and Comparison356616
-Node: Variable Typing357426
-Node: Comparison Operators361079
-Ref: table-relational-ops361489
-Node: POSIX String Comparison364984
-Ref: POSIX String Comparison-Footnote-1366056
-Node: Boolean Ops366194
-Ref: Boolean Ops-Footnote-1370673
-Node: Conditional Exp370764
-Node: Function Calls372491
-Node: Precedence376371
-Node: Locales380032
-Node: Expressions Summary381664
-Node: Patterns and Actions384224
-Node: Pattern Overview385344
-Node: Regexp Patterns387023
-Node: Expression Patterns387566
-Node: Ranges391276
-Node: BEGIN/END394382
-Node: Using BEGIN/END395143
-Ref: Using BEGIN/END-Footnote-1397877
-Node: I/O And BEGIN/END397983
-Node: BEGINFILE/ENDFILE400297
-Node: Empty403198
-Node: Using Shell Variables403515
-Node: Action Overview405788
-Node: Statements408114
-Node: If Statement409962
-Node: While Statement411457
-Node: Do Statement413486
-Node: For Statement414630
-Node: Switch Statement417787
-Node: Break Statement420169
-Node: Continue Statement422210
-Node: Next Statement424037
-Node: Nextfile Statement426418
-Node: Exit Statement429048
-Node: Built-in Variables431451
-Node: User-modified432584
-Ref: User-modified-Footnote-1440265
-Node: Auto-set440327
-Ref: Auto-set-Footnote-1453362
-Ref: Auto-set-Footnote-2453567
-Node: ARGC and ARGV453623
-Node: Pattern Action Summary457841
-Node: Arrays460268
-Node: Array Basics461597
-Node: Array Intro462441
-Ref: figure-array-elements464405
-Ref: Array Intro-Footnote-1466931
-Node: Reference to Elements467059
-Node: Assigning Elements469511
-Node: Array Example470002
-Node: Scanning an Array471760
-Node: Controlling Scanning474776
-Ref: Controlling Scanning-Footnote-1479972
-Node: Numeric Array Subscripts480288
-Node: Uninitialized Subscripts482473
-Node: Delete484090
-Ref: Delete-Footnote-1486833
-Node: Multidimensional486890
-Node: Multiscanning489987
-Node: Arrays of Arrays491576
-Node: Arrays Summary496335
-Node: Functions498427
-Node: Built-in499326
-Node: Calling Built-in500404
-Node: Numeric Functions502395
-Ref: Numeric Functions-Footnote-1506412
-Ref: Numeric Functions-Footnote-2506769
-Ref: Numeric Functions-Footnote-3506817
-Node: String Functions507089
-Ref: String Functions-Footnote-1530564
-Ref: String Functions-Footnote-2530693
-Ref: String Functions-Footnote-3530941
-Node: Gory Details531028
-Ref: table-sub-escapes532809
-Ref: table-sub-proposed534329
-Ref: table-posix-sub535693
-Ref: table-gensub-escapes537229
-Ref: Gory Details-Footnote-1538061
-Node: I/O Functions538212
-Ref: I/O Functions-Footnote-1545430
-Node: Time Functions545577
-Ref: Time Functions-Footnote-1556065
-Ref: Time Functions-Footnote-2556133
-Ref: Time Functions-Footnote-3556291
-Ref: Time Functions-Footnote-4556402
-Ref: Time Functions-Footnote-5556514
-Ref: Time Functions-Footnote-6556741
-Node: Bitwise Functions557007
-Ref: table-bitwise-ops557569
-Ref: Bitwise Functions-Footnote-1561878
-Node: Type Functions562047
-Node: I18N Functions563198
-Node: User-defined564843
-Node: Definition Syntax565648
-Ref: Definition Syntax-Footnote-1571055
-Node: Function Example571126
-Ref: Function Example-Footnote-1574045
-Node: Function Caveats574067
-Node: Calling A Function574585
-Node: Variable Scope575543
-Node: Pass By Value/Reference578531
-Node: Return Statement582026
-Node: Dynamic Typing585007
-Node: Indirect Calls585936
-Ref: Indirect Calls-Footnote-1597238
-Node: Functions Summary597366
-Node: Library Functions600068
-Ref: Library Functions-Footnote-1603677
-Ref: Library Functions-Footnote-2603820
-Node: Library Names603991
-Ref: Library Names-Footnote-1607445
-Ref: Library Names-Footnote-2607668
-Node: General Functions607754
-Node: Strtonum Function608857
-Node: Assert Function611879
-Node: Round Function615203
-Node: Cliff Random Function616744
-Node: Ordinal Functions617760
-Ref: Ordinal Functions-Footnote-1620823
-Ref: Ordinal Functions-Footnote-2621075
-Node: Join Function621286
-Ref: Join Function-Footnote-1623055
-Node: Getlocaltime Function623255
-Node: Readfile Function626999
-Node: Shell Quoting628969
-Node: Data File Management630370
-Node: Filetrans Function631002
-Node: Rewind Function635058
-Node: File Checking636445
-Ref: File Checking-Footnote-1637777
-Node: Empty Files637978
-Node: Ignoring Assigns639957
-Node: Getopt Function641508
-Ref: Getopt Function-Footnote-1652970
-Node: Passwd Functions653170
-Ref: Passwd Functions-Footnote-1662007
-Node: Group Functions662095
-Ref: Group Functions-Footnote-1669989
-Node: Walking Arrays670202
-Node: Library Functions Summary671805
-Node: Library Exercises673206
-Node: Sample Programs674486
-Node: Running Examples675256
-Node: Clones675984
-Node: Cut Program677208
-Node: Egrep Program686927
-Ref: Egrep Program-Footnote-1694425
-Node: Id Program694535
-Node: Split Program698180
-Ref: Split Program-Footnote-1701628
-Node: Tee Program701756
-Node: Uniq Program704545
-Node: Wc Program711964
-Ref: Wc Program-Footnote-1716214
-Node: Miscellaneous Programs716308
-Node: Dupword Program717521
-Node: Alarm Program719552
-Node: Translate Program724356
-Ref: Translate Program-Footnote-1728921
-Node: Labels Program729191
-Ref: Labels Program-Footnote-1732542
-Node: Word Sorting732626
-Node: History Sorting736697
-Node: Extract Program738533
-Node: Simple Sed746058
-Node: Igawk Program749126
-Ref: Igawk Program-Footnote-1763450
-Ref: Igawk Program-Footnote-2763651
-Ref: Igawk Program-Footnote-3763773
-Node: Anagram Program763888
-Node: Signature Program766945
-Node: Programs Summary768192
-Node: Programs Exercises769385
-Ref: Programs Exercises-Footnote-1773516
-Node: Advanced Features773607
-Node: Nondecimal Data775555
-Node: Array Sorting777145
-Node: Controlling Array Traversal777842
-Ref: Controlling Array Traversal-Footnote-1786175
-Node: Array Sorting Functions786293
-Ref: Array Sorting Functions-Footnote-1790182
-Node: Two-way I/O790378
-Ref: Two-way I/O-Footnote-1795323
-Ref: Two-way I/O-Footnote-2795509
-Node: TCP/IP Networking795591
-Node: Profiling798464
-Node: Advanced Features Summary806011
-Node: Internationalization807944
-Node: I18N and L10N809424
-Node: Explaining gettext810110
-Ref: Explaining gettext-Footnote-1815135
-Ref: Explaining gettext-Footnote-2815319
-Node: Programmer i18n815484
-Ref: Programmer i18n-Footnote-1820350
-Node: Translator i18n820399
-Node: String Extraction821193
-Ref: String Extraction-Footnote-1822324
-Node: Printf Ordering822410
-Ref: Printf Ordering-Footnote-1825196
-Node: I18N Portability825260
-Ref: I18N Portability-Footnote-1827715
-Node: I18N Example827778
-Ref: I18N Example-Footnote-1830581
-Node: Gawk I18N830653
-Node: I18N Summary831291
-Node: Debugger832630
-Node: Debugging833652
-Node: Debugging Concepts834093
-Node: Debugging Terms835946
-Node: Awk Debugging838518
-Node: Sample Debugging Session839412
-Node: Debugger Invocation839932
-Node: Finding The Bug841316
-Node: List of Debugger Commands847791
-Node: Breakpoint Control849124
-Node: Debugger Execution Control852820
-Node: Viewing And Changing Data856184
-Node: Execution Stack859562
-Node: Debugger Info861199
-Node: Miscellaneous Debugger Commands865216
-Node: Readline Support870245
-Node: Limitations871137
-Node: Debugging Summary873251
-Node: Arbitrary Precision Arithmetic874419
-Node: Computer Arithmetic875835
-Ref: table-numeric-ranges879433
-Ref: Computer Arithmetic-Footnote-1880292
-Node: Math Definitions880349
-Ref: table-ieee-formats883637
-Ref: Math Definitions-Footnote-1884241
-Node: MPFR features884346
-Node: FP Math Caution886017
-Ref: FP Math Caution-Footnote-1887067
-Node: Inexactness of computations887436
-Node: Inexact representation888395
-Node: Comparing FP Values889752
-Node: Errors accumulate890834
-Node: Getting Accuracy892267
-Node: Try To Round894929
-Node: Setting precision895828
-Ref: table-predefined-precision-strings896512
-Node: Setting the rounding mode898301
-Ref: table-gawk-rounding-modes898665
-Ref: Setting the rounding mode-Footnote-1902120
-Node: Arbitrary Precision Integers902299
-Ref: Arbitrary Precision Integers-Footnote-1905285
-Node: POSIX Floating Point Problems905434
-Ref: POSIX Floating Point Problems-Footnote-1909307
-Node: Floating point summary909345
-Node: Dynamic Extensions911539
-Node: Extension Intro913091
-Node: Plugin License914357
-Node: Extension Mechanism Outline915154
-Ref: figure-load-extension915582
-Ref: figure-register-new-function917062
-Ref: figure-call-new-function918066
-Node: Extension API Description920052
-Node: Extension API Functions Introduction921502
-Node: General Data Types926326
-Ref: General Data Types-Footnote-1932065
-Node: Memory Allocation Functions932364
-Ref: Memory Allocation Functions-Footnote-1935203
-Node: Constructor Functions935299
-Node: Registration Functions937033
-Node: Extension Functions937718
-Node: Exit Callback Functions940015
-Node: Extension Version String941263
-Node: Input Parsers941928
-Node: Output Wrappers951807
-Node: Two-way processors956322
-Node: Printing Messages958526
-Ref: Printing Messages-Footnote-1959602
-Node: Updating `ERRNO'959754
-Node: Requesting Values960494
-Ref: table-value-types-returned961222
-Node: Accessing Parameters962179
-Node: Symbol Table Access963410
-Node: Symbol table by name963924
-Node: Symbol table by cookie965905
-Ref: Symbol table by cookie-Footnote-1970049
-Node: Cached values970112
-Ref: Cached values-Footnote-1973611
-Node: Array Manipulation973702
-Ref: Array Manipulation-Footnote-1974800
-Node: Array Data Types974837
-Ref: Array Data Types-Footnote-1977492
-Node: Array Functions977584
-Node: Flattening Arrays981438
-Node: Creating Arrays988330
-Node: Extension API Variables993101
-Node: Extension Versioning993737
-Node: Extension API Informational Variables995638
-Node: Extension API Boilerplate996703
-Node: Finding Extensions1000512
-Node: Extension Example1001072
-Node: Internal File Description1001844
-Node: Internal File Ops1005911
-Ref: Internal File Ops-Footnote-11017581
-Node: Using Internal File Ops1017721
-Ref: Using Internal File Ops-Footnote-11020104
-Node: Extension Samples1020377
-Node: Extension Sample File Functions1021903
-Node: Extension Sample Fnmatch1029541
-Node: Extension Sample Fork1031032
-Node: Extension Sample Inplace1032247
-Node: Extension Sample Ord1033922
-Node: Extension Sample Readdir1034758
-Ref: table-readdir-file-types1035634
-Node: Extension Sample Revout1036445
-Node: Extension Sample Rev2way1037035
-Node: Extension Sample Read write array1037775
-Node: Extension Sample Readfile1039715
-Node: Extension Sample Time1040810
-Node: Extension Sample API Tests1042159
-Node: gawkextlib1042650
-Node: Extension summary1045308
-Node: Extension Exercises1048997
-Node: Language History1049719
-Node: V7/SVR3.11051375
-Node: SVR41053556
-Node: POSIX1055001
-Node: BTL1056390
-Node: POSIX/GNU1057124
-Node: Feature History1062688
-Node: Common Extensions1075786
-Node: Ranges and Locales1077110
-Ref: Ranges and Locales-Footnote-11081728
-Ref: Ranges and Locales-Footnote-21081755
-Ref: Ranges and Locales-Footnote-31081989
-Node: Contributors1082210
-Node: History summary1087751
-Node: Installation1089121
-Node: Gawk Distribution1090067
-Node: Getting1090551
-Node: Extracting1091374
-Node: Distribution contents1093009
-Node: Unix Installation1098726
-Node: Quick Installation1099343
-Node: Additional Configuration Options1101767
-Node: Configuration Philosophy1103505
-Node: Non-Unix Installation1105874
-Node: PC Installation1106332
-Node: PC Binary Installation1107651
-Node: PC Compiling1109499
-Ref: PC Compiling-Footnote-11112520
-Node: PC Testing1112629
-Node: PC Using1113805
-Node: Cygwin1117920
-Node: MSYS1118743
-Node: VMS Installation1119243
-Node: VMS Compilation1120035
-Ref: VMS Compilation-Footnote-11121257
-Node: VMS Dynamic Extensions1121315
-Node: VMS Installation Details1122999
-Node: VMS Running1125251
-Node: VMS GNV1128087
-Node: VMS Old Gawk1128821
-Node: Bugs1129291
-Node: Other Versions1133174
-Node: Installation summary1139602
-Node: Notes1140658
-Node: Compatibility Mode1141523
-Node: Additions1142305
-Node: Accessing The Source1143230
-Node: Adding Code1144666
-Node: New Ports1150831
-Node: Derived Files1155313
-Ref: Derived Files-Footnote-11160788
-Ref: Derived Files-Footnote-21160822
-Ref: Derived Files-Footnote-31161418
-Node: Future Extensions1161532
-Node: Implementation Limitations1162138
-Node: Extension Design1163386
-Node: Old Extension Problems1164540
-Ref: Old Extension Problems-Footnote-11166057
-Node: Extension New Mechanism Goals1166114
-Ref: Extension New Mechanism Goals-Footnote-11169474
-Node: Extension Other Design Decisions1169663
-Node: Extension Future Growth1171771
-Node: Old Extension Mechanism1172607
-Node: Notes summary1174369
-Node: Basic Concepts1175555
-Node: Basic High Level1176236
-Ref: figure-general-flow1176508
-Ref: figure-process-flow1177107
-Ref: Basic High Level-Footnote-11180336
-Node: Basic Data Typing1180521
-Node: Glossary1183849
-Node: Copying1209007
-Node: GNU Free Documentation License1246563
-Node: Index1271699
+Node: When110967
+Ref: When-Footnote-1112721
+Node: Intro Summary112786
+Node: Invoking Gawk113670
+Node: Command Line115184
+Node: Options115982
+Ref: Options-Footnote-1131904
+Ref: Options-Footnote-2132133
+Node: Other Arguments132158
+Node: Naming Standard Input135106
+Node: Environment Variables136199
+Node: AWKPATH Variable136757
+Ref: AWKPATH Variable-Footnote-1140054
+Ref: AWKPATH Variable-Footnote-2140099
+Node: AWKLIBPATH Variable140359
+Node: Other Environment Variables141502
+Node: Exit Status145260
+Node: Include Files145936
+Node: Loading Shared Libraries149525
+Node: Obsolete150952
+Node: Undocumented151644
+Node: Invoking Summary151911
+Node: Regexp153574
+Node: Regexp Usage155028
+Node: Escape Sequences157065
+Node: Regexp Operators163075
+Ref: Regexp Operators-Footnote-1170485
+Ref: Regexp Operators-Footnote-2170632
+Node: Bracket Expressions170730
+Ref: table-char-classes172745
+Node: Leftmost Longest175670
+Node: Computed Regexps176972
+Node: GNU Regexp Operators180369
+Node: Case-sensitivity184042
+Ref: Case-sensitivity-Footnote-1186927
+Ref: Case-sensitivity-Footnote-2187162
+Node: Regexp Summary187270
+Node: Reading Files188737
+Node: Records190831
+Node: awk split records191564
+Node: gawk split records196479
+Ref: gawk split records-Footnote-1201023
+Node: Fields201060
+Ref: Fields-Footnote-1203836
+Node: Nonconstant Fields203922
+Ref: Nonconstant Fields-Footnote-1206165
+Node: Changing Fields206369
+Node: Field Separators212298
+Node: Default Field Splitting215003
+Node: Regexp Field Splitting216120
+Node: Single Character Fields219470
+Node: Command Line Field Separator220529
+Node: Full Line Fields223741
+Ref: Full Line Fields-Footnote-1225258
+Ref: Full Line Fields-Footnote-2225304
+Node: Field Splitting Summary225405
+Node: Constant Size227479
+Node: Splitting By Content232068
+Ref: Splitting By Content-Footnote-1236062
+Node: Multiple Line236225
+Ref: Multiple Line-Footnote-1242111
+Node: Getline242290
+Node: Plain Getline244502
+Node: Getline/Variable247142
+Node: Getline/File248290
+Node: Getline/Variable/File249674
+Ref: Getline/Variable/File-Footnote-1251277
+Node: Getline/Pipe251364
+Node: Getline/Variable/Pipe254047
+Node: Getline/Coprocess255178
+Node: Getline/Variable/Coprocess256430
+Node: Getline Notes257169
+Node: Getline Summary259961
+Ref: table-getline-variants260373
+Node: Read Timeout261202
+Ref: Read Timeout-Footnote-1265026
+Node: Command-line directories265084
+Node: Input Summary265989
+Node: Input Exercises269290
+Node: Printing270018
+Node: Print271795
+Node: Print Examples273252
+Node: Output Separators276031
+Node: OFMT278049
+Node: Printf279403
+Node: Basic Printf280188
+Node: Control Letters281758
+Node: Format Modifiers285741
+Node: Printf Examples291750
+Node: Redirection294236
+Node: Special FD301077
+Ref: Special FD-Footnote-1304237
+Node: Special Files304311
+Node: Other Inherited Files304928
+Node: Special Network305928
+Node: Special Caveats306790
+Node: Close Files And Pipes307741
+Ref: Close Files And Pipes-Footnote-1314923
+Ref: Close Files And Pipes-Footnote-2315071
+Node: Output Summary315221
+Node: Output Exercises316219
+Node: Expressions316899
+Node: Values318084
+Node: Constants318762
+Node: Scalar Constants319453
+Ref: Scalar Constants-Footnote-1320312
+Node: Nondecimal-numbers320562
+Node: Regexp Constants323580
+Node: Using Constant Regexps324105
+Node: Variables327248
+Node: Using Variables327903
+Node: Assignment Options329814
+Node: Conversion331689
+Node: Strings And Numbers332213
+Ref: Strings And Numbers-Footnote-1335278
+Node: Locale influences conversions335387
+Ref: table-locale-affects338134
+Node: All Operators338722
+Node: Arithmetic Ops339352
+Node: Concatenation341857
+Ref: Concatenation-Footnote-1344676
+Node: Assignment Ops344782
+Ref: table-assign-ops349761
+Node: Increment Ops351033
+Node: Truth Values and Conditions354471
+Node: Truth Values355556
+Node: Typing and Comparison356605
+Node: Variable Typing357415
+Node: Comparison Operators361068
+Ref: table-relational-ops361478
+Node: POSIX String Comparison364973
+Ref: POSIX String Comparison-Footnote-1366045
+Node: Boolean Ops366183
+Ref: Boolean Ops-Footnote-1370662
+Node: Conditional Exp370753
+Node: Function Calls372480
+Node: Precedence376360
+Node: Locales380021
+Node: Expressions Summary381653
+Node: Patterns and Actions384213
+Node: Pattern Overview385333
+Node: Regexp Patterns387012
+Node: Expression Patterns387555
+Node: Ranges391265
+Node: BEGIN/END394371
+Node: Using BEGIN/END395132
+Ref: Using BEGIN/END-Footnote-1397866
+Node: I/O And BEGIN/END397972
+Node: BEGINFILE/ENDFILE400286
+Node: Empty403187
+Node: Using Shell Variables403504
+Node: Action Overview405777
+Node: Statements408103
+Node: If Statement409951
+Node: While Statement411446
+Node: Do Statement413475
+Node: For Statement414619
+Node: Switch Statement417776
+Node: Break Statement420158
+Node: Continue Statement422199
+Node: Next Statement424026
+Node: Nextfile Statement426407
+Node: Exit Statement429037
+Node: Built-in Variables431440
+Node: User-modified432573
+Ref: User-modified-Footnote-1440254
+Node: Auto-set440316
+Ref: Auto-set-Footnote-1453351
+Ref: Auto-set-Footnote-2453556
+Node: ARGC and ARGV453612
+Node: Pattern Action Summary457830
+Node: Arrays460257
+Node: Array Basics461586
+Node: Array Intro462430
+Ref: figure-array-elements464394
+Ref: Array Intro-Footnote-1466920
+Node: Reference to Elements467048
+Node: Assigning Elements469500
+Node: Array Example469991
+Node: Scanning an Array471749
+Node: Controlling Scanning474765
+Ref: Controlling Scanning-Footnote-1479961
+Node: Numeric Array Subscripts480277
+Node: Uninitialized Subscripts482462
+Node: Delete484079
+Ref: Delete-Footnote-1486822
+Node: Multidimensional486879
+Node: Multiscanning489976
+Node: Arrays of Arrays491565
+Node: Arrays Summary496324
+Node: Functions498416
+Node: Built-in499315
+Node: Calling Built-in500393
+Node: Numeric Functions502384
+Ref: Numeric Functions-Footnote-1506401
+Ref: Numeric Functions-Footnote-2506758
+Ref: Numeric Functions-Footnote-3506806
+Node: String Functions507078
+Ref: String Functions-Footnote-1530553
+Ref: String Functions-Footnote-2530682
+Ref: String Functions-Footnote-3530930
+Node: Gory Details531017
+Ref: table-sub-escapes532798
+Ref: table-sub-proposed534318
+Ref: table-posix-sub535682
+Ref: table-gensub-escapes537218
+Ref: Gory Details-Footnote-1538050
+Node: I/O Functions538201
+Ref: I/O Functions-Footnote-1545419
+Node: Time Functions545566
+Ref: Time Functions-Footnote-1556054
+Ref: Time Functions-Footnote-2556122
+Ref: Time Functions-Footnote-3556280
+Ref: Time Functions-Footnote-4556391
+Ref: Time Functions-Footnote-5556503
+Ref: Time Functions-Footnote-6556730
+Node: Bitwise Functions556996
+Ref: table-bitwise-ops557558
+Ref: Bitwise Functions-Footnote-1561867
+Node: Type Functions562036
+Node: I18N Functions563187
+Node: User-defined564832
+Node: Definition Syntax565637
+Ref: Definition Syntax-Footnote-1571044
+Node: Function Example571115
+Ref: Function Example-Footnote-1574034
+Node: Function Caveats574056
+Node: Calling A Function574574
+Node: Variable Scope575532
+Node: Pass By Value/Reference578520
+Node: Return Statement582015
+Node: Dynamic Typing584996
+Node: Indirect Calls585925
+Ref: Indirect Calls-Footnote-1597227
+Node: Functions Summary597355
+Node: Library Functions600057
+Ref: Library Functions-Footnote-1603666
+Ref: Library Functions-Footnote-2603809
+Node: Library Names603980
+Ref: Library Names-Footnote-1607434
+Ref: Library Names-Footnote-2607657
+Node: General Functions607743
+Node: Strtonum Function608846
+Node: Assert Function611868
+Node: Round Function615192
+Node: Cliff Random Function616733
+Node: Ordinal Functions617749
+Ref: Ordinal Functions-Footnote-1620812
+Ref: Ordinal Functions-Footnote-2621064
+Node: Join Function621275
+Ref: Join Function-Footnote-1623044
+Node: Getlocaltime Function623244
+Node: Readfile Function626988
+Node: Shell Quoting628958
+Node: Data File Management630359
+Node: Filetrans Function630991
+Node: Rewind Function635047
+Node: File Checking636434
+Ref: File Checking-Footnote-1637766
+Node: Empty Files637967
+Node: Ignoring Assigns639946
+Node: Getopt Function641497
+Ref: Getopt Function-Footnote-1652959
+Node: Passwd Functions653159
+Ref: Passwd Functions-Footnote-1661996
+Node: Group Functions662084
+Ref: Group Functions-Footnote-1669978
+Node: Walking Arrays670191
+Node: Library Functions Summary671794
+Node: Library Exercises673195
+Node: Sample Programs674475
+Node: Running Examples675245
+Node: Clones675973
+Node: Cut Program677197
+Node: Egrep Program686916
+Ref: Egrep Program-Footnote-1694414
+Node: Id Program694524
+Node: Split Program698169
+Ref: Split Program-Footnote-1701617
+Node: Tee Program701745
+Node: Uniq Program704534
+Node: Wc Program711953
+Ref: Wc Program-Footnote-1716203
+Node: Miscellaneous Programs716297
+Node: Dupword Program717510
+Node: Alarm Program719541
+Node: Translate Program724345
+Ref: Translate Program-Footnote-1728910
+Node: Labels Program729180
+Ref: Labels Program-Footnote-1732531
+Node: Word Sorting732615
+Node: History Sorting736686
+Node: Extract Program738522
+Node: Simple Sed746047
+Node: Igawk Program749115
+Ref: Igawk Program-Footnote-1763439
+Ref: Igawk Program-Footnote-2763640
+Ref: Igawk Program-Footnote-3763762
+Node: Anagram Program763877
+Node: Signature Program766934
+Node: Programs Summary768181
+Node: Programs Exercises769374
+Ref: Programs Exercises-Footnote-1773505
+Node: Advanced Features773596
+Node: Nondecimal Data775544
+Node: Array Sorting777134
+Node: Controlling Array Traversal777831
+Ref: Controlling Array Traversal-Footnote-1786164
+Node: Array Sorting Functions786282
+Ref: Array Sorting Functions-Footnote-1790171
+Node: Two-way I/O790367
+Ref: Two-way I/O-Footnote-1795312
+Ref: Two-way I/O-Footnote-2795498
+Node: TCP/IP Networking795580
+Node: Profiling798453
+Node: Advanced Features Summary806000
+Node: Internationalization807933
+Node: I18N and L10N809413
+Node: Explaining gettext810099
+Ref: Explaining gettext-Footnote-1815124
+Ref: Explaining gettext-Footnote-2815308
+Node: Programmer i18n815473
+Ref: Programmer i18n-Footnote-1820339
+Node: Translator i18n820388
+Node: String Extraction821182
+Ref: String Extraction-Footnote-1822313
+Node: Printf Ordering822399
+Ref: Printf Ordering-Footnote-1825185
+Node: I18N Portability825249
+Ref: I18N Portability-Footnote-1827704
+Node: I18N Example827767
+Ref: I18N Example-Footnote-1830570
+Node: Gawk I18N830642
+Node: I18N Summary831280
+Node: Debugger832619
+Node: Debugging833641
+Node: Debugging Concepts834082
+Node: Debugging Terms835935
+Node: Awk Debugging838507
+Node: Sample Debugging Session839401
+Node: Debugger Invocation839921
+Node: Finding The Bug841305
+Node: List of Debugger Commands847780
+Node: Breakpoint Control849113
+Node: Debugger Execution Control852809
+Node: Viewing And Changing Data856173
+Node: Execution Stack859551
+Node: Debugger Info861188
+Node: Miscellaneous Debugger Commands865205
+Node: Readline Support870234
+Node: Limitations871126
+Node: Debugging Summary873240
+Node: Arbitrary Precision Arithmetic874408
+Node: Computer Arithmetic875824
+Ref: table-numeric-ranges879422
+Ref: Computer Arithmetic-Footnote-1880281
+Node: Math Definitions880338
+Ref: table-ieee-formats883626
+Ref: Math Definitions-Footnote-1884230
+Node: MPFR features884335
+Node: FP Math Caution886006
+Ref: FP Math Caution-Footnote-1887056
+Node: Inexactness of computations887425
+Node: Inexact representation888384
+Node: Comparing FP Values889741
+Node: Errors accumulate890823
+Node: Getting Accuracy892256
+Node: Try To Round894918
+Node: Setting precision895817
+Ref: table-predefined-precision-strings896501
+Node: Setting the rounding mode898290
+Ref: table-gawk-rounding-modes898654
+Ref: Setting the rounding mode-Footnote-1902109
+Node: Arbitrary Precision Integers902288
+Ref: Arbitrary Precision Integers-Footnote-1905274
+Node: POSIX Floating Point Problems905423
+Ref: POSIX Floating Point Problems-Footnote-1909296
+Node: Floating point summary909334
+Node: Dynamic Extensions911528
+Node: Extension Intro913080
+Node: Plugin License914346
+Node: Extension Mechanism Outline915143
+Ref: figure-load-extension915571
+Ref: figure-register-new-function917051
+Ref: figure-call-new-function918055
+Node: Extension API Description920041
+Node: Extension API Functions Introduction921491
+Node: General Data Types926315
+Ref: General Data Types-Footnote-1932054
+Node: Memory Allocation Functions932353
+Ref: Memory Allocation Functions-Footnote-1935192
+Node: Constructor Functions935288
+Node: Registration Functions937022
+Node: Extension Functions937707
+Node: Exit Callback Functions940004
+Node: Extension Version String941252
+Node: Input Parsers941917
+Node: Output Wrappers951796
+Node: Two-way processors956311
+Node: Printing Messages958515
+Ref: Printing Messages-Footnote-1959591
+Node: Updating `ERRNO'959743
+Node: Requesting Values960483
+Ref: table-value-types-returned961211
+Node: Accessing Parameters962168
+Node: Symbol Table Access963399
+Node: Symbol table by name963913
+Node: Symbol table by cookie965894
+Ref: Symbol table by cookie-Footnote-1970038
+Node: Cached values970101
+Ref: Cached values-Footnote-1973600
+Node: Array Manipulation973691
+Ref: Array Manipulation-Footnote-1974789
+Node: Array Data Types974826
+Ref: Array Data Types-Footnote-1977481
+Node: Array Functions977573
+Node: Flattening Arrays981427
+Node: Creating Arrays988319
+Node: Extension API Variables993090
+Node: Extension Versioning993726
+Node: Extension API Informational Variables995627
+Node: Extension API Boilerplate996692
+Node: Finding Extensions1000501
+Node: Extension Example1001061
+Node: Internal File Description1001833
+Node: Internal File Ops1005900
+Ref: Internal File Ops-Footnote-11017570
+Node: Using Internal File Ops1017710
+Ref: Using Internal File Ops-Footnote-11020093
+Node: Extension Samples1020366
+Node: Extension Sample File Functions1021892
+Node: Extension Sample Fnmatch1029530
+Node: Extension Sample Fork1031021
+Node: Extension Sample Inplace1032236
+Node: Extension Sample Ord1033911
+Node: Extension Sample Readdir1034747
+Ref: table-readdir-file-types1035623
+Node: Extension Sample Revout1036434
+Node: Extension Sample Rev2way1037024
+Node: Extension Sample Read write array1037764
+Node: Extension Sample Readfile1039704
+Node: Extension Sample Time1040799
+Node: Extension Sample API Tests1042148
+Node: gawkextlib1042639
+Node: Extension summary1045297
+Node: Extension Exercises1048986
+Node: Language History1049708
+Node: V7/SVR3.11051364
+Node: SVR41053545
+Node: POSIX1054990
+Node: BTL1056379
+Node: POSIX/GNU1057113
+Node: Feature History1062677
+Node: Common Extensions1075775
+Node: Ranges and Locales1077099
+Ref: Ranges and Locales-Footnote-11081717
+Ref: Ranges and Locales-Footnote-21081744
+Ref: Ranges and Locales-Footnote-31081978
+Node: Contributors1082199
+Node: History summary1087740
+Node: Installation1089110
+Node: Gawk Distribution1090056
+Node: Getting1090540
+Node: Extracting1091363
+Node: Distribution contents1092998
+Node: Unix Installation1098715
+Node: Quick Installation1099332
+Node: Additional Configuration Options1101756
+Node: Configuration Philosophy1103494
+Node: Non-Unix Installation1105863
+Node: PC Installation1106321
+Node: PC Binary Installation1107640
+Node: PC Compiling1109488
+Ref: PC Compiling-Footnote-11112509
+Node: PC Testing1112618
+Node: PC Using1113794
+Node: Cygwin1117909
+Node: MSYS1118732
+Node: VMS Installation1119232
+Node: VMS Compilation1120024
+Ref: VMS Compilation-Footnote-11121246
+Node: VMS Dynamic Extensions1121304
+Node: VMS Installation Details1122988
+Node: VMS Running1125240
+Node: VMS GNV1128076
+Node: VMS Old Gawk1128810
+Node: Bugs1129280
+Node: Other Versions1133163
+Node: Installation summary1139587
+Node: Notes1140643
+Node: Compatibility Mode1141508
+Node: Additions1142290
+Node: Accessing The Source1143215
+Node: Adding Code1144650
+Node: New Ports1150815
+Node: Derived Files1155297
+Ref: Derived Files-Footnote-11160772
+Ref: Derived Files-Footnote-21160806
+Ref: Derived Files-Footnote-31161402
+Node: Future Extensions1161516
+Node: Implementation Limitations1162122
+Node: Extension Design1163370
+Node: Old Extension Problems1164524
+Ref: Old Extension Problems-Footnote-11166041
+Node: Extension New Mechanism Goals1166098
+Ref: Extension New Mechanism Goals-Footnote-11169458
+Node: Extension Other Design Decisions1169647
+Node: Extension Future Growth1171755
+Node: Old Extension Mechanism1172591
+Node: Notes summary1174353
+Node: Basic Concepts1175539
+Node: Basic High Level1176220
+Ref: figure-general-flow1176492
+Ref: figure-process-flow1177091
+Ref: Basic High Level-Footnote-11180320
+Node: Basic Data Typing1180505
+Node: Glossary1183833
+Node: Copying1208991
+Node: GNU Free Documentation License1246547
+Node: Index1271683

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index afb94551..07630edf 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3309,8 +3309,13 @@ no actions run.
After processing all the rules that match the line (and perhaps there are none),
@command{awk} reads the next line. (However,
-@pxref{Next Statement},
+@DBPXREF{Next Statement}
+@ifdocbook
+and @DBREF{Nextfile Statement}.)
+@end ifdocbook
+@ifnotdocbook
and also @pxref{Nextfile Statement}.)
+@end ifnotdocbook
This continues until the program reaches the end of the file.
For example, the following @command{awk} program contains two rules:
@@ -3575,7 +3580,7 @@ performing bit manipulation, for runtime string translation (internationalizatio
determining the type of a variable,
and array sorting.
-As we develop our presentation of the @command{awk} language, we introduce
+As we develop our presentation of the @command{awk} language, we will introduce
most of the variables and many of the functions. They are described
systematically in @DBREF{Built-in Variables} and in
@ref{Built-in}.
@@ -3629,7 +3634,7 @@ and Perl.}
@c FIXME: Review this chapter for summary of builtin functions called.
@itemize @value{BULLET}
@item
-Programs in @command{awk} consist of @var{pattern}-@var{action} pairs.
+Programs in @command{awk} consist of @var{pattern}--@var{action} pairs.
@item
An @var{action} without a @var{pattern} always runs. The default
@@ -3658,7 +3663,7 @@ part of a larger shell script (or MS-Windows batch file).
You may use backslash continuation to continue a source line.
Lines are automatically continued after
a comma, open brace, question mark, colon,
-@samp{||}, @samp{&&}, @code{do} and @code{else}.
+@samp{||}, @samp{&&}, @code{do}, and @code{else}.
@end itemize
@node Invoking Gawk
@@ -3745,8 +3750,8 @@ warning that the program is empty.
Options begin with a dash and consist of a single character.
GNU-style long options consist of two dashes and a keyword.
The keyword can be abbreviated, as long as the abbreviation allows the option
-to be uniquely identified. If the option takes an argument, then the
-keyword is either immediately followed by an equals sign (@samp{=}) and the
+to be uniquely identified. If the option takes an argument, either the
+keyword is immediately followed by an equals sign (@samp{=}) and the
argument's value, or the keyword and the argument's value are separated
by whitespace.
If a particular option with a value is given more than once, it is the
@@ -3773,7 +3778,7 @@ Set the @code{FS} variable to @var{fs}
@cindex @option{-f} option
@cindex @option{--file} option
@cindex @command{awk} programs, location of
-Read @command{awk} program source from @var{source-file}
+Read the @command{awk} program source from @var{source-file}
instead of in the first nonoption argument.
This option may be given multiple times; the @command{awk}
program consists of the concatenation of the contents of
@@ -3841,14 +3846,14 @@ The following list describes @command{gawk}-specific options:
@cindex @option{--characters-as-bytes} option
Cause @command{gawk} to treat all input data as single-byte characters.
In addition, all output written with @code{print} or @code{printf}
-are treated as single-byte characters.
+is treated as single-byte characters.
Normally, @command{gawk} follows the POSIX standard and attempts to process
its input data according to the current locale (@pxref{Locales}). This can often involve
converting multibyte characters into wide characters (internally), and
can lead to problems or confusion if the input data does not contain valid
-multibyte characters. This option is an easy way to tell @command{gawk}:
-``hands off my data!''.
+multibyte characters. This option is an easy way to tell @command{gawk},
+``Hands off my data!''
@item @option{-c}
@itemx @option{--traditional}
@@ -3905,7 +3910,7 @@ Enable debugging of @command{awk} programs
By default, the debugger reads commands interactively from the keyboard
(standard input).
The optional @var{file} argument allows you to specify a file with a list
-of commands for the debugger to execute non-interactively.
+of commands for the debugger to execute noninteractively.
No space is allowed between the @option{-D} and @var{file}, if
@var{file} is supplied.
@@ -3965,7 +3970,7 @@ with @samp{#!} scripts (@pxref{Executable Scripts}), like so:
@cindex portable object files, generating
@cindex files, portable object, generating
Analyze the source program and
-generate a GNU @command{gettext} Portable Object Template file on standard
+generate a GNU @command{gettext} portable object template file on standard
output for all string constants that have been marked for translation.
@xref{Internationalization},
for information about this option.
@@ -3977,7 +3982,7 @@ for information about this option.
@cindex GNU long options, printing list of
@cindex options, printing list of
@cindex printing, list of options
-Print a ``usage'' message summarizing the short and long style options
+Print a ``usage'' message summarizing the short- and long-style options
that @command{gawk} accepts and then exit.
@item @option{-i} @var{source-file}
@@ -3987,7 +3992,7 @@ that @command{gawk} accepts and then exit.
@cindex @command{awk} programs, location of
Read an @command{awk} source library from @var{source-file}. This option
is completely equivalent to using the @code{@@include} directive inside
-your program. This option is very similar to the @option{-f} option,
+your program. It is very similar to the @option{-f} option,
but there are two important differences. First, when @option{-i} is
used, the program source is not loaded if it has been previously
loaded, whereas with @option{-f}, @command{gawk} always loads the file.
@@ -4072,7 +4077,7 @@ when parsing numeric input data (@pxref{Locales}).
@cindex @option{-o} option
@cindex @option{--pretty-print} option
Enable pretty-printing of @command{awk} programs.
-By default, output program is created in a file named @file{awkprof.out}
+By default, the output program is created in a file named @file{awkprof.out}
(@pxref{Profiling}).
The optional @var{file} argument allows you to specify a different
@value{FN} for the output.
@@ -4081,8 +4086,8 @@ No space is allowed between the @option{-o} and @var{file}, if
@quotation NOTE
Due to the way @command{gawk} has evolved, with this option
-your program is still executed. This will change in the
-next major release such that @command{gawk} will only
+your program still executes. This will change in the
+next major release, such that @command{gawk} will only
pretty-print the program and not run it.
@end quotation
@@ -4118,7 +4123,7 @@ in the left margin, and function call counts for each function.
Operate in strict POSIX mode. This disables all @command{gawk}
extensions (just like @option{--traditional}) and
disables all extensions not allowed by POSIX.
-@xref{Common Extensions}, for a summary of the extensions
+@DBXREF{Common Extensions} for a summary of the extensions
in @command{gawk} that are disabled by this option.
Also,
the following additional
@@ -4239,7 +4244,7 @@ source of data.)
Because it is clumsy using the standard @command{awk} mechanisms to mix
source file and command-line @command{awk} programs, @command{gawk}
provides the @option{-e} option. This does not require you to
-pre-empt the standard input for your source code; it allows you to easily
+preempt the standard input for your source code; it allows you to easily
mix command-line and library source code (@pxref{AWKPATH Variable}).
As with @option{-f}, the @option{-e} and @option{-i}
options may also be used multiple times on the command line.
@@ -4429,7 +4434,7 @@ file, unless the file is in the current directory.
But with @command{gawk}, if the @value{FN} supplied to the @option{-f}
or @option{-i} options
does not contain a directory separator @samp{/}, then @command{gawk} searches a list of
-directories (called the @dfn{search path}), one by one, looking for a
+directories (called the @dfn{search path}) one by one, looking for a
file with the specified name.
The search path is a string consisting of directory names
@@ -4470,9 +4475,9 @@ as an entry in the path or write a null entry in the path.
Different past versions of @command{gawk} would also look explicitly in
the current directory, either before or after the path search. As of
-@value{PVERSION} 4.1.2, this no longer happens, and if you wish to look
+@value{PVERSION} 4.1.2, this no longer happens; if you wish to look
in the current directory, you must include @file{.} either as a separate
-entry, or as a null entry in the search path.
+entry or as a null entry in the search path.
@end quotation
The default value for @env{AWKPATH} is
@@ -4582,7 +4587,7 @@ If this variable exists, @command{gawk} includes the @value{FN}
and line number within the @command{gawk} source code
from which warning and/or fatal messages
are generated. Its purpose is to help isolate the source of a
-message, as there are multiple places which produce the
+message, as there are multiple places that produce the
same warning or error message.
@item GAWK_NO_DFA
@@ -4606,16 +4611,16 @@ This specifies the amount by which @command{gawk} should grow its
internal evaluation stack, when needed.
@item INT_CHAIN_MAX
-The intended maximum number of items @command{gawk} will maintain on a
+This specifies intended maximum number of items @command{gawk} will maintain on a
hash chain for managing arrays indexed by integers.
@item STR_CHAIN_MAX
-The intended maximum number of items @command{gawk} will maintain on a
+This specifies intended maximum number of items @command{gawk} will maintain on a
hash chain for managing arrays indexed by strings.
@item TIDYMEM
If this variable exists, @command{gawk} uses the @code{mtrace()} library
-calls from GNU LIBC to help track down possible memory leaks.
+calls from the GNU C library to help track down possible memory leaks.
@end table
@node Exit Status
@@ -4652,7 +4657,7 @@ The @code{@@include} keyword can be used to read external @command{awk} source
files. This gives you the ability to split large @command{awk} source files
into smaller, more manageable pieces, and also lets you reuse common @command{awk}
code from various @command{awk} scripts. In other words, you can group
-together @command{awk} functions, used to carry out specific tasks,
+together @command{awk} functions used to carry out specific tasks
into external files. These files can be used just like function libraries,
using the @code{@@include} keyword in conjunction with the @env{AWKPATH}
environment variable. Note that source files may also be included
@@ -4742,11 +4747,12 @@ of the @env{AWKPATH} variable in command-line file searches
This is very helpful in constructing @command{gawk} function libraries.
If you have a large script with useful, general-purpose @command{awk}
functions, you can break it down into library files and put those files
-in a special directory. You can then include those ``libraries,'' using
-either the full pathnames of the files, or by setting the @env{AWKPATH}
+in a special directory. You can then include those ``libraries,''
+either by using the full pathnames of the files, or by setting the @env{AWKPATH}
environment variable accordingly and then using @code{@@include} with
-just the file part of the full pathname. Of course, you can have more
-than one directory to keep library files; the more complex the working
+just the file part of the full pathname. Of course,
+you can keep library files in more than one directory;
+the more complex the working
environment is, the more directories you may need to organize the files
to be included.
@@ -4759,8 +4765,8 @@ In particular, @code{@@include} is very useful for writing CGI scripts
to be run from web pages.
As mentioned in @ref{AWKPATH Variable}, the current directory is always
-searched first for source files, before searching in @env{AWKPATH},
-and this also applies to files named with @code{@@include}.
+searched first for source files, before searching in @env{AWKPATH};
+this also applies to files named with @code{@@include}.
@node Loading Shared Libraries
@section Loading Dynamic Extensions into Your Program
@@ -4814,8 +4820,8 @@ It also describes the @code{ordchr} extension.
@cindex features, deprecated
@cindex obsolete features
This @value{SECTION} describes features and/or command-line options from
-previous releases of @command{gawk} that are either not available in the
-current version or that are still supported but deprecated (meaning that
+previous releases of @command{gawk} that either are not available in the
+current version or are still supported but deprecated (meaning that
they will @emph{not} be in the next release).
The process-related special files @file{/dev/pid}, @file{/dev/ppid},
@@ -4912,7 +4918,7 @@ to run @command{awk}.
@item
The three standard options for all versions of @command{awk} are
-@option{-f}, @option{-F} and @option{-v}. @command{gawk} supplies these
+@option{-f}, @option{-F}, and @option{-v}. @command{gawk} supplies these
and many others, as well as corresponding GNU-style long options.
@item
@@ -4949,7 +4955,7 @@ and @option{-f} command-line options.
@item
@command{gawk} allows you to load additional functions written in C
or C++ using the @code{@@load} statement and/or the @option{-l} option.
-(This advanced feature is described later on in @ref{Dynamic Extensions}.)
+(This advanced feature is described later, in @ref{Dynamic Extensions}.)
@end itemize
@node Regexp
@@ -5162,7 +5168,7 @@ Horizontal TAB, @kbd{Ctrl-i}, ASCII code 9 (HT).
@cindex @code{\} (backslash), @code{\v} escape sequence
@cindex backslash (@code{\}), @code{\v} escape sequence
@item \v
-Vertical tab, @kbd{Ctrl-k}, ASCII code 11 (VT).
+Vertical TAB, @kbd{Ctrl-k}, ASCII code 11 (VT).
@cindex @code{\} (backslash), @code{\}@var{nnn} escape sequence
@cindex backslash (@code{\}), @code{\}@var{nnn} escape sequence
@@ -5232,7 +5238,7 @@ characters @samp{a+b}.
@cindex @code{\} (backslash), in escape sequences
@cindex portability
For complete portability, do not use a backslash before any character not
-shown in the previous list and that is not an operator.
+shown in the previous list or that is not an operator.
@c 11/2014: Moved so as to not stack sidebars
@cindex sidebar, Backslash Before Regular Characters
@@ -5412,7 +5418,7 @@ are recognized and converted into corresponding real characters as
the very first step in processing regexps.
Here is a list of metacharacters. All characters that are not escape
-sequences and that are not listed in the following stand for themselves:
+sequences and that are not listed here stand for themselves:
@c Use @asis so the docbook comes out ok. Sigh.
@table @asis
@@ -5535,7 +5541,7 @@ just @samp{p} if no @samp{h}s are present.
There are two subtle points to understand about how @samp{*} works.
First, the @samp{*} applies only to the single preceding regular expression
component (e.g., in @samp{ph*}, it applies just to the @samp{h}).
-To cause @samp{*} to apply to a larger sub-expression, use parentheses:
+To cause @samp{*} to apply to a larger subexpression, use parentheses:
@samp{(ph)*} matches @samp{ph}, @samp{phph}, @samp{phphph}, and so on.
Second, @samp{*} finds as many repetitions as possible. If the text
@@ -5574,10 +5580,10 @@ is repeated at least @var{n} times:
Matches @samp{whhhy}, but not @samp{why} or @samp{whhhhy}.
@item wh@{3,5@}y
-Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy}, only.
+Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy} only.
@item wh@{2,@}y
-Matches @samp{whhy} or @samp{whhhy}, and so on.
+Matches @samp{whhy}, @samp{whhhy}, and so on.
@end table
@cindex POSIX @command{awk}, interval expressions in
@@ -5706,7 +5712,7 @@ POSIX standard.
(a space is printable but not visible, whereas an @samp{a} is both)
@item @code{[:lower:]} @tab Lowercase alphabetic characters
@item @code{[:print:]} @tab Printable characters (characters that are not control characters)
-@item @code{[:punct:]} @tab Punctuation characters (characters that are not letters, digits
+@item @code{[:punct:]} @tab Punctuation characters (characters that are not letters, digits,
control characters, or space characters)
@item @code{[:space:]} @tab Space characters (such as space, TAB, and formfeed, to name a few)
@item @code{[:upper:]} @tab Uppercase alphabetic characters
@@ -28958,8 +28964,8 @@ complete detail in
@cite{GNU gettext tools}}.)
@end ifnotinfo
As of this writing, the latest version of GNU @command{gettext} is
-@uref{ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.3.tar.gz,
-@value{PVERSION} 0.19.3}.
+@uref{ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz,
+@value{PVERSION} 0.19.4}.
If a translation of @command{gawk}'s messages exists,
then @command{gawk} produces usage messages, warnings,
@@ -30607,7 +30613,7 @@ is available like so:
@example
$ @kbd{gawk --version}
@print{} GNU Awk 4.1.2, API: 1.1 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2)
-@print{} Copyright (C) 1989, 1991-2014 Free Software Foundation.
+@print{} Copyright (C) 1989, 1991-2015 Free Software Foundation.
@dots{}
@end example
@@ -38468,7 +38474,7 @@ git clone git://github.com/onetrueawk/awk bwkawk
@end example
@noindent
-This command creates a copy of the @uref{http://www.git-scm.com, Git}
+This command creates a copy of the @uref{http://git-scm.com, Git}
repository in a directory named @file{bwkawk}. If you leave that argument
off the @command{git} command line, the repository copy is created in a
directory named @file{awk}.
@@ -38751,7 +38757,7 @@ However, if you want to modify @command{gawk} and contribute back your
changes, you will probably wish to work with the development version.
To do so, you will need to access the @command{gawk} source code
repository. The code is maintained using the
-@uref{http://git-scm.com/, Git distributed version control system}.
+@uref{http://git-scm.com, Git distributed version control system}.
You will need to install it if your system doesn't have it.
Once you have done so, use the command:
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index b346e219..4d11a082 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -3220,8 +3220,13 @@ no actions run.
After processing all the rules that match the line (and perhaps there are none),
@command{awk} reads the next line. (However,
-@pxref{Next Statement},
+@DBPXREF{Next Statement}
+@ifdocbook
+and @DBREF{Nextfile Statement}.)
+@end ifdocbook
+@ifnotdocbook
and also @pxref{Nextfile Statement}.)
+@end ifnotdocbook
This continues until the program reaches the end of the file.
For example, the following @command{awk} program contains two rules:
@@ -3486,7 +3491,7 @@ performing bit manipulation, for runtime string translation (internationalizatio
determining the type of a variable,
and array sorting.
-As we develop our presentation of the @command{awk} language, we introduce
+As we develop our presentation of the @command{awk} language, we will introduce
most of the variables and many of the functions. They are described
systematically in @DBREF{Built-in Variables} and in
@ref{Built-in}.
@@ -3540,7 +3545,7 @@ and Perl.}
@c FIXME: Review this chapter for summary of builtin functions called.
@itemize @value{BULLET}
@item
-Programs in @command{awk} consist of @var{pattern}-@var{action} pairs.
+Programs in @command{awk} consist of @var{pattern}--@var{action} pairs.
@item
An @var{action} without a @var{pattern} always runs. The default
@@ -3569,7 +3574,7 @@ part of a larger shell script (or MS-Windows batch file).
You may use backslash continuation to continue a source line.
Lines are automatically continued after
a comma, open brace, question mark, colon,
-@samp{||}, @samp{&&}, @code{do} and @code{else}.
+@samp{||}, @samp{&&}, @code{do}, and @code{else}.
@end itemize
@node Invoking Gawk
@@ -3656,8 +3661,8 @@ warning that the program is empty.
Options begin with a dash and consist of a single character.
GNU-style long options consist of two dashes and a keyword.
The keyword can be abbreviated, as long as the abbreviation allows the option
-to be uniquely identified. If the option takes an argument, then the
-keyword is either immediately followed by an equals sign (@samp{=}) and the
+to be uniquely identified. If the option takes an argument, either the
+keyword is immediately followed by an equals sign (@samp{=}) and the
argument's value, or the keyword and the argument's value are separated
by whitespace.
If a particular option with a value is given more than once, it is the
@@ -3684,7 +3689,7 @@ Set the @code{FS} variable to @var{fs}
@cindex @option{-f} option
@cindex @option{--file} option
@cindex @command{awk} programs, location of
-Read @command{awk} program source from @var{source-file}
+Read the @command{awk} program source from @var{source-file}
instead of in the first nonoption argument.
This option may be given multiple times; the @command{awk}
program consists of the concatenation of the contents of
@@ -3752,14 +3757,14 @@ The following list describes @command{gawk}-specific options:
@cindex @option{--characters-as-bytes} option
Cause @command{gawk} to treat all input data as single-byte characters.
In addition, all output written with @code{print} or @code{printf}
-are treated as single-byte characters.
+is treated as single-byte characters.
Normally, @command{gawk} follows the POSIX standard and attempts to process
its input data according to the current locale (@pxref{Locales}). This can often involve
converting multibyte characters into wide characters (internally), and
can lead to problems or confusion if the input data does not contain valid
-multibyte characters. This option is an easy way to tell @command{gawk}:
-``hands off my data!''.
+multibyte characters. This option is an easy way to tell @command{gawk},
+``Hands off my data!''
@item @option{-c}
@itemx @option{--traditional}
@@ -3816,7 +3821,7 @@ Enable debugging of @command{awk} programs
By default, the debugger reads commands interactively from the keyboard
(standard input).
The optional @var{file} argument allows you to specify a file with a list
-of commands for the debugger to execute non-interactively.
+of commands for the debugger to execute noninteractively.
No space is allowed between the @option{-D} and @var{file}, if
@var{file} is supplied.
@@ -3876,7 +3881,7 @@ with @samp{#!} scripts (@pxref{Executable Scripts}), like so:
@cindex portable object files, generating
@cindex files, portable object, generating
Analyze the source program and
-generate a GNU @command{gettext} Portable Object Template file on standard
+generate a GNU @command{gettext} portable object template file on standard
output for all string constants that have been marked for translation.
@xref{Internationalization},
for information about this option.
@@ -3888,7 +3893,7 @@ for information about this option.
@cindex GNU long options, printing list of
@cindex options, printing list of
@cindex printing, list of options
-Print a ``usage'' message summarizing the short and long style options
+Print a ``usage'' message summarizing the short- and long-style options
that @command{gawk} accepts and then exit.
@item @option{-i} @var{source-file}
@@ -3898,7 +3903,7 @@ that @command{gawk} accepts and then exit.
@cindex @command{awk} programs, location of
Read an @command{awk} source library from @var{source-file}. This option
is completely equivalent to using the @code{@@include} directive inside
-your program. This option is very similar to the @option{-f} option,
+your program. It is very similar to the @option{-f} option,
but there are two important differences. First, when @option{-i} is
used, the program source is not loaded if it has been previously
loaded, whereas with @option{-f}, @command{gawk} always loads the file.
@@ -3983,7 +3988,7 @@ when parsing numeric input data (@pxref{Locales}).
@cindex @option{-o} option
@cindex @option{--pretty-print} option
Enable pretty-printing of @command{awk} programs.
-By default, output program is created in a file named @file{awkprof.out}
+By default, the output program is created in a file named @file{awkprof.out}
(@pxref{Profiling}).
The optional @var{file} argument allows you to specify a different
@value{FN} for the output.
@@ -3992,8 +3997,8 @@ No space is allowed between the @option{-o} and @var{file}, if
@quotation NOTE
Due to the way @command{gawk} has evolved, with this option
-your program is still executed. This will change in the
-next major release such that @command{gawk} will only
+your program still executes. This will change in the
+next major release, such that @command{gawk} will only
pretty-print the program and not run it.
@end quotation
@@ -4029,7 +4034,7 @@ in the left margin, and function call counts for each function.
Operate in strict POSIX mode. This disables all @command{gawk}
extensions (just like @option{--traditional}) and
disables all extensions not allowed by POSIX.
-@xref{Common Extensions}, for a summary of the extensions
+@DBXREF{Common Extensions} for a summary of the extensions
in @command{gawk} that are disabled by this option.
Also,
the following additional
@@ -4150,7 +4155,7 @@ source of data.)
Because it is clumsy using the standard @command{awk} mechanisms to mix
source file and command-line @command{awk} programs, @command{gawk}
provides the @option{-e} option. This does not require you to
-pre-empt the standard input for your source code; it allows you to easily
+preempt the standard input for your source code; it allows you to easily
mix command-line and library source code (@pxref{AWKPATH Variable}).
As with @option{-f}, the @option{-e} and @option{-i}
options may also be used multiple times on the command line.
@@ -4340,7 +4345,7 @@ file, unless the file is in the current directory.
But with @command{gawk}, if the @value{FN} supplied to the @option{-f}
or @option{-i} options
does not contain a directory separator @samp{/}, then @command{gawk} searches a list of
-directories (called the @dfn{search path}), one by one, looking for a
+directories (called the @dfn{search path}) one by one, looking for a
file with the specified name.
The search path is a string consisting of directory names
@@ -4381,9 +4386,9 @@ as an entry in the path or write a null entry in the path.
Different past versions of @command{gawk} would also look explicitly in
the current directory, either before or after the path search. As of
-@value{PVERSION} 4.1.2, this no longer happens, and if you wish to look
+@value{PVERSION} 4.1.2, this no longer happens; if you wish to look
in the current directory, you must include @file{.} either as a separate
-entry, or as a null entry in the search path.
+entry or as a null entry in the search path.
@end quotation
The default value for @env{AWKPATH} is
@@ -4493,7 +4498,7 @@ If this variable exists, @command{gawk} includes the @value{FN}
and line number within the @command{gawk} source code
from which warning and/or fatal messages
are generated. Its purpose is to help isolate the source of a
-message, as there are multiple places which produce the
+message, as there are multiple places that produce the
same warning or error message.
@item GAWK_NO_DFA
@@ -4517,16 +4522,16 @@ This specifies the amount by which @command{gawk} should grow its
internal evaluation stack, when needed.
@item INT_CHAIN_MAX
-The intended maximum number of items @command{gawk} will maintain on a
+This specifies intended maximum number of items @command{gawk} will maintain on a
hash chain for managing arrays indexed by integers.
@item STR_CHAIN_MAX
-The intended maximum number of items @command{gawk} will maintain on a
+This specifies intended maximum number of items @command{gawk} will maintain on a
hash chain for managing arrays indexed by strings.
@item TIDYMEM
If this variable exists, @command{gawk} uses the @code{mtrace()} library
-calls from GNU LIBC to help track down possible memory leaks.
+calls from the GNU C library to help track down possible memory leaks.
@end table
@node Exit Status
@@ -4563,7 +4568,7 @@ The @code{@@include} keyword can be used to read external @command{awk} source
files. This gives you the ability to split large @command{awk} source files
into smaller, more manageable pieces, and also lets you reuse common @command{awk}
code from various @command{awk} scripts. In other words, you can group
-together @command{awk} functions, used to carry out specific tasks,
+together @command{awk} functions used to carry out specific tasks
into external files. These files can be used just like function libraries,
using the @code{@@include} keyword in conjunction with the @env{AWKPATH}
environment variable. Note that source files may also be included
@@ -4653,11 +4658,12 @@ of the @env{AWKPATH} variable in command-line file searches
This is very helpful in constructing @command{gawk} function libraries.
If you have a large script with useful, general-purpose @command{awk}
functions, you can break it down into library files and put those files
-in a special directory. You can then include those ``libraries,'' using
-either the full pathnames of the files, or by setting the @env{AWKPATH}
+in a special directory. You can then include those ``libraries,''
+either by using the full pathnames of the files, or by setting the @env{AWKPATH}
environment variable accordingly and then using @code{@@include} with
-just the file part of the full pathname. Of course, you can have more
-than one directory to keep library files; the more complex the working
+just the file part of the full pathname. Of course,
+you can keep library files in more than one directory;
+the more complex the working
environment is, the more directories you may need to organize the files
to be included.
@@ -4670,8 +4676,8 @@ In particular, @code{@@include} is very useful for writing CGI scripts
to be run from web pages.
As mentioned in @ref{AWKPATH Variable}, the current directory is always
-searched first for source files, before searching in @env{AWKPATH},
-and this also applies to files named with @code{@@include}.
+searched first for source files, before searching in @env{AWKPATH};
+this also applies to files named with @code{@@include}.
@node Loading Shared Libraries
@section Loading Dynamic Extensions into Your Program
@@ -4725,8 +4731,8 @@ It also describes the @code{ordchr} extension.
@cindex features, deprecated
@cindex obsolete features
This @value{SECTION} describes features and/or command-line options from
-previous releases of @command{gawk} that are either not available in the
-current version or that are still supported but deprecated (meaning that
+previous releases of @command{gawk} that either are not available in the
+current version or are still supported but deprecated (meaning that
they will @emph{not} be in the next release).
The process-related special files @file{/dev/pid}, @file{/dev/ppid},
@@ -4823,7 +4829,7 @@ to run @command{awk}.
@item
The three standard options for all versions of @command{awk} are
-@option{-f}, @option{-F} and @option{-v}. @command{gawk} supplies these
+@option{-f}, @option{-F}, and @option{-v}. @command{gawk} supplies these
and many others, as well as corresponding GNU-style long options.
@item
@@ -4860,7 +4866,7 @@ and @option{-f} command-line options.
@item
@command{gawk} allows you to load additional functions written in C
or C++ using the @code{@@load} statement and/or the @option{-l} option.
-(This advanced feature is described later on in @ref{Dynamic Extensions}.)
+(This advanced feature is described later, in @ref{Dynamic Extensions}.)
@end itemize
@node Regexp
@@ -5073,7 +5079,7 @@ Horizontal TAB, @kbd{Ctrl-i}, ASCII code 9 (HT).
@cindex @code{\} (backslash), @code{\v} escape sequence
@cindex backslash (@code{\}), @code{\v} escape sequence
@item \v
-Vertical tab, @kbd{Ctrl-k}, ASCII code 11 (VT).
+Vertical TAB, @kbd{Ctrl-k}, ASCII code 11 (VT).
@cindex @code{\} (backslash), @code{\}@var{nnn} escape sequence
@cindex backslash (@code{\}), @code{\}@var{nnn} escape sequence
@@ -5143,7 +5149,7 @@ characters @samp{a+b}.
@cindex @code{\} (backslash), in escape sequences
@cindex portability
For complete portability, do not use a backslash before any character not
-shown in the previous list and that is not an operator.
+shown in the previous list or that is not an operator.
@c 11/2014: Moved so as to not stack sidebars
@sidebar Backslash Before Regular Characters
@@ -5240,7 +5246,7 @@ are recognized and converted into corresponding real characters as
the very first step in processing regexps.
Here is a list of metacharacters. All characters that are not escape
-sequences and that are not listed in the following stand for themselves:
+sequences and that are not listed here stand for themselves:
@c Use @asis so the docbook comes out ok. Sigh.
@table @asis
@@ -5363,7 +5369,7 @@ just @samp{p} if no @samp{h}s are present.
There are two subtle points to understand about how @samp{*} works.
First, the @samp{*} applies only to the single preceding regular expression
component (e.g., in @samp{ph*}, it applies just to the @samp{h}).
-To cause @samp{*} to apply to a larger sub-expression, use parentheses:
+To cause @samp{*} to apply to a larger subexpression, use parentheses:
@samp{(ph)*} matches @samp{ph}, @samp{phph}, @samp{phphph}, and so on.
Second, @samp{*} finds as many repetitions as possible. If the text
@@ -5402,10 +5408,10 @@ is repeated at least @var{n} times:
Matches @samp{whhhy}, but not @samp{why} or @samp{whhhhy}.
@item wh@{3,5@}y
-Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy}, only.
+Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy} only.
@item wh@{2,@}y
-Matches @samp{whhy} or @samp{whhhy}, and so on.
+Matches @samp{whhy}, @samp{whhhy}, and so on.
@end table
@cindex POSIX @command{awk}, interval expressions in
@@ -5534,7 +5540,7 @@ POSIX standard.
(a space is printable but not visible, whereas an @samp{a} is both)
@item @code{[:lower:]} @tab Lowercase alphabetic characters
@item @code{[:print:]} @tab Printable characters (characters that are not control characters)
-@item @code{[:punct:]} @tab Punctuation characters (characters that are not letters, digits
+@item @code{[:punct:]} @tab Punctuation characters (characters that are not letters, digits,
control characters, or space characters)
@item @code{[:space:]} @tab Space characters (such as space, TAB, and formfeed, to name a few)
@item @code{[:upper:]} @tab Uppercase alphabetic characters
@@ -28051,8 +28057,8 @@ complete detail in
@cite{GNU gettext tools}}.)
@end ifnotinfo
As of this writing, the latest version of GNU @command{gettext} is
-@uref{ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.3.tar.gz,
-@value{PVERSION} 0.19.3}.
+@uref{ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz,
+@value{PVERSION} 0.19.4}.
If a translation of @command{gawk}'s messages exists,
then @command{gawk} produces usage messages, warnings,
@@ -29700,7 +29706,7 @@ is available like so:
@example
$ @kbd{gawk --version}
@print{} GNU Awk 4.1.2, API: 1.1 (GNU MPFR 3.1.0-p3, GNU MP 5.0.2)
-@print{} Copyright (C) 1989, 1991-2014 Free Software Foundation.
+@print{} Copyright (C) 1989, 1991-2015 Free Software Foundation.
@dots{}
@end example
@@ -37561,7 +37567,7 @@ git clone git://github.com/onetrueawk/awk bwkawk
@end example
@noindent
-This command creates a copy of the @uref{http://www.git-scm.com, Git}
+This command creates a copy of the @uref{http://git-scm.com, Git}
repository in a directory named @file{bwkawk}. If you leave that argument
off the @command{git} command line, the repository copy is created in a
directory named @file{awk}.
@@ -37844,7 +37850,7 @@ However, if you want to modify @command{gawk} and contribute back your
changes, you will probably wish to work with the development version.
To do so, you will need to access the @command{gawk} source code
repository. The code is maintained using the
-@uref{http://git-scm.com/, Git distributed version control system}.
+@uref{http://git-scm.com, Git distributed version control system}.
You will need to install it if your system doesn't have it.
Once you have done so, use the command: