aboutsummaryrefslogtreecommitdiffstats
path: root/doc/gawk.info
diff options
context:
space:
mode:
Diffstat (limited to 'doc/gawk.info')
-rw-r--r--doc/gawk.info1345
1 files changed, 672 insertions, 673 deletions
diff --git a/doc/gawk.info b/doc/gawk.info
index 24bd51ad..f66dacbc 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1,4 +1,4 @@
-This is gawk.info, produced by makeinfo version 6.0dev from gawk.texi.
+This is gawk.info, produced by makeinfo version 6.1 from gawk.texi.
Copyright (C) 1989, 1991, 1992, 1993, 1996-2005, 2007, 2009-2015
Free Software Foundation, Inc.
@@ -939,8 +939,8 @@ the 'gawk' distribution). His code finally became part of the main
'awk'-level debugger. This version became available as 'gawk' version
4.0 in 2011.
- *Note Contributors::, for a full list of those who have made
-important contributions to 'gawk'.
+ *Note Contributors:: for a full list of those who have made important
+contributions to 'gawk'.

File: gawk.info, Node: Names, Next: This Manual, Prev: History, Up: Preface
@@ -1154,7 +1154,7 @@ by first pressing and holding the 'CONTROL' key, next pressing the 'd'
key, and finally releasing both keys.
For the sake of brevity, throughout this Info file, we refer to Brian
-Kernighan's version of 'awk' as "BWK 'awk'." (*Note Other Versions::,
+Kernighan's version of 'awk' as "BWK 'awk'." (*Note Other Versions::
for information on his and other versions.)
Dark Corners
@@ -1233,7 +1233,7 @@ the major new additions are *note Arbitrary Precision Arithmetic::, and
*note Dynamic Extensions::.
This Info file will undoubtedly continue to evolve. If you find an
-error in the Info file, please report it! *Note Bugs::, for information
+error in the Info file, please report it! *Note Bugs:: for information
on submitting problem reports electronically.
---------- Footnotes ----------
@@ -1340,7 +1340,7 @@ has been and continues to be a pleasure working with this team of fine
people.
Notable code and documentation contributions were made by a number of
-people. *Note Contributors::, for the full list.
+people. *Note Contributors:: for the full list.
Thanks to Michael Brennan for the Forewords.
@@ -1760,7 +1760,7 @@ the quoting rules:
quotes. The shell does no interpretation of the quoted text,
passing it on verbatim to the command. It is _impossible_ to embed
a single quote inside single-quoted text. Refer back to *note
- Comments::, for an example of what happens if you try.
+ Comments:: for an example of what happens if you try.
* Double quotes protect most things between the opening and closing
quotes. The shell does at least variable and command substitution
@@ -2059,7 +2059,7 @@ then several actions execute in the order in which they appear in the
'awk' program. If no patterns match, then no actions run.
After processing all the rules that match the line (and perhaps there
-are none), 'awk' reads the next line. (However, *note Next Statement::,
+are none), 'awk' reads the next line. (However, *note Next Statement::
and also *note Nextfile Statement::.) This continues until the program
reaches the end of the file. For example, the following 'awk' program
contains two rules:
@@ -2279,7 +2279,7 @@ determining the type of a variable, and array sorting.
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
+described systematically in *note Built-in Variables:: and in *note
Built-in::.

@@ -2658,9 +2658,9 @@ The following list describes options mandated by the POSIX standard:
'--posix'
Operate in strict POSIX mode. This disables all 'gawk' extensions
(just like '--traditional') and disables all extensions not allowed
- by POSIX. *Note Common Extensions::, for a summary of the
- extensions in 'gawk' that are disabled by this option. Also, the
- following additional restrictions apply:
+ by POSIX. *Note Common Extensions:: for a summary of the extensions
+ in 'gawk' that are disabled by this option. Also, the following
+ additional restrictions apply:
* Newlines do not act as whitespace to separate fields when 'FS'
is equal to a single space (*note Fields::).
@@ -3472,7 +3472,7 @@ with a backslash have special meaning in regexps. *Note GNU Regexp
Operators::.
In a regexp, a backslash before any character that is not in the
-previous list and not listed in *note GNU Regexp Operators::, means that
+previous list and not listed in *note GNU Regexp Operators:: means that
the next character should be taken literally, even if it would normally
be a regexp operator. For example, '/a\+b/' matches the three
characters 'a+b'.
@@ -3534,7 +3534,7 @@ You can combine regular expressions with special characters, called
"regular expression operators" or "metacharacters", to increase the
power and versatility of regular expressions.
- The escape sequences described in *note Escape Sequences::, are valid
+ The escape sequences described in *note Escape Sequences:: are valid
inside a regexp. They are introduced by a '\' and are recognized and
converted into corresponding real characters as the very first step in
processing regexps.
@@ -3714,7 +3714,7 @@ those listed between the opening and closing square brackets.
characters separated by a hyphen. It matches any single character that
sorts between the two characters, based upon the system's native
character set. For example, '[0-9]' is equivalent to '[0123456789]'.
-(See *note Ranges and Locales::, for an explanation of how the POSIX
+(See *note Ranges and Locales:: for an explanation of how the POSIX
standard and 'gawk' have changed over time. This is mainly of
historical interest.)
@@ -4305,7 +4305,7 @@ record, even if the last character in the file is not the character in
The empty string '""' (a string without any characters) has a special
meaning as the value of 'RS'. It means that records are separated by
-one or more blank lines and nothing else. *Note Multiple Line::, for
+one or more blank lines and nothing else. *Note Multiple Line:: for
more details.
If you change the value of 'RS' in the middle of an 'awk' run, the
@@ -4355,7 +4355,7 @@ trailing whitespace:
The square brackets delineate the contents of 'RT', letting you see the
leading and trailing whitespace. The final value of 'RT' is a newline.
-*Note Simple Sed::, for a more useful example of 'RS' as a regexp and
+*Note Simple Sed:: for a more useful example of 'RS' as a regexp and
'RT'.
If you set 'RS' to a regular expression that allows optional trailing
@@ -4408,9 +4408,9 @@ as a record separator. However, this is a special case: 'mawk' does not
allow embedded NUL characters in strings. (This may change in a future
version of 'mawk'.)
- *Note Readfile Function::, for an interesting way to read whole
-files. If you are using 'gawk', see *note Extension Sample Readfile::,
-for another option.
+ *Note Readfile Function:: for an interesting way to read whole files.
+If you are using 'gawk', see *note Extension Sample Readfile:: for
+another option.
---------- Footnotes ----------
@@ -4614,8 +4614,8 @@ out-of-range field only produces an empty string. For example:
print "everything is normal"
should print 'everything is normal', because 'NF+1' is certain to be out
-of range. (*Note If Statement::, for more information about 'awk''s
-'if-else' statements. *Note Typing and Comparison::, for more
+of range. (*Note If Statement:: for more information about 'awk''s
+'if-else' statements. *Note Typing and Comparison:: for more
information about the '!=' operator.)
It is important to note that making an assignment to an existing
@@ -5153,7 +5153,7 @@ value is '"FS"' if regular field splitting is being used, or
This information is useful when writing a function that needs to
temporarily change 'FS' or 'FIELDWIDTHS', read some records, and then
-restore the original settings (*note Passwd Functions::, for an example
+restore the original settings (*note Passwd Functions:: for an example
of such a function).

@@ -5367,7 +5367,7 @@ A simple program to process this file is as follows:
-|
...
- *Note Labels Program::, for a more realistic program dealing with
+ *Note Labels Program:: for a more realistic program dealing with
address lists. The following list summarizes how records are split,
based on the value of 'RS'. ('==' means "is equal to.")
@@ -5621,7 +5621,7 @@ included twice. *Note Close Files And Pipes::.
One deficiency of this program is that it does not process nested
'@include' statements (i.e., '@include' statements in included files)
-the way a true macro preprocessor would. *Note Igawk Program::, for a
+the way a true macro preprocessor would. *Note Igawk Program:: for a
program that does handle nested '@include' statements.
---------- Footnotes ----------
@@ -5975,7 +5975,7 @@ wildcards with your 'awk' program:
'gawk' reverts to treating a directory on the command line as a fatal
error.
- *Note Extension Sample Readdir::, for a way to treat directories as
+ *Note Extension Sample Readdir:: for a way to treat directories as
usable data from an 'awk' program.

@@ -6080,7 +6080,7 @@ and the 'printf' statement for fancier formatting. The 'print'
statement is not limited when computing _which_ values to print.
However, with two exceptions, you cannot specify _how_ to print
them--how many columns, whether to use exponential notation or not, and
-so on. (For the exceptions, *note Output Separators::, and *note
+so on. (For the exceptions, *note Output Separators:: and *note
OFMT::.) For printing with specifications, you need the 'printf'
statement (*note Printf::).
@@ -6784,7 +6784,7 @@ work identically for 'printf':
The 'close()' function is called here because it's a good idea to
close the pipe as soon as all the intended output has been sent to
- it. *Note Close Files And Pipes::, for more information.
+ it. *Note Close Files And Pipes:: for more information.
This example also illustrates the use of a variable to represent a
FILE or COMMAND--it is not necessary to always use a string
@@ -6847,7 +6847,7 @@ uppercase characters converted to lowercase (*note String Functions::).
The program builds up a list of command lines, using the 'mv' utility to
rename the files. It then sends the list to the shell for execution.
- *Note Shell Quoting::, for a function that can help in generating
+ *Note Shell Quoting:: for a function that can help in generating
command lines to be fed to the shell.

@@ -7372,7 +7372,7 @@ option; *note Nondecimal Data::.) If you have octal or hexadecimal
data, you can use the 'strtonum()' function (*note String Functions::)
to convert the data into a number. Most of the time, you will want to
use octal or hexadecimal constants when working with the built-in
-bit-manipulation functions; see *note Bitwise Functions::, for more
+bit-manipulation functions; see *note Bitwise Functions:: for more
information.
Unlike in some early C implementations, '8' and '9' are not valid in
@@ -7531,7 +7531,7 @@ 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
-record). *Note Built-in Variables::, for a list of the predefined
+record). *Note Built-in Variables:: for a list of the predefined
variables. These predefined variables can be used and assigned just
like all other variables, but their values are also used or changed
automatically by 'awk'. All predefined variables' names are entirely
@@ -7564,7 +7564,7 @@ option, as in the following:
the variable is set at the very beginning, even before the 'BEGIN' rules
execute. The '-v' option and its assignment must precede all the file
-name arguments, as well as the program text. (*Note Options::, for more
+name arguments, as well as the program text. (*Note Options:: for more
information about the '-v' option.) Otherwise, the variable assignment
is performed at a time determined by its position among the input file
arguments--after the processing of the preceding input file argument.
@@ -7670,7 +7670,7 @@ use when printing numbers with 'print'. 'CONVFMT' was introduced in
order to separate the semantics of conversion from the semantics of
printing. Both 'CONVFMT' and 'OFMT' have the same default value:
'"%.6g"'. In the vast majority of cases, old 'awk' programs do not
-change their behavior. *Note Print::, for more information on the
+change their behavior. *Note Print:: for more information on the
'print' statement.
---------- Footnotes ----------
@@ -8049,7 +8049,7 @@ expression. For example:
The indices of 'bar' are practically guaranteed to be different, because
'rand()' returns different values each time it is called. (Arrays and
the 'rand()' function haven't been covered yet. *Note Arrays::, and
-*note Numeric Functions::, for more information.) This example
+*note Numeric Functions:: for more information.) This example
illustrates an important fact about assignment operators: the lefthand
expression is only evaluated _once_.
@@ -8646,9 +8646,9 @@ function 'sqrt()' computes the square root of a number.
A fixed set of functions are "built in", which means they are
available in every 'awk' program. The 'sqrt()' function is one of
-these. *Note Built-in::, for a list of built-in functions and their
+these. *Note Built-in:: for a list of built-in functions and their
descriptions. In addition, you can define functions for use in your
-program. *Note User-defined::, for instructions on how to do this.
+program. *Note User-defined:: for instructions on how to do this.
Finally, 'gawk' lets you write functions in C or C++ that may be called
from your program (*note Dynamic Extensions::).
@@ -8680,7 +8680,7 @@ of which to take the square root:
Some of the built-in functions have one or more optional arguments.
If those arguments are not supplied, the functions use a reasonable
-default value. *Note Built-in::, for full details. If arguments are
+default value. *Note Built-in:: for full details. If arguments are
omitted in calls to user-defined functions, then those arguments are
treated as local variables. Such local variables act like the empty
string if referenced where a string value is required, and like zero if
@@ -9215,7 +9215,7 @@ functions, because each library file can have its own 'BEGIN' and/or
which library functions are named on the command line controls the order
in which their 'BEGIN' and 'END' rules are executed. Therefore, you
have to be careful when writing such rules in library files so that the
-order in which they are executed doesn't matter. *Note Options::, for
+order in which they are executed doesn't matter. *Note Options:: for
more information on using library functions. *Note Library Functions::,
for a number of useful library functions.
@@ -9270,8 +9270,8 @@ explicitly.
'BEGIN' rule, because the implicit
read-a-record-and-match-against-the-rules loop has not started yet.
Similarly, those statements are not valid in an 'END' rule, because all
-the input has been read. (*Note Next Statement::, and *note Nextfile
-Statement::,.)
+the input has been read. (*Note Next Statement:: and *note Nextfile
+Statement::.)

File: gawk.info, Node: BEGINFILE/ENDFILE, Next: Empty, Prev: BEGIN/END, Up: Pattern Overview
@@ -9697,7 +9697,7 @@ all the indices of an array:
for (i in array)
DO SOMETHING WITH array[i]
-*Note Scanning an Array::, for more information on this version of the
+*Note Scanning an Array:: for more information on this version of the
'for' loop.

@@ -10008,15 +10008,15 @@ execute.
In such a case, if you don't want the 'END' rule to do its job, set a
variable to a nonzero value before the 'exit' statement and check that
-variable in the 'END' rule. *Note Assert Function::, for an example
-that does this.
+variable in the 'END' rule. *Note Assert Function:: for an example that
+does this.
If an argument is supplied to 'exit', its value is used as the exit
status code for the 'awk' process. If no argument is supplied, 'exit'
causes 'awk' to return a "success" status. In the case where an
argument is supplied to a first 'exit' statement, and then 'exit' is
called a second time from an 'END' rule with no argument, 'awk' uses the
-previously supplied exit value. (d.c.) *Note Exit Status::, for more
+previously supplied exit value. (d.c.) *Note Exit Status:: for more
information.
For example, suppose an error condition occurs that is difficult or
@@ -10104,13 +10104,13 @@ each variable.)
A space-separated list of columns that tells 'gawk' how to split
input with fixed columnar boundaries. Assigning a value to
'FIELDWIDTHS' overrides the use of 'FS' and 'FPAT' for field
- splitting. *Note Constant Size::, for more information.
+ splitting. *Note Constant Size:: for more information.
'FPAT #'
A regular expression (as a string) that tells 'gawk' to create the
fields based on text that matches the regular expression.
Assigning a value to 'FPAT' overrides the use of 'FS' and
- 'FIELDWIDTHS' for field splitting. *Note Splitting By Content::,
+ 'FIELDWIDTHS' for field splitting. *Note Splitting By Content::
for more information.
'FS'
@@ -10267,8 +10267,8 @@ they are not special:
The value of 'ARGV[0]' can vary from system to system. Also, you
should note that the program text is _not_ included in 'ARGV', nor
- are any of 'awk''s command-line options. *Note ARGC and ARGV::,
- for information about how 'awk' uses these variables. (d.c.)
+ are any of 'awk''s command-line options. *Note ARGC and ARGV:: for
+ information about how 'awk' uses these variables. (d.c.)
'ARGIND #'
The index in 'ARGV' of the current file being processed. Every
@@ -10297,7 +10297,7 @@ they are not special:
Some operating systems may not have environment variables. On such
systems, the 'ENVIRON' array is empty (except for
'ENVIRON["AWKPATH"]' and 'ENVIRON["AWKLIBPATH"]'; *note AWKPATH
- Variable::, and *note AWKLIBPATH Variable::).
+ Variable:: and *note AWKLIBPATH Variable::).
'ERRNO #'
If a system error occurs during a redirection for 'getline', during
@@ -10463,12 +10463,12 @@ they are not special:
'PROCINFO["COMMAND", "pty"]'
For two-way communication to COMMAND, use a pseudo-tty instead
- of setting up a two-way pipe. *Note Two-way I/O::, for more
+ of setting up a two-way pipe. *Note Two-way I/O:: for more
information.
'PROCINFO["INPUT_NAME", "READ_TIMEOUT"]'
Set a timeout for reading from input redirection INPUT_NAME.
- *Note Read Timeout::, for more information.
+ *Note Read Timeout:: for more information.
'PROCINFO["sorted_in"]'
If this element exists in 'PROCINFO', its value controls the
@@ -10573,7 +10573,7 @@ File: gawk.info, Node: ARGC and ARGV, Prev: Auto-set, Up: Built-in Variables
7.5.3 Using 'ARGC' and 'ARGV'
-----------------------------
-*note Auto-set::, presented the following program describing the
+*note Auto-set:: presented the following program describing the
information contained in 'ARGC' and 'ARGV':
$ awk 'BEGIN {
@@ -10628,9 +10628,8 @@ string. Another option is to use the 'delete' statement to remove
elements from 'ARGV' (*note Delete::).
All of these actions are typically done in the 'BEGIN' rule, before
-actual processing of the input begins. *Note Split Program::, and *note
-Tee Program::, for examples of each way of removing elements from
-'ARGV'.
+actual processing of the input begins. *Note Split Program:: and *note
+Tee Program:: for examples of each way of removing elements from 'ARGV'.
To actually get options into an 'awk' program, end the 'awk' options
with '--' and then supply the 'awk' program's options, in the following
@@ -10667,14 +10666,14 @@ be:
gawk -f myprog.awk -q -v file1 file2 ...
Because '-q' is not a valid 'gawk' option, it and the following '-v' are
-passed on to the 'awk' program. (*Note Getopt Function::, for an 'awk'
+passed on to the 'awk' program. (*Note Getopt Function:: for an 'awk'
library function that parses command-line options.)
When designing your program, you should choose options that don't
conflict with 'gawk''s, because it will process any options that it
accepts before passing the rest of the command line on to your program.
-Using '#!' with the '-E' option may help (*note Executable Scripts::,
-and *note Options::,).
+Using '#!' with the '-E' option may help (*note Executable Scripts:: and
+*note Options::).

File: gawk.info, Node: Pattern Action Summary, Prev: Built-in Variables, Up: Patterns and Actions
@@ -11053,7 +11052,7 @@ least once) in the input, by storing a one into the array 'used' with
the word as the index. The second rule scans the elements of 'used' to
find all the distinct words that appear in the input. It prints each
word that is more than 10 characters long and also prints the number of
-such words. *Note String Functions::, for more information on the
+such words. *Note String Functions:: for more information on the
built-in function 'length()'.
# Record a 1 for each word that is used at least once
@@ -11073,7 +11072,7 @@ built-in function 'length()'.
print num_long_words, "words longer than 10 characters"
}
-*Note Word Sorting::, for a more detailed example of this type.
+*Note Word Sorting:: for a more detailed example of this type.
The order in which elements of the array are accessed by this
statement is determined by the internal arrangement of the array
@@ -11678,7 +11677,7 @@ following code prints the elements of our main array 'a':
}
}
-*Note Walking Arrays::, for a user-defined function that "walks" an
+*Note Walking Arrays:: for a user-defined function that "walks" an
arbitrarily dimensioned array of arrays.
Recall that a reference to an uninitialized array element yields a
@@ -12004,7 +12003,7 @@ Options::):
HOW, as it requires understanding features that we have not
discussed yet. Thus, the discussion here is a deliberate
simplification. (We do provide all the details later on; see
- *note Array Sorting Functions::, for the full story.)
+ *note Array Sorting Functions:: for the full story.)
Both functions return the number of elements in the array SOURCE.
For 'asort()', 'gawk' sorts the values of SOURCE and replaces the
@@ -12172,7 +12171,7 @@ Options::):
The REGEXP argument may be either a regexp constant ('/'...'/') or
a string constant ('"'...'"'). In the latter case, the string is
- treated as a regexp to be matched. *Note Computed Regexps::, for a
+ treated as a regexp to be matched. *Note Computed Regexps:: for a
discussion of the difference between the two forms, and the
implications for writing your program correctly.
@@ -12319,9 +12318,9 @@ Options::):
Modern implementations of 'awk', including 'gawk', allow the third
argument to be a regexp constant ('/'...'/') as well as a string.
(d.c.) The POSIX standard allows this as well. *Note Computed
- Regexps::, for a discussion of the difference between using a
- string constant or a regexp constant, and the implications for
- writing your program correctly.
+ Regexps:: for a discussion of the difference between using a string
+ constant or a regexp constant, and the implications for writing
+ your program correctly.
Before splitting the string, 'split()' deletes any previously
existing elements in the arrays ARRAY and SEPS.
@@ -12371,7 +12370,7 @@ Options::):
The REGEXP argument may be either a regexp constant ('/'...'/') or
a string constant ('"'...'"'). In the latter case, the string is
- treated as a regexp to be matched. *Note Computed Regexps::, for a
+ treated as a regexp to be matched. *Note Computed Regexps:: for a
discussion of the difference between the two forms, and the
implications for writing your program correctly.
@@ -12503,7 +12502,7 @@ Although this makes a certain amount of sense, it can be surprising.
---------- Footnotes ----------
(1) Unless you use the '--non-decimal-data' option, which isn't
-recommended. *Note Nondecimal Data::, for more information.
+recommended. *Note Nondecimal Data:: for more information.
(2) Note that this means that the record will first be regenerated
using the value of 'OFS' if any fields have been changed, and that the
@@ -12672,7 +12671,7 @@ parameters are enclosed in square brackets ([ ]):
Close the file FILENAME for input or output. Alternatively, the
argument may be a shell command that was used for creating a
coprocess, or for redirecting to or from a pipe; then the coprocess
- or pipe is closed. *Note Close Files And Pipes::, for more
+ or pipe is closed. *Note Close Files And Pipes:: for more
information.
When closing a coprocess, it is occasionally useful to first close
@@ -14328,7 +14327,7 @@ File: gawk.info, Node: Library Functions, Next: Sample Programs, Prev: Functi
10 A Library of 'awk' Functions
*******************************
-*note User-defined::, describes how to write your own 'awk' functions.
+*note User-defined:: describes how to write your own 'awk' functions.
Writing functions is important, because it allows you to encapsulate
algorithms and program tasks in a single place. It simplifies
programming, making program development more manageable and making
@@ -14355,7 +14354,7 @@ of the sample programs presented later in this Info file use these
functions. The functions are presented here in a progression from
simple to complex.
- *note Extract Program::, presents a program that you can use to
+ *note Extract Program:: presents a program that you can use to
extract the source code for these example library functions and programs
from the Texinfo source for this Info file. (This has already been done
as part of the 'gawk' distribution.)
@@ -14472,7 +14471,7 @@ program, leading to bugs that are very difficult to track down:
single associative array to hold the values needed by the library
function(s), or "package." This significantly decreases the number of
actual global names in use. For example, the functions described in
-*note Passwd Functions::, might have used array elements
+*note Passwd Functions:: might have used array elements
'PW_data["inited"]', 'PW_data["total"]', 'PW_data["count"]', and
'PW_data["awklib"]', instead of '_pw_inited', '_pw_awklib', '_pw_total',
and '_pw_count'.
@@ -14913,8 +14912,8 @@ File: gawk.info, Node: Getlocaltime Function, Next: Readfile Function, Prev:
-------------------------------
The 'systime()' and 'strftime()' functions described in *note Time
-Functions::, provide the minimum functionality necessary for dealing
-with the time of day in human-readable form. Although 'strftime()' is
+Functions:: provide the minimum functionality necessary for dealing with
+the time of day in human-readable form. Although 'strftime()' is
extensive, the control formats are not necessarily easy to remember or
intuitively obvious when reading a program.
@@ -14984,8 +14983,8 @@ current time formatted in the same way as the 'date' utility:
The string indices are easier to use and read than the various
formats required by 'strftime()'. The 'alarm' program presented in
-*note Alarm Program::, uses this function. A more general design for
-the 'getlocaltime()' function would have allowed the user to supply an
+*note Alarm Program:: uses this function. A more general design for the
+'getlocaltime()' function would have allowed the user to supply an
optional timestamp value to use instead of the current time.

@@ -15035,7 +15034,7 @@ reads the entire contents of the named file in one shot:
never match if the file has contents. 'gawk' reads data from the file
into 'tmp', attempting to match 'RS'. The match fails after each read,
but fails quickly, such that 'gawk' fills 'tmp' with the entire contents
-of the file. (*Note Records::, for information on 'RT' and 'RS'.)
+of the file. (*Note Records:: for information on 'RT' and 'RS'.)
In the case that 'file' is empty, the return value is the null
string. Thus, calling code may use something like:
@@ -15047,8 +15046,8 @@ string. Thus, calling code may use something like:
This tests the result to see if it is empty or not. An equivalent
test would be 'contents == ""'.
- *Note Extension Sample Readfile::, for an extension function that
-also reads an entire file into memory.
+ *Note Extension Sample Readfile:: for an extension function that also
+reads an entire file into memory.

File: gawk.info, Node: Shell Quoting, Prev: Readfile Function, Up: General Functions
@@ -15199,7 +15198,7 @@ solves the problem:
END { endfile(_filename_) }
- *note Wc Program::, shows how this library function can be used and
+ *note Wc Program:: shows how this library function can be used and
how it simplifies writing the main program.
So Why Does 'gawk' Have 'BEGINFILE' and 'ENDFILE'?
@@ -15673,7 +15672,7 @@ that it does not try to interpret the '-a', etc., as its own options.
Using '#!' with the '-E' option may help avoid conflicts between your
program's options and 'gawk''s options, as '-E' causes 'gawk' to abandon
-processing of further options (*note Executable Scripts::, and *note
+processing of further options (*note Executable Scripts:: and *note
Options::).
Several of the sample programs presented in *note Sample Programs::,
@@ -15698,7 +15697,7 @@ are numbers, they do not provide very useful information to the average
user. There needs to be some way to find the user information
associated with the user and group ID numbers. This minor node presents
a suite of functions for retrieving information from the user database.
-*Note Group Functions::, for a similar suite that retrieves information
+*Note Group Functions:: for a similar suite that retrieves information
from the group database.
The POSIX standard does not define the file where user information is
@@ -15918,7 +15917,7 @@ once. If you are worried about squeezing every last cycle out of your
this is not necessary, as most 'awk' programs are I/O-bound, and such a
change would clutter up the code.
- The 'id' program in *note Id Program::, uses these functions.
+ The 'id' program in *note Id Program:: uses these functions.
---------- Footnotes ----------
@@ -15931,7 +15930,7 @@ File: gawk.info, Node: Group Functions, Next: Walking Arrays, Prev: Passwd Fu
10.6 Reading the Group Database
===============================
-Much of the discussion presented in *note Passwd Functions::, applies to
+Much of the discussion presented in *note Passwd Functions:: applies to
the group database as well. Although there has traditionally been a
well-known file ('/etc/group') in a well-known format, the POSIX
standard only provides a set of C library routines ('<grp.h>' and
@@ -16153,7 +16152,7 @@ body of '_gr_init()' into a 'BEGIN' rule).
associative arrays. The functions that the user calls are themselves
very simple, relying on 'awk''s associative arrays to do work.
- The 'id' program in *note Id Program::, uses these functions.
+ The 'id' program in *note Id Program:: uses these functions.
---------- Footnotes ----------
@@ -16167,10 +16166,10 @@ File: gawk.info, Node: Walking Arrays, Next: Library Functions Summary, Prev:
10.7 Traversing Arrays of Arrays
================================
-*note Arrays of Arrays::, described how 'gawk' provides arrays of
-arrays. In particular, any element of an array may be either a scalar
-or another array. The 'isarray()' function (*note Type Functions::)
-lets you distinguish an array from a scalar. The following function,
+*note Arrays of Arrays:: described how 'gawk' provides arrays of arrays.
+In particular, any element of an array may be either a scalar or another
+array. The 'isarray()' function (*note Type Functions::) lets you
+distinguish an array from a scalar. The following function,
'walk_array()', recursively traverses an array, printing the element
indices and values. You call it with the array and a string
representing the name of the array:
@@ -18908,7 +18907,7 @@ File: gawk.info, Node: Programs Summary, Next: Programs Exercises, Prev: Misc
the separator can considerably simplify such tasks.
* The examples here demonstrate the usefulness of the library
- functions from *note Library Functions::, for a number of real (if
+ functions from *note Library Functions:: for a number of real (if
small) programs.
* Besides reinventing POSIX wheels, other programs solved a selection
@@ -19137,7 +19136,7 @@ implementation of arrays inside 'awk'.
in a particular order that you, the programmer, choose. 'gawk' lets you
do this.
- *note Controlling Scanning::, describes how you can assign special,
+ *note Controlling Scanning:: describes how you can assign special,
predefined values to 'PROCINFO["sorted_in"]' in order to control the
order in which 'gawk' traverses an array during a 'for' loop.
@@ -19156,7 +19155,7 @@ arguments:
Here, 'i1' and 'i2' are the indices, and 'v1' and 'v2' are the
corresponding values of the two elements being compared. Either 'v1' or
'v2', or both, can be arrays if the array being traversed contains
-subarrays as values. (*Note Arrays of Arrays::, for more information
+subarrays as values. (*Note Arrays of Arrays:: for more information
about subarrays.) The three possible return values are interpreted as
follows:
@@ -20284,7 +20283,7 @@ File: gawk.info, Node: Programmer i18n, Next: Translator i18n, Prev: Explaini
...
}
- *Note I18N Example::, for an example program showing the steps to
+ *Note I18N Example:: for an example program showing the steps to
create and use translations from 'awk'.
---------- Footnotes ----------
@@ -20332,7 +20331,7 @@ included in the output are any constant strings that appear as the first
argument to 'dcgettext()' or as the first and second argument to
'dcngettext()'.(1) You should distribute the generated '.pot' file with
your 'awk' program; translators will eventually use it to provide you
-translations that you can also then distribute. *Note I18N Example::,
+translations that you can also then distribute. *Note I18N Example::
for the full list of steps to go through to create and test translations
for 'guide'.
@@ -21958,7 +21957,7 @@ results to any desired precision level supported by MPFR.
Two predefined variables, 'PREC' and 'ROUNDMODE', provide control
over the working precision and the rounding mode. The precision and the
rounding mode are set globally for every operation to follow. *Note
-Setting precision::, and *note Setting the rounding mode::, for more
+Setting precision:: and *note Setting the rounding mode:: for more
information.

@@ -22762,7 +22761,7 @@ Example::) and also in the 'testext.c' code for testing the APIs.
extension can check if the 'gawk' it is loaded with supports the
facilities it was compiled with. (Version mismatches "shouldn't"
happen, but we all know how _that_ goes.) *Note Extension
- Versioning::, for details.
+ Versioning:: for details.

File: gawk.info, Node: Extension API Description, Next: Finding Extensions, Prev: Extension Mechanism Outline, Up: Dynamic Extensions
@@ -23781,7 +23780,7 @@ your extension function. They are:
Convert a parameter that was undefined into an array; this provides
call by reference for arrays. Return false if 'count' is too big,
or if the argument's type is not undefined. *Note Array
- Manipulation::, for more information on creating arrays.
+ Manipulation:: for more information on creating arrays.

File: gawk.info, Node: Symbol Table Access, Next: Array Manipulation, Prev: Accessing Parameters, Up: Extension API Description
@@ -24198,7 +24197,7 @@ The following functions relate to individual array elements:
'awk_array_t create_array(void);'
Create a new array to which elements may be added. *Note Creating
- Arrays::, for a discussion of how to create a new array and add
+ Arrays:: for a discussion of how to create a new array and add
elements to it.
'awk_bool_t clear_array(awk_array_t a_cookie);'
@@ -24530,7 +24529,7 @@ array:
-| new_array["hello"] = world
-| new_array["answer"] = 42
-(*Note Finding Extensions::, for more information on the 'AWKLIBPATH'
+(*Note Finding Extensions:: for more information on the 'AWKLIBPATH'
environment variable.)

@@ -24745,7 +24744,7 @@ Compiled extensions have to be installed in a directory where 'gawk' can
find them. If 'gawk' is configured and built in the default fashion,
the directory in which to find extensions is '/usr/local/lib/gawk'. You
can also specify a search path with a list of directories to search for
-compiled extensions. *Note AWKLIBPATH Variable::, for more information.
+compiled extensions. *Note AWKLIBPATH Variable:: for more information.

File: gawk.info, Node: Extension Example, Next: Extension Samples, Prev: Finding Extensions, Up: Dynamic Extensions
@@ -25333,7 +25332,7 @@ directory and run the program:
(1) In practice, you would probably want to use the GNU Autotools
(Automake, Autoconf, Libtool, and 'gettext') to configure and build your
libraries. Instructions for doing so are beyond the scope of this Info
-file. *Note gawkextlib::, for Internet links to the tools.
+file. *Note gawkextlib:: for Internet links to the tools.

File: gawk.info, Node: Extension Samples, Next: gawkextlib, Prev: Extension Example, Up: Dynamic Extensions
@@ -26305,7 +26304,7 @@ many years were finally added to POSIX. They are:
* The ability to delete all of an array at once with 'delete ARRAY'
(*note Delete::)
- *Note Common Extensions::, for a list of common extensions not
+ *Note Common Extensions:: for a list of common extensions not
permitted by the POSIX standard.
The 2008 POSIX standard can be found online at
@@ -26332,8 +26331,8 @@ in his version of 'awk':
* The 'fflush()' built-in function for flushing buffered output
(*note I/O Functions::)
- *Note Common Extensions::, for a full list of the extensions
-available in his 'awk'.
+ *Note Common Extensions:: for a full list of the extensions available
+in his 'awk'.

File: gawk.info, Node: POSIX/GNU, Next: Feature History, Prev: BTL, Up: Language History
@@ -27201,7 +27200,7 @@ Appendix B Installing 'gawk'
This appendix provides instructions for installing 'gawk' on the various
platforms that are supported by the developers. The primary developer
supports GNU/Linux (and Unix), whereas the other ports are contributed.
-*Note Bugs::, for the email addresses of the people who maintain the
+*Note Bugs:: for the email addresses of the people who maintain the
respective ports.
* Menu:
@@ -27439,10 +27438,10 @@ Various '.c', '.y', and '.h' files
contains a 'Makefile.in' file, which 'configure' uses to generate a
'Makefile'. 'Makefile.am' is used by GNU Automake to create
'Makefile.in'. The library functions from *note Library
- Functions::, and the 'igawk' program from *note Igawk Program::,
- are included as ready-to-use files in the 'gawk' distribution.
- They are installed as part of the installation process. The rest
- of the programs in this Info file are available in appropriate
+ Functions::, and the 'igawk' program from *note Igawk Program:: are
+ included as ready-to-use files in the 'gawk' distribution. They
+ are installed as part of the installation process. The rest of the
+ programs in this Info file are available in appropriate
subdirectories of 'awklib/eg'.
'extension/*'
@@ -27455,11 +27454,11 @@ Various '.c', '.y', and '.h' files
'pc/*'
Files needed for building 'gawk' under MS-Windows and OS/2 (*note
- PC Installation::, for details).
+ PC Installation:: for details).
'vms/*'
Files needed for building 'gawk' under Vax/VMS and OpenVMS (*note
- VMS Installation::, for details).
+ VMS Installation:: for details).
'test/*'
A test suite for 'gawk'. You can use 'make check' from the
@@ -27624,7 +27623,7 @@ any constants that 'configure' defined and should not have. The
Autoconf will not work on your system in some other fashion. If you do
have a problem, the 'configure.ac' file is the input for Autoconf. You
may be able to change this file and generate a new version of
-'configure' that works on your system (*note Bugs::, for information on
+'configure' that works on your system (*note Bugs:: for information on
how to report problems in configuring 'gawk'). The same mechanism may
be used to send in updates to 'configure.ac' and/or 'custom.h'.
@@ -27995,8 +27994,8 @@ Compaq C V6.4, and under Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS
8.3. The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both
Alpha and IA64 VMS 8.4 used HP C 7.3.(1)
- *Note VMS GNV::, for information on building 'gawk' as a PCSI kit
-that is compatible with the GNV product.
+ *Note VMS GNV:: for information on building 'gawk' as a PCSI kit that
+is compatible with the GNV product.
---------- Footnotes ----------
@@ -28379,7 +28378,7 @@ Unix 'awk'
This version requires an ISO C (1990 standard) compiler; the C
compiler from GCC (the GNU Compiler Collection) works quite nicely.
- *Note Common Extensions::, for a list of extensions in this 'awk'
+ *Note Common Extensions:: for a list of extensions in this 'awk'
that are not in POSIX 'awk'.
As a side note, Dan Bornstein has created a Git repository tracking
@@ -28403,7 +28402,7 @@ Unix 'awk'
Once you have it, 'gunzip' may be used to decompress this file.
Installation is similar to 'gawk''s (*note Unix Installation::).
- *Note Common Extensions::, for a list of extensions in 'mawk' that
+ *Note Common Extensions:: for a list of extensions in 'mawk' that
are not in POSIX 'awk'.
'awka'
@@ -28596,7 +28595,7 @@ C.2.1 Accessing The 'gawk' Git Repository
-----------------------------------------
As 'gawk' is Free Software, the source code is always available. *note
-Gawk Distribution::, describes how to get and build the formal, released
+Gawk Distribution:: describes how to get and build the formal, released
versions of 'gawk'.
However, if you want to modify 'gawk' and contribute back your
@@ -32547,7 +32546,7 @@ Index
* describe call stack frame, in debugger: Debugger Info. (line 27)
* differences between gawk and awk: String Functions. (line 200)
* differences in awk and gawk, ARGC/ARGV variables: ARGC and ARGV.
- (line 90)
+ (line 89)
* differences in awk and gawk, ARGIND variable: Auto-set. (line 44)
* differences in awk and gawk, array elements, deleting: Delete.
(line 39)
@@ -34593,560 +34592,560 @@ Index

Tag Table:
-Node: Top1203
-Node: Foreword342141
-Node: Foreword446583
-Node: Preface48115
-Ref: Preface-Footnote-150987
-Ref: Preface-Footnote-251094
-Ref: Preface-Footnote-351328
-Node: History51470
-Node: Names53823
-Ref: Names-Footnote-154917
-Node: This Manual55064
-Ref: This Manual-Footnote-161546
-Node: Conventions61646
-Node: Manual History64001
-Ref: Manual History-Footnote-166997
-Ref: Manual History-Footnote-267038
-Node: How To Contribute67112
-Node: Acknowledgments68241
-Node: Getting Started73128
-Node: Running gawk75567
-Node: One-shot76757
-Node: Read Terminal78020
-Node: Long80052
-Node: Executable Scripts81565
-Ref: Executable Scripts-Footnote-184360
-Node: Comments84463
-Node: Quoting86947
-Node: DOS Quoting92465
-Node: Sample Data Files93140
-Node: Very Simple95735
-Node: Two Rules100637
-Node: More Complex102523
-Node: Statements/Lines105386
-Ref: Statements/Lines-Footnote-1109845
-Node: Other Features110110
-Node: When111047
-Ref: When-Footnote-1112801
-Node: Intro Summary112866
-Node: Invoking Gawk113750
-Node: Command Line115264
-Node: Options116062
-Ref: Options-Footnote-1131970
-Ref: Options-Footnote-2132200
-Node: Other Arguments132225
-Node: Naming Standard Input135172
-Node: Environment Variables136265
-Node: AWKPATH Variable136823
-Ref: AWKPATH Variable-Footnote-1140124
-Ref: AWKPATH Variable-Footnote-2140169
-Node: AWKLIBPATH Variable140430
-Node: Other Environment Variables141574
-Node: Exit Status145339
-Node: Include Files146016
-Node: Loading Shared Libraries149611
-Node: Obsolete151039
-Node: Undocumented151731
-Node: Invoking Summary152028
-Node: Regexp153688
-Node: Regexp Usage155142
-Node: Escape Sequences157179
-Node: Regexp Operators163194
-Ref: Regexp Operators-Footnote-1170611
-Ref: Regexp Operators-Footnote-2170758
-Node: Bracket Expressions170856
-Ref: table-char-classes172879
-Node: Leftmost Longest176016
-Node: Computed Regexps177319
-Node: GNU Regexp Operators180746
-Node: Case-sensitivity184425
-Ref: Case-sensitivity-Footnote-1187312
-Ref: Case-sensitivity-Footnote-2187547
-Node: Regexp Summary187655
-Node: Reading Files189121
-Node: Records191215
-Node: awk split records191948
-Node: gawk split records196880
-Ref: gawk split records-Footnote-1201424
-Node: Fields201461
-Ref: Fields-Footnote-1204241
-Node: Nonconstant Fields204327
-Ref: Nonconstant Fields-Footnote-1206563
-Node: Changing Fields206767
-Node: Field Separators212697
-Node: Default Field Splitting215395
-Node: Regexp Field Splitting216513
-Node: Single Character Fields219866
-Node: Command Line Field Separator220926
-Node: Full Line Fields224144
-Ref: Full Line Fields-Footnote-1225666
-Ref: Full Line Fields-Footnote-2225712
-Node: Field Splitting Summary225813
-Node: Constant Size227887
-Node: Splitting By Content232466
-Ref: Splitting By Content-Footnote-1236437
-Node: Multiple Line236600
-Ref: Multiple Line-Footnote-1242483
-Node: Getline242662
-Node: Plain Getline244866
-Node: Getline/Variable247505
-Node: Getline/File248654
-Node: Getline/Variable/File250040
-Ref: Getline/Variable/File-Footnote-1251644
-Node: Getline/Pipe251732
-Node: Getline/Variable/Pipe254437
-Node: Getline/Coprocess255570
-Node: Getline/Variable/Coprocess256835
-Node: Getline Notes257575
-Node: Getline Summary260370
-Ref: table-getline-variants260792
-Node: Read Timeout261540
-Ref: Read Timeout-Footnote-1265381
-Node: Command-line directories265439
-Node: Input Summary266344
-Node: Input Exercises269516
-Node: Printing270244
-Node: Print272021
-Node: Print Examples273478
-Node: Output Separators276258
-Node: OFMT278275
-Node: Printf279631
-Node: Basic Printf280416
-Node: Control Letters281990
-Node: Format Modifiers285978
-Node: Printf Examples291993
-Node: Redirection294479
-Node: Special FD301322
-Ref: Special FD-Footnote-1304490
-Node: Special Files304564
-Node: Other Inherited Files305181
-Node: Special Network306182
-Node: Special Caveats307042
-Node: Close Files And Pipes307991
-Ref: Close Files And Pipes-Footnote-1315184
-Ref: Close Files And Pipes-Footnote-2315332
-Node: Output Summary315483
-Node: Output Exercises316481
-Node: Expressions317160
-Node: Values318348
-Node: Constants319026
-Node: Scalar Constants319717
-Ref: Scalar Constants-Footnote-1320581
-Node: Nondecimal-numbers320831
-Node: Regexp Constants323845
-Node: Using Constant Regexps324371
-Node: Variables327534
-Node: Using Variables328191
-Node: Assignment Options330102
-Node: Conversion331976
-Node: Strings And Numbers332500
-Ref: Strings And Numbers-Footnote-1335564
-Node: Locale influences conversions335673
-Ref: table-locale-affects338431
-Node: All Operators339049
-Node: Arithmetic Ops339678
-Node: Concatenation342184
-Ref: Concatenation-Footnote-1345031
-Node: Assignment Ops345138
-Ref: table-assign-ops350130
-Node: Increment Ops351443
-Node: Truth Values and Conditions354903
-Node: Truth Values355977
-Node: Typing and Comparison357025
-Node: Variable Typing357845
-Node: Comparison Operators361469
-Ref: table-relational-ops361888
-Node: POSIX String Comparison365383
-Ref: POSIX String Comparison-Footnote-1366457
-Node: Boolean Ops366596
-Ref: Boolean Ops-Footnote-1371078
-Node: Conditional Exp371170
-Node: Function Calls372906
-Node: Precedence376786
-Node: Locales380445
-Node: Expressions Summary382077
-Node: Patterns and Actions384650
-Node: Pattern Overview385770
-Node: Regexp Patterns387447
-Node: Expression Patterns387989
-Node: Ranges391770
-Node: BEGIN/END394878
-Node: Using BEGIN/END395639
-Ref: Using BEGIN/END-Footnote-1398376
-Node: I/O And BEGIN/END398482
-Node: BEGINFILE/ENDFILE400798
-Node: Empty403705
-Node: Using Shell Variables404022
-Node: Action Overview406296
-Node: Statements408621
-Node: If Statement410469
-Node: While Statement411964
-Node: Do Statement413992
-Node: For Statement415140
-Node: Switch Statement418299
-Node: Break Statement420685
-Node: Continue Statement422777
-Node: Next Statement424604
-Node: Nextfile Statement426987
-Node: Exit Statement429639
-Node: Built-in Variables432044
-Node: User-modified433177
-Ref: User-modified-Footnote-1440804
-Node: Auto-set440866
-Ref: Auto-set-Footnote-1453960
-Ref: Auto-set-Footnote-2454166
-Node: ARGC and ARGV454222
-Node: Pattern Action Summary458441
-Node: Arrays460871
-Node: Array Basics462200
-Node: Array Intro463044
-Ref: figure-array-elements465019
-Ref: Array Intro-Footnote-1467723
-Node: Reference to Elements467851
-Node: Assigning Elements470315
-Node: Array Example470806
-Node: Scanning an Array472565
-Node: Controlling Scanning475589
-Ref: Controlling Scanning-Footnote-1480988
-Node: Numeric Array Subscripts481304
-Node: Uninitialized Subscripts483488
-Node: Delete485107
-Ref: Delete-Footnote-1487859
-Node: Multidimensional487916
-Node: Multiscanning491011
-Node: Arrays of Arrays492602
-Node: Arrays Summary497370
-Node: Functions499463
-Node: Built-in500501
-Node: Calling Built-in501579
-Node: Numeric Functions503575
-Ref: Numeric Functions-Footnote-1507603
-Ref: Numeric Functions-Footnote-2507960
-Ref: Numeric Functions-Footnote-3508008
-Node: String Functions508280
-Ref: String Functions-Footnote-1531788
-Ref: String Functions-Footnote-2531917
-Ref: String Functions-Footnote-3532165
-Node: Gory Details532252
-Ref: table-sub-escapes534043
-Ref: table-sub-proposed535562
-Ref: table-posix-sub536925
-Ref: table-gensub-escapes538466
-Ref: Gory Details-Footnote-1539289
-Node: I/O Functions539440
-Ref: I/O Functions-Footnote-1546661
-Node: Time Functions546809
-Ref: Time Functions-Footnote-1557314
-Ref: Time Functions-Footnote-2557382
-Ref: Time Functions-Footnote-3557540
-Ref: Time Functions-Footnote-4557651
-Ref: Time Functions-Footnote-5557763
-Ref: Time Functions-Footnote-6557990
-Node: Bitwise Functions558256
-Ref: table-bitwise-ops558850
-Ref: Bitwise Functions-Footnote-1563188
-Node: Type Functions563361
-Node: I18N Functions564517
-Node: User-defined566168
-Node: Definition Syntax566973
-Ref: Definition Syntax-Footnote-1572660
-Node: Function Example572731
-Ref: Function Example-Footnote-1575653
-Node: Function Caveats575675
-Node: Calling A Function576193
-Node: Variable Scope577151
-Node: Pass By Value/Reference580145
-Node: Return Statement583644
-Node: Dynamic Typing586623
-Node: Indirect Calls587553
-Ref: Indirect Calls-Footnote-1597804
-Node: Functions Summary597932
-Node: Library Functions600637
-Ref: Library Functions-Footnote-1604246
-Ref: Library Functions-Footnote-2604389
-Node: Library Names604560
-Ref: Library Names-Footnote-1608021
-Ref: Library Names-Footnote-2608244
-Node: General Functions608330
-Node: Strtonum Function609433
-Node: Assert Function612455
-Node: Round Function615781
-Node: Cliff Random Function617322
-Node: Ordinal Functions618338
-Ref: Ordinal Functions-Footnote-1621401
-Ref: Ordinal Functions-Footnote-2621653
-Node: Join Function621863
-Ref: Join Function-Footnote-1623633
-Node: Getlocaltime Function623833
-Node: Readfile Function627577
-Node: Shell Quoting629551
-Node: Data File Management630952
-Node: Filetrans Function631584
-Node: Rewind Function635681
-Node: File Checking637067
-Ref: File Checking-Footnote-1638401
-Node: Empty Files638602
-Node: Ignoring Assigns640581
-Node: Getopt Function642131
-Ref: Getopt Function-Footnote-1653601
-Node: Passwd Functions653801
-Ref: Passwd Functions-Footnote-1662642
-Node: Group Functions662730
-Ref: Group Functions-Footnote-1670629
-Node: Walking Arrays670836
-Node: Library Functions Summary673846
-Node: Library Exercises675252
-Node: Sample Programs675717
-Node: Running Examples676487
-Node: Clones677215
-Node: Cut Program678439
-Node: Egrep Program688160
-Ref: Egrep Program-Footnote-1695672
-Node: Id Program695782
-Node: Split Program699462
-Ref: Split Program-Footnote-1702921
-Node: Tee Program703050
-Node: Uniq Program705840
-Node: Wc Program713266
-Ref: Wc Program-Footnote-1717521
-Node: Miscellaneous Programs717615
-Node: Dupword Program718828
-Node: Alarm Program720858
-Node: Translate Program725713
-Ref: Translate Program-Footnote-1730278
-Node: Labels Program730548
-Ref: Labels Program-Footnote-1733899
-Node: Word Sorting733983
-Node: History Sorting738055
-Node: Extract Program739890
-Node: Simple Sed747419
-Node: Igawk Program750493
-Ref: Igawk Program-Footnote-1764824
-Ref: Igawk Program-Footnote-2765026
-Ref: Igawk Program-Footnote-3765148
-Node: Anagram Program765263
-Node: Signature Program768325
-Node: Programs Summary769572
-Node: Programs Exercises770787
-Ref: Programs Exercises-Footnote-1774916
-Node: Advanced Features775007
-Node: Nondecimal Data776997
-Node: Array Sorting778588
-Node: Controlling Array Traversal779288
-Ref: Controlling Array Traversal-Footnote-1787657
-Node: Array Sorting Functions787775
-Ref: Array Sorting Functions-Footnote-1792866
-Node: Two-way I/O793062
-Ref: Two-way I/O-Footnote-1798882
-Ref: Two-way I/O-Footnote-2799069
-Node: TCP/IP Networking799151
-Node: Profiling802269
-Node: Advanced Features Summary809808
-Node: Internationalization811744
-Node: I18N and L10N813224
-Node: Explaining gettext813911
-Ref: Explaining gettext-Footnote-1818934
-Ref: Explaining gettext-Footnote-2819119
-Node: Programmer i18n819284
-Ref: Programmer i18n-Footnote-1824140
-Node: Translator i18n824189
-Node: String Extraction824983
-Ref: String Extraction-Footnote-1826116
-Node: Printf Ordering826202
-Ref: Printf Ordering-Footnote-1828988
-Node: I18N Portability829052
-Ref: I18N Portability-Footnote-1831508
-Node: I18N Example831571
-Ref: I18N Example-Footnote-1834377
-Node: Gawk I18N834450
-Node: I18N Summary835095
-Node: Debugger836436
-Node: Debugging837458
-Node: Debugging Concepts837899
-Node: Debugging Terms839708
-Node: Awk Debugging842283
-Node: Sample Debugging Session843189
-Node: Debugger Invocation843723
-Node: Finding The Bug845109
-Node: List of Debugger Commands851587
-Node: Breakpoint Control852920
-Node: Debugger Execution Control856614
-Node: Viewing And Changing Data859976
-Node: Execution Stack863350
-Node: Debugger Info864987
-Node: Miscellaneous Debugger Commands869058
-Node: Readline Support874146
-Node: Limitations875042
-Node: Debugging Summary877151
-Node: Arbitrary Precision Arithmetic878324
-Node: Computer Arithmetic879740
-Ref: table-numeric-ranges883331
-Ref: Computer Arithmetic-Footnote-1884053
-Node: Math Definitions884110
-Ref: table-ieee-formats887424
-Ref: Math Definitions-Footnote-1888027
-Node: MPFR features888132
-Node: FP Math Caution889851
-Ref: FP Math Caution-Footnote-1890923
-Node: Inexactness of computations891292
-Node: Inexact representation892252
-Node: Comparing FP Values893612
-Node: Errors accumulate894694
-Node: Getting Accuracy896127
-Node: Try To Round898837
-Node: Setting precision899736
-Ref: table-predefined-precision-strings900433
-Node: Setting the rounding mode902263
-Ref: table-gawk-rounding-modes902637
-Ref: Setting the rounding mode-Footnote-1906045
-Node: Arbitrary Precision Integers906224
-Ref: Arbitrary Precision Integers-Footnote-1909208
-Node: POSIX Floating Point Problems909357
-Ref: POSIX Floating Point Problems-Footnote-1913239
-Node: Floating point summary913277
-Node: Dynamic Extensions915467
-Node: Extension Intro917020
-Node: Plugin License918286
-Node: Extension Mechanism Outline919083
-Ref: figure-load-extension919522
-Ref: figure-register-new-function921087
-Ref: figure-call-new-function922179
-Node: Extension API Description924242
-Node: Extension API Functions Introduction925690
-Node: General Data Types930502
-Ref: General Data Types-Footnote-1936457
-Node: Memory Allocation Functions936756
-Ref: Memory Allocation Functions-Footnote-1939601
-Node: Constructor Functions939700
-Node: Registration Functions941445
-Node: Extension Functions942130
-Node: Exit Callback Functions944429
-Node: Extension Version String945679
-Node: Input Parsers946342
-Node: Output Wrappers956227
-Node: Two-way processors960739
-Node: Printing Messages963003
-Ref: Printing Messages-Footnote-1964077
-Node: Updating ERRNO964230
-Node: Requesting Values964969
-Ref: table-value-types-returned965706
-Node: Accessing Parameters966589
-Node: Symbol Table Access967825
-Node: Symbol table by name968337
-Node: Symbol table by cookie970358
-Ref: Symbol table by cookie-Footnote-1974507
-Node: Cached values974571
-Ref: Cached values-Footnote-1978072
-Node: Array Manipulation978163
-Ref: Array Manipulation-Footnote-1979262
-Node: Array Data Types979299
-Ref: Array Data Types-Footnote-1981957
-Node: Array Functions982049
-Node: Flattening Arrays985908
-Node: Creating Arrays992816
-Node: Extension API Variables997588
-Node: Extension Versioning998224
-Node: Extension API Informational Variables1000115
-Node: Extension API Boilerplate1001179
-Node: Finding Extensions1004993
-Node: Extension Example1005553
-Node: Internal File Description1006351
-Node: Internal File Ops1010431
-Ref: Internal File Ops-Footnote-11022193
-Node: Using Internal File Ops1022333
-Ref: Using Internal File Ops-Footnote-11024716
-Node: Extension Samples1024991
-Node: Extension Sample File Functions1026520
-Node: Extension Sample Fnmatch1034169
-Node: Extension Sample Fork1035656
-Node: Extension Sample Inplace1036874
-Node: Extension Sample Ord1040084
-Node: Extension Sample Readdir1040920
-Ref: table-readdir-file-types1041809
-Node: Extension Sample Revout1042614
-Node: Extension Sample Rev2way1043203
-Node: Extension Sample Read write array1043943
-Node: Extension Sample Readfile1045885
-Node: Extension Sample Time1046980
-Node: Extension Sample API Tests1048328
-Node: gawkextlib1048820
-Node: Extension summary1051244
-Node: Extension Exercises1054936
-Node: Language History1056433
-Node: V7/SVR3.11058089
-Node: SVR41060241
-Node: POSIX1061675
-Node: BTL1063055
-Node: POSIX/GNU1063785
-Node: Feature History1069306
-Node: Common Extensions1082635
-Node: Ranges and Locales1083918
-Ref: Ranges and Locales-Footnote-11088534
-Ref: Ranges and Locales-Footnote-21088561
-Ref: Ranges and Locales-Footnote-31088796
-Node: Contributors1089017
-Node: History summary1094586
-Node: Installation1095966
-Node: Gawk Distribution1096911
-Node: Getting1097395
-Node: Extracting1098356
-Node: Distribution contents1099994
-Node: Unix Installation1105747
-Node: Quick Installation1106363
-Node: Additional Configuration Options1108790
-Node: Configuration Philosophy1110594
-Node: Non-Unix Installation1112964
-Node: PC Installation1113422
-Node: PC Binary Installation1114742
-Node: PC Compiling1116594
-Ref: PC Compiling-Footnote-11119618
-Node: PC Testing1119727
-Node: PC Using1120907
-Node: Cygwin1125021
-Node: MSYS1125791
-Node: VMS Installation1126292
-Node: VMS Compilation1127083
-Ref: VMS Compilation-Footnote-11128313
-Node: VMS Dynamic Extensions1128371
-Node: VMS Installation Details1130056
-Node: VMS Running1132309
-Node: VMS GNV1136588
-Node: VMS Old Gawk1137323
-Node: Bugs1137794
-Node: Other Versions1141991
-Node: Installation summary1148577
-Node: Notes1149635
-Node: Compatibility Mode1150500
-Node: Additions1151282
-Node: Accessing The Source1152207
-Node: Adding Code1153643
-Node: New Ports1159862
-Node: Derived Files1164350
-Ref: Derived Files-Footnote-11169835
-Ref: Derived Files-Footnote-21169870
-Ref: Derived Files-Footnote-31170468
-Node: Future Extensions1170582
-Node: Implementation Limitations1171240
-Node: Extension Design1172423
-Node: Old Extension Problems1173577
-Ref: Old Extension Problems-Footnote-11175095
-Node: Extension New Mechanism Goals1175152
-Ref: Extension New Mechanism Goals-Footnote-11178516
-Node: Extension Other Design Decisions1178705
-Node: Extension Future Growth1180818
-Node: Old Extension Mechanism1181654
-Node: Notes summary1183417
-Node: Basic Concepts1184599
-Node: Basic High Level1185280
-Ref: figure-general-flow1185562
-Ref: figure-process-flow1186247
-Ref: Basic High Level-Footnote-11189548
-Node: Basic Data Typing1189733
-Node: Glossary1193061
-Node: Copying1225007
-Node: GNU Free Documentation License1262546
-Node: Index1287664
+Node: Top1200
+Node: Foreword342138
+Node: Foreword446580
+Node: Preface48112
+Ref: Preface-Footnote-150984
+Ref: Preface-Footnote-251091
+Ref: Preface-Footnote-351325
+Node: History51467
+Node: Names53819
+Ref: Names-Footnote-154913
+Node: This Manual55060
+Ref: This Manual-Footnote-161542
+Node: Conventions61642
+Node: Manual History63996
+Ref: Manual History-Footnote-166991
+Ref: Manual History-Footnote-267032
+Node: How To Contribute67106
+Node: Acknowledgments68235
+Node: Getting Started73121
+Node: Running gawk75560
+Node: One-shot76750
+Node: Read Terminal78013
+Node: Long80045
+Node: Executable Scripts81558
+Ref: Executable Scripts-Footnote-184353
+Node: Comments84456
+Node: Quoting86940
+Node: DOS Quoting92457
+Node: Sample Data Files93132
+Node: Very Simple95727
+Node: Two Rules100629
+Node: More Complex102514
+Node: Statements/Lines105377
+Ref: Statements/Lines-Footnote-1109836
+Node: Other Features110101
+Node: When111037
+Ref: When-Footnote-1112791
+Node: Intro Summary112856
+Node: Invoking Gawk113740
+Node: Command Line115254
+Node: Options116052
+Ref: Options-Footnote-1131959
+Ref: Options-Footnote-2132189
+Node: Other Arguments132214
+Node: Naming Standard Input135161
+Node: Environment Variables136254
+Node: AWKPATH Variable136812
+Ref: AWKPATH Variable-Footnote-1140113
+Ref: AWKPATH Variable-Footnote-2140158
+Node: AWKLIBPATH Variable140419
+Node: Other Environment Variables141563
+Node: Exit Status145328
+Node: Include Files146005
+Node: Loading Shared Libraries149600
+Node: Obsolete151028
+Node: Undocumented151720
+Node: Invoking Summary152017
+Node: Regexp153677
+Node: Regexp Usage155131
+Node: Escape Sequences157168
+Node: Regexp Operators163182
+Ref: Regexp Operators-Footnote-1170598
+Ref: Regexp Operators-Footnote-2170745
+Node: Bracket Expressions170843
+Ref: table-char-classes172865
+Node: Leftmost Longest176002
+Node: Computed Regexps177305
+Node: GNU Regexp Operators180732
+Node: Case-sensitivity184411
+Ref: Case-sensitivity-Footnote-1187298
+Ref: Case-sensitivity-Footnote-2187533
+Node: Regexp Summary187641
+Node: Reading Files189107
+Node: Records191201
+Node: awk split records191934
+Node: gawk split records196865
+Ref: gawk split records-Footnote-1201405
+Node: Fields201442
+Ref: Fields-Footnote-1204222
+Node: Nonconstant Fields204308
+Ref: Nonconstant Fields-Footnote-1206544
+Node: Changing Fields206748
+Node: Field Separators212676
+Node: Default Field Splitting215374
+Node: Regexp Field Splitting216492
+Node: Single Character Fields219845
+Node: Command Line Field Separator220905
+Node: Full Line Fields224123
+Ref: Full Line Fields-Footnote-1225645
+Ref: Full Line Fields-Footnote-2225691
+Node: Field Splitting Summary225792
+Node: Constant Size227866
+Node: Splitting By Content232444
+Ref: Splitting By Content-Footnote-1236415
+Node: Multiple Line236578
+Ref: Multiple Line-Footnote-1242460
+Node: Getline242639
+Node: Plain Getline244843
+Node: Getline/Variable247482
+Node: Getline/File248631
+Node: Getline/Variable/File250017
+Ref: Getline/Variable/File-Footnote-1251620
+Node: Getline/Pipe251708
+Node: Getline/Variable/Pipe254413
+Node: Getline/Coprocess255546
+Node: Getline/Variable/Coprocess256811
+Node: Getline Notes257551
+Node: Getline Summary260346
+Ref: table-getline-variants260768
+Node: Read Timeout261516
+Ref: Read Timeout-Footnote-1265357
+Node: Command-line directories265415
+Node: Input Summary266319
+Node: Input Exercises269491
+Node: Printing270219
+Node: Print271995
+Node: Print Examples273452
+Node: Output Separators276232
+Node: OFMT278249
+Node: Printf279605
+Node: Basic Printf280390
+Node: Control Letters281964
+Node: Format Modifiers285952
+Node: Printf Examples291967
+Node: Redirection294453
+Node: Special FD301294
+Ref: Special FD-Footnote-1304462
+Node: Special Files304536
+Node: Other Inherited Files305153
+Node: Special Network306154
+Node: Special Caveats307014
+Node: Close Files And Pipes307963
+Ref: Close Files And Pipes-Footnote-1315156
+Ref: Close Files And Pipes-Footnote-2315304
+Node: Output Summary315455
+Node: Output Exercises316453
+Node: Expressions317132
+Node: Values318320
+Node: Constants318998
+Node: Scalar Constants319689
+Ref: Scalar Constants-Footnote-1320553
+Node: Nondecimal-numbers320803
+Node: Regexp Constants323816
+Node: Using Constant Regexps324342
+Node: Variables327505
+Node: Using Variables328162
+Node: Assignment Options330072
+Node: Conversion331945
+Node: Strings And Numbers332469
+Ref: Strings And Numbers-Footnote-1335532
+Node: Locale influences conversions335641
+Ref: table-locale-affects338399
+Node: All Operators339017
+Node: Arithmetic Ops339646
+Node: Concatenation342152
+Ref: Concatenation-Footnote-1344999
+Node: Assignment Ops345106
+Ref: table-assign-ops350097
+Node: Increment Ops351410
+Node: Truth Values and Conditions354870
+Node: Truth Values355944
+Node: Typing and Comparison356992
+Node: Variable Typing357812
+Node: Comparison Operators361436
+Ref: table-relational-ops361855
+Node: POSIX String Comparison365350
+Ref: POSIX String Comparison-Footnote-1366424
+Node: Boolean Ops366563
+Ref: Boolean Ops-Footnote-1371045
+Node: Conditional Exp371137
+Node: Function Calls372873
+Node: Precedence376750
+Node: Locales380409
+Node: Expressions Summary382041
+Node: Patterns and Actions384614
+Node: Pattern Overview385734
+Node: Regexp Patterns387411
+Node: Expression Patterns387953
+Node: Ranges391734
+Node: BEGIN/END394842
+Node: Using BEGIN/END395603
+Ref: Using BEGIN/END-Footnote-1398339
+Node: I/O And BEGIN/END398445
+Node: BEGINFILE/ENDFILE400759
+Node: Empty403666
+Node: Using Shell Variables403983
+Node: Action Overview406257
+Node: Statements408582
+Node: If Statement410430
+Node: While Statement411925
+Node: Do Statement413953
+Node: For Statement415101
+Node: Switch Statement418259
+Node: Break Statement420645
+Node: Continue Statement422737
+Node: Next Statement424564
+Node: Nextfile Statement426947
+Node: Exit Statement429599
+Node: Built-in Variables432002
+Node: User-modified433135
+Ref: User-modified-Footnote-1440760
+Node: Auto-set440822
+Ref: Auto-set-Footnote-1453912
+Ref: Auto-set-Footnote-2454118
+Node: ARGC and ARGV454174
+Node: Pattern Action Summary458387
+Node: Arrays460817
+Node: Array Basics462146
+Node: Array Intro462990
+Ref: figure-array-elements464965
+Ref: Array Intro-Footnote-1467669
+Node: Reference to Elements467797
+Node: Assigning Elements470261
+Node: Array Example470752
+Node: Scanning an Array472511
+Node: Controlling Scanning475533
+Ref: Controlling Scanning-Footnote-1480932
+Node: Numeric Array Subscripts481248
+Node: Uninitialized Subscripts483432
+Node: Delete485051
+Ref: Delete-Footnote-1487803
+Node: Multidimensional487860
+Node: Multiscanning490955
+Node: Arrays of Arrays492546
+Node: Arrays Summary497313
+Node: Functions499406
+Node: Built-in500444
+Node: Calling Built-in501522
+Node: Numeric Functions503518
+Ref: Numeric Functions-Footnote-1507546
+Ref: Numeric Functions-Footnote-2507903
+Ref: Numeric Functions-Footnote-3507951
+Node: String Functions508223
+Ref: String Functions-Footnote-1531727
+Ref: String Functions-Footnote-2531855
+Ref: String Functions-Footnote-3532103
+Node: Gory Details532190
+Ref: table-sub-escapes533981
+Ref: table-sub-proposed535500
+Ref: table-posix-sub536863
+Ref: table-gensub-escapes538404
+Ref: Gory Details-Footnote-1539227
+Node: I/O Functions539378
+Ref: I/O Functions-Footnote-1546598
+Node: Time Functions546746
+Ref: Time Functions-Footnote-1557251
+Ref: Time Functions-Footnote-2557319
+Ref: Time Functions-Footnote-3557477
+Ref: Time Functions-Footnote-4557588
+Ref: Time Functions-Footnote-5557700
+Ref: Time Functions-Footnote-6557927
+Node: Bitwise Functions558193
+Ref: table-bitwise-ops558787
+Ref: Bitwise Functions-Footnote-1563125
+Node: Type Functions563298
+Node: I18N Functions564454
+Node: User-defined566105
+Node: Definition Syntax566910
+Ref: Definition Syntax-Footnote-1572597
+Node: Function Example572668
+Ref: Function Example-Footnote-1575590
+Node: Function Caveats575612
+Node: Calling A Function576130
+Node: Variable Scope577088
+Node: Pass By Value/Reference580082
+Node: Return Statement583581
+Node: Dynamic Typing586560
+Node: Indirect Calls587490
+Ref: Indirect Calls-Footnote-1597741
+Node: Functions Summary597869
+Node: Library Functions600574
+Ref: Library Functions-Footnote-1604181
+Ref: Library Functions-Footnote-2604324
+Node: Library Names604495
+Ref: Library Names-Footnote-1607955
+Ref: Library Names-Footnote-2608178
+Node: General Functions608264
+Node: Strtonum Function609367
+Node: Assert Function612389
+Node: Round Function615715
+Node: Cliff Random Function617256
+Node: Ordinal Functions618272
+Ref: Ordinal Functions-Footnote-1621335
+Ref: Ordinal Functions-Footnote-2621587
+Node: Join Function621797
+Ref: Join Function-Footnote-1623567
+Node: Getlocaltime Function623767
+Node: Readfile Function627509
+Node: Shell Quoting629481
+Node: Data File Management630882
+Node: Filetrans Function631514
+Node: Rewind Function635610
+Node: File Checking636996
+Ref: File Checking-Footnote-1638330
+Node: Empty Files638531
+Node: Ignoring Assigns640510
+Node: Getopt Function642060
+Ref: Getopt Function-Footnote-1653529
+Node: Passwd Functions653729
+Ref: Passwd Functions-Footnote-1662568
+Node: Group Functions662656
+Ref: Group Functions-Footnote-1670553
+Node: Walking Arrays670760
+Node: Library Functions Summary673768
+Node: Library Exercises675174
+Node: Sample Programs675639
+Node: Running Examples676409
+Node: Clones677137
+Node: Cut Program678361
+Node: Egrep Program688082
+Ref: Egrep Program-Footnote-1695594
+Node: Id Program695704
+Node: Split Program699384
+Ref: Split Program-Footnote-1702843
+Node: Tee Program702972
+Node: Uniq Program705762
+Node: Wc Program713188
+Ref: Wc Program-Footnote-1717443
+Node: Miscellaneous Programs717537
+Node: Dupword Program718750
+Node: Alarm Program720780
+Node: Translate Program725635
+Ref: Translate Program-Footnote-1730200
+Node: Labels Program730470
+Ref: Labels Program-Footnote-1733821
+Node: Word Sorting733905
+Node: History Sorting737977
+Node: Extract Program739812
+Node: Simple Sed747341
+Node: Igawk Program750415
+Ref: Igawk Program-Footnote-1764746
+Ref: Igawk Program-Footnote-2764948
+Ref: Igawk Program-Footnote-3765070
+Node: Anagram Program765185
+Node: Signature Program768247
+Node: Programs Summary769494
+Node: Programs Exercises770708
+Ref: Programs Exercises-Footnote-1774837
+Node: Advanced Features774928
+Node: Nondecimal Data776918
+Node: Array Sorting778509
+Node: Controlling Array Traversal779209
+Ref: Controlling Array Traversal-Footnote-1787576
+Node: Array Sorting Functions787694
+Ref: Array Sorting Functions-Footnote-1792785
+Node: Two-way I/O792981
+Ref: Two-way I/O-Footnote-1798801
+Ref: Two-way I/O-Footnote-2798988
+Node: TCP/IP Networking799070
+Node: Profiling802188
+Node: Advanced Features Summary809727
+Node: Internationalization811663
+Node: I18N and L10N813143
+Node: Explaining gettext813830
+Ref: Explaining gettext-Footnote-1818853
+Ref: Explaining gettext-Footnote-2819038
+Node: Programmer i18n819203
+Ref: Programmer i18n-Footnote-1824058
+Node: Translator i18n824107
+Node: String Extraction824901
+Ref: String Extraction-Footnote-1826033
+Node: Printf Ordering826119
+Ref: Printf Ordering-Footnote-1828905
+Node: I18N Portability828969
+Ref: I18N Portability-Footnote-1831425
+Node: I18N Example831488
+Ref: I18N Example-Footnote-1834294
+Node: Gawk I18N834367
+Node: I18N Summary835012
+Node: Debugger836353
+Node: Debugging837375
+Node: Debugging Concepts837816
+Node: Debugging Terms839625
+Node: Awk Debugging842200
+Node: Sample Debugging Session843106
+Node: Debugger Invocation843640
+Node: Finding The Bug845026
+Node: List of Debugger Commands851504
+Node: Breakpoint Control852837
+Node: Debugger Execution Control856531
+Node: Viewing And Changing Data859893
+Node: Execution Stack863267
+Node: Debugger Info864904
+Node: Miscellaneous Debugger Commands868975
+Node: Readline Support874063
+Node: Limitations874959
+Node: Debugging Summary877068
+Node: Arbitrary Precision Arithmetic878241
+Node: Computer Arithmetic879657
+Ref: table-numeric-ranges883248
+Ref: Computer Arithmetic-Footnote-1883970
+Node: Math Definitions884027
+Ref: table-ieee-formats887341
+Ref: Math Definitions-Footnote-1887944
+Node: MPFR features888049
+Node: FP Math Caution889766
+Ref: FP Math Caution-Footnote-1890838
+Node: Inexactness of computations891207
+Node: Inexact representation892167
+Node: Comparing FP Values893527
+Node: Errors accumulate894609
+Node: Getting Accuracy896042
+Node: Try To Round898752
+Node: Setting precision899651
+Ref: table-predefined-precision-strings900348
+Node: Setting the rounding mode902178
+Ref: table-gawk-rounding-modes902552
+Ref: Setting the rounding mode-Footnote-1905960
+Node: Arbitrary Precision Integers906139
+Ref: Arbitrary Precision Integers-Footnote-1909123
+Node: POSIX Floating Point Problems909272
+Ref: POSIX Floating Point Problems-Footnote-1913154
+Node: Floating point summary913192
+Node: Dynamic Extensions915382
+Node: Extension Intro916935
+Node: Plugin License918201
+Node: Extension Mechanism Outline918998
+Ref: figure-load-extension919437
+Ref: figure-register-new-function921002
+Ref: figure-call-new-function922094
+Node: Extension API Description924156
+Node: Extension API Functions Introduction925604
+Node: General Data Types930416
+Ref: General Data Types-Footnote-1936371
+Node: Memory Allocation Functions936670
+Ref: Memory Allocation Functions-Footnote-1939515
+Node: Constructor Functions939614
+Node: Registration Functions941359
+Node: Extension Functions942044
+Node: Exit Callback Functions944343
+Node: Extension Version String945593
+Node: Input Parsers946256
+Node: Output Wrappers956141
+Node: Two-way processors960653
+Node: Printing Messages962917
+Ref: Printing Messages-Footnote-1963991
+Node: Updating ERRNO964144
+Node: Requesting Values964883
+Ref: table-value-types-returned965620
+Node: Accessing Parameters966503
+Node: Symbol Table Access967738
+Node: Symbol table by name968250
+Node: Symbol table by cookie970271
+Ref: Symbol table by cookie-Footnote-1974420
+Node: Cached values974484
+Ref: Cached values-Footnote-1977985
+Node: Array Manipulation978076
+Ref: Array Manipulation-Footnote-1979175
+Node: Array Data Types979212
+Ref: Array Data Types-Footnote-1981870
+Node: Array Functions981962
+Node: Flattening Arrays985820
+Node: Creating Arrays992728
+Node: Extension API Variables997499
+Node: Extension Versioning998135
+Node: Extension API Informational Variables1000026
+Node: Extension API Boilerplate1001090
+Node: Finding Extensions1004904
+Node: Extension Example1005463
+Node: Internal File Description1006261
+Node: Internal File Ops1010341
+Ref: Internal File Ops-Footnote-11022103
+Node: Using Internal File Ops1022243
+Ref: Using Internal File Ops-Footnote-11024626
+Node: Extension Samples1024900
+Node: Extension Sample File Functions1026429
+Node: Extension Sample Fnmatch1034078
+Node: Extension Sample Fork1035565
+Node: Extension Sample Inplace1036783
+Node: Extension Sample Ord1039993
+Node: Extension Sample Readdir1040829
+Ref: table-readdir-file-types1041718
+Node: Extension Sample Revout1042523
+Node: Extension Sample Rev2way1043112
+Node: Extension Sample Read write array1043852
+Node: Extension Sample Readfile1045794
+Node: Extension Sample Time1046889
+Node: Extension Sample API Tests1048237
+Node: gawkextlib1048729
+Node: Extension summary1051153
+Node: Extension Exercises1054845
+Node: Language History1056342
+Node: V7/SVR3.11057998
+Node: SVR41060150
+Node: POSIX1061584
+Node: BTL1062963
+Node: POSIX/GNU1063692
+Node: Feature History1069213
+Node: Common Extensions1082542
+Node: Ranges and Locales1083825
+Ref: Ranges and Locales-Footnote-11088441
+Ref: Ranges and Locales-Footnote-21088468
+Ref: Ranges and Locales-Footnote-31088703
+Node: Contributors1088924
+Node: History summary1094493
+Node: Installation1095873
+Node: Gawk Distribution1096817
+Node: Getting1097301
+Node: Extracting1098262
+Node: Distribution contents1099900
+Node: Unix Installation1105651
+Node: Quick Installation1106267
+Node: Additional Configuration Options1108694
+Node: Configuration Philosophy1110498
+Node: Non-Unix Installation1112867
+Node: PC Installation1113325
+Node: PC Binary Installation1114645
+Node: PC Compiling1116497
+Ref: PC Compiling-Footnote-11119521
+Node: PC Testing1119630
+Node: PC Using1120810
+Node: Cygwin1124924
+Node: MSYS1125694
+Node: VMS Installation1126195
+Node: VMS Compilation1126986
+Ref: VMS Compilation-Footnote-11128215
+Node: VMS Dynamic Extensions1128273
+Node: VMS Installation Details1129958
+Node: VMS Running1132211
+Node: VMS GNV1136490
+Node: VMS Old Gawk1137225
+Node: Bugs1137696
+Node: Other Versions1141893
+Node: Installation summary1148477
+Node: Notes1149535
+Node: Compatibility Mode1150400
+Node: Additions1151182
+Node: Accessing The Source1152107
+Node: Adding Code1153542
+Node: New Ports1159761
+Node: Derived Files1164249
+Ref: Derived Files-Footnote-11169734
+Ref: Derived Files-Footnote-21169769
+Ref: Derived Files-Footnote-31170367
+Node: Future Extensions1170481
+Node: Implementation Limitations1171139
+Node: Extension Design1172322
+Node: Old Extension Problems1173476
+Ref: Old Extension Problems-Footnote-11174994
+Node: Extension New Mechanism Goals1175051
+Ref: Extension New Mechanism Goals-Footnote-11178415
+Node: Extension Other Design Decisions1178604
+Node: Extension Future Growth1180717
+Node: Old Extension Mechanism1181553
+Node: Notes summary1183316
+Node: Basic Concepts1184498
+Node: Basic High Level1185179
+Ref: figure-general-flow1185461
+Ref: figure-process-flow1186146
+Ref: Basic High Level-Footnote-11189447
+Node: Basic Data Typing1189632
+Node: Glossary1192960
+Node: Copying1224906
+Node: GNU Free Documentation License1262445
+Node: Index1287563

End Tag Table