gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-558


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-558-g8e0e08c
Date: Wed, 21 Jan 2015 06:47:20 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk-4.1-stable has been updated
       via  8e0e08c84626633e1d4b7b431576d4ec7d8f10c4 (commit)
       via  1b2704c322317629cef59d247e45b3dba3c21992 (commit)
      from  501f5c4fc53a1c74a8a4074832dcc2bd72224ed6 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.sv.gnu.org/cgit/gawk.git/commit/?id=8e0e08c84626633e1d4b7b431576d4ec7d8f10c4

commit 8e0e08c84626633e1d4b7b431576d4ec7d8f10c4
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Jan 21 08:46:41 2015 +0200

    Remove obsolete start/end of range indexing comments.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 63f6cd0..b78fcb6 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,6 +1,7 @@
 2015-01-21         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: O'Reilly fixes.
+       Remove obsolete start/end of range indexing comments.
 
 2015-01-20         Arnold D. Robbins     <address@hidden>
 
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 07630ed..ad4bae1 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -2596,9 +2596,7 @@ for programs that are provided on the @command{awk} 
command line.
 (Also, placing the program in a file allows us to use a literal single quote 
in the program
 text, instead of the magic @samp{\47}.)
 
address@hidden STARTOFRANGE sq1x
 @cindex single quote (@code{'}) in @command{gawk} command lines
address@hidden STARTOFRANGE qs2x
 @cindex @code{'} (single quote) in @command{gawk} command lines
 If you want to clearly identify an @command{awk} program file as such,
 you can add the extension @file{.awk} to the @value{FN}.  This doesn't
@@ -2972,8 +2970,6 @@ $ @kbd{awk "BEGIN @{ print \"Here is a single quote <'>\" 
@}"}
 @end example
 
 @noindent
address@hidden ENDOFRANGE sq1x
address@hidden ENDOFRANGE qs2x
 This option is also painful, because double quotes, backslashes, and dollar 
signs
 are very common in more advanced @command{awk} programs.
 
@@ -3738,13 +3734,9 @@ warning that the program is empty.
 
 @node Options
 @section Command-Line Options
address@hidden STARTOFRANGE ocl
 @cindex options, command-line
address@hidden STARTOFRANGE clo
 @cindex command line, options
address@hidden STARTOFRANGE gnulo
 @cindex GNU long options
address@hidden STARTOFRANGE longo
 @cindex options, long
 
 Options begin with a dash and consist of a single character.
@@ -3833,8 +3825,6 @@ by the user that could start with @samp{-}.
 It is also useful for passing options on to the @command{awk}
 program; see @ref{Getopt Function}.
 @end table
address@hidden ENDOFRANGE gnulo
address@hidden ENDOFRANGE longo
 
 The following list describes @command{gawk}-specific options:
 
@@ -4290,8 +4280,6 @@ setenv POSIXLY_CORRECT true
 Having @env{POSIXLY_CORRECT} set is not recommended for daily use,
 but it is good for testing the portability of your programs to other
 environments.
address@hidden ENDOFRANGE ocl
address@hidden ENDOFRANGE clo
 
 @node Other Arguments
 @section Other Command-Line Arguments
@@ -4961,7 +4949,6 @@ or C++ using the @code{@@load} statement and/or the 
@option{-l} option.
 @node Regexp
 @chapter Regular Expressions
 @cindex regexp
address@hidden STARTOFRANGE regexp
 @cindex regular expressions
 
 A @dfn{regular expression}, or @dfn{regexp}, is a way of describing a
@@ -5400,7 +5387,6 @@ escape sequences literally when used in regexp constants. 
Thus,
 
 @node Regexp Operators
 @section Regular Expression Operators
address@hidden STARTOFRANGE regexpo
 @cindex regular expressions, operators
 @cindex metacharacters in regular expressions
 
@@ -5632,11 +5618,9 @@ usage as a syntax error.
 
 If @command{gawk} is in compatibility mode (@pxref{Options}), interval
 expressions are not available in regular expressions.
address@hidden ENDOFRANGE regexpo
 
 @node Bracket Expressions
 @section Using Bracket Expressions
address@hidden STARTOFRANGE charlist
 @cindex bracket expressions
 @cindex bracket expressions, range expressions
 @cindex range expressions (regexps)
@@ -5780,7 +5764,6 @@ expression matching currently recognize only POSIX 
character classes;
 they do not recognize collating symbols or equivalence classes.
 @end quotation
 @c maybe one day ...
address@hidden ENDOFRANGE charlist
 
 @node Leftmost Longest
 @section How Much Text Matches?
@@ -5824,9 +5807,7 @@ and also @pxref{Field Separators}).
 @node Computed Regexps
 @section Using Dynamic Regexps
 
address@hidden STARTOFRANGE dregexp
 @cindex regular expressions, computed
address@hidden STARTOFRANGE regexpd
 @cindex regular expressions, dynamic
 @cindex @code{~} (tilde), @code{~} operator
 @cindex tilde (@code{~}), @code{~} operator
@@ -5977,17 +5958,13 @@ $ @kbd{awk '$0 ~ /[ \t\n]/'}
 occur often in practice, but it's worth noting for future reference.
 @end cartouche
 @end ifnotdocbook
address@hidden ENDOFRANGE dregexp
address@hidden ENDOFRANGE regexpd
 
 @node GNU Regexp Operators
 @section @command{gawk}-Specific Regexp Operators
 
 @c This section adapted (long ago) from the regex-0.12 manual
 
address@hidden STARTOFRANGE regexpg
 @cindex regular expressions, operators, @command{gawk}
address@hidden STARTOFRANGE gregexp
 @cindex @command{gawk}, regular expressions, operators
 @cindex operators, GNU-specific
 @cindex regular expressions, operators, for words
@@ -6152,15 +6129,11 @@ Allow interval expressions in regexps, if 
@option{--traditional}
 has been provided.
 Otherwise, interval expressions are available by default.
 @end table
address@hidden ENDOFRANGE gregexp
address@hidden ENDOFRANGE regexpg
 
 @node Case-sensitivity
 @section Case Sensitivity in Matching
 
address@hidden STARTOFRANGE regexpcs
 @cindex regular expressions, case sensitivity
address@hidden STARTOFRANGE csregexp
 @cindex case sensitivity, regexps and
 Case is normally significant in regular expressions, both when matching
 ordinary characters (i.e., not metacharacters) and inside bracket
@@ -6252,8 +6225,6 @@ the right thing.}
 The value of @code{IGNORECASE} has no effect if @command{gawk} is in
 compatibility mode (@pxref{Options}).
 Case is always significant in compatibility mode.
address@hidden ENDOFRANGE csregexp
address@hidden ENDOFRANGE regexpcs
 
 @node Regexp Summary
 @section Summary
@@ -6300,12 +6271,10 @@ versions, use @code{tolower()} or @code{toupper()}.
 
 @end itemize
 
address@hidden ENDOFRANGE regexp
 
 @node Reading Files
 @chapter Reading Input Files
 
address@hidden STARTOFRANGE infir
 @cindex reading input files
 @cindex input files, reading
 @cindex input files
@@ -6356,9 +6325,7 @@ used with it do not have to be named on the @command{awk} 
command line
 @node Records
 @section How Input Is Split into Records
 
address@hidden STARTOFRANGE inspl
 @cindex input, splitting into records
address@hidden STARTOFRANGE recspl
 @cindex records, splitting input into
 @cindex @code{NR} variable
 @cindex @code{FNR} variable
@@ -6715,8 +6682,6 @@ whole files.  If you are using @command{gawk}, see 
@DBREF{Extension Sample
 Readfile} for another option.
 @end cartouche
 @end ifnotdocbook
address@hidden ENDOFRANGE inspl
address@hidden ENDOFRANGE recspl
 
 @node Fields
 @section Examining Fields
@@ -6724,7 +6689,6 @@ Readfile} for another option.
 @cindex examining fields
 @cindex fields
 @cindex accessing fields
address@hidden STARTOFRANGE fiex
 @cindex fields, examining
 @cindex POSIX @command{awk}, field separators and
 @cindex field separators, POSIX and
@@ -6805,7 +6769,6 @@ $ @kbd{awk '/li/ @{ print $1, $NF @}' mail-list}
 @print{} Julie F
 @print{} Samuel A
 @end example
address@hidden ENDOFRANGE fiex
 
 @node Nonconstant Fields
 @section Nonconstant Field Numbers
@@ -6866,7 +6829,6 @@ evaluating @code{NF} and using its value as a field 
number.
 @node Changing Fields
 @section Changing the Contents of a Field
 
address@hidden STARTOFRANGE ficon
 @cindex fields, changing contents of
 The contents of a field, as seen by @command{awk}, can be changed within an
 @command{awk} program; this changes what @command{awk} perceives as the
@@ -7089,7 +7051,6 @@ with a statement such as @samp{$1 = $1}, as described 
earlier.
 @end cartouche
 @end ifnotdocbook
 
address@hidden ENDOFRANGE ficon
 
 @node Field Separators
 @section Specifying How Fields Are Separated
@@ -7105,9 +7066,7 @@ with a statement such as @samp{$1 = $1}, as described 
earlier.
 
 @cindex @code{FS} variable
 @cindex fields, separating
address@hidden STARTOFRANGE fisepr
 @cindex field separators
address@hidden STARTOFRANGE fisepg
 @cindex fields, separating
 The @dfn{field separator}, which is either a single character or a regular
 expression, controls the way @command{awk} splits an input record into fields.
@@ -7207,9 +7166,7 @@ rules.
 @node Regexp Field Splitting
 @subsection Using Regular Expressions to Separate Fields
 
address@hidden STARTOFRANGE regexpfs
 @cindex regular expressions, as field separators
address@hidden STARTOFRANGE fsregexp
 @cindex field separators, regular expressions as
 The previous @value{SUBSECTION}
 discussed the use of single characters or simple strings as the
@@ -7313,8 +7270,6 @@ $ @kbd{echo 'xxAA  xxBxx  C' |}
 @print{} -->xxBxx<--
 @print{} -->C<--
 @end example
address@hidden ENDOFRANGE regexpfs
address@hidden ENDOFRANGE fsregexp
 
 @node Single Character Fields
 @subsection Making Each Character a Separate Field
@@ -7670,8 +7625,6 @@ will take effect.
 @end cartouche
 @end ifnotdocbook
 
address@hidden ENDOFRANGE fisepr
address@hidden ENDOFRANGE fisepg
 
 @node Constant Size
 @section Reading Fixed-Width Data
@@ -7935,11 +7888,8 @@ last assigned to.
 @section Multiple-Line Records
 
 @cindex multiple-line records
address@hidden STARTOFRANGE recm
 @cindex records, multiline
address@hidden STARTOFRANGE imr
 @cindex input, multiline records
address@hidden STARTOFRANGE frm
 @cindex files, reading, multiline records
 @cindex input, files, See input files
 In some databases, a single line cannot conveniently hold all the
@@ -8106,16 +8056,11 @@ If not in compatibility mode (@pxref{Options}), 
@command{gawk} sets
 @code{RT} to the input text that matched the value specified by @code{RS}.
 But if the input file ended without any text that matches @code{RS},
 then @command{gawk} sets @code{RT} to the null string.
address@hidden ENDOFRANGE recm
address@hidden ENDOFRANGE imr
address@hidden ENDOFRANGE frm
 
 @node Getline
 @section Explicit Input with @code{getline}
 
address@hidden STARTOFRANGE getl
 @cindex @code{getline} command, explicit input with
address@hidden STARTOFRANGE inex
 @cindex input, explicit
 So far we have been getting our input data from @command{awk}'s main
 input stream---either the standard input (usually your keyboard, sometimes
@@ -8705,9 +8650,6 @@ Note: for each variant, @command{gawk} sets the @code{RT} 
predefined variable.
 @item @var{command} @code{|& getline} @var{var} @tab Sets @var{var} and 
@code{RT} @tab @command{gawk}
 @end multitable
 @end float
address@hidden ENDOFRANGE getl
address@hidden ENDOFRANGE inex
address@hidden ENDOFRANGE infir
 
 @node Read Timeout
 @section Reading Input with a Timeout
@@ -8942,7 +8884,6 @@ That can be fixed by making one simple change. What is it?
 @node Printing
 @chapter Printing Output
 
address@hidden STARTOFRANGE prnt
 @cindex printing
 @cindex output, printing, See printing
 One of the most common programming actions is to @dfn{print}, or output,
@@ -8958,7 +8899,6 @@ columns, whether to use exponential notation or not, and 
so on.
 For printing with specifications, you need the @code{printf} statement
 (@pxref{Printf}).
 
address@hidden STARTOFRANGE prnts
 @cindex @code{print} statement
 @cindex @code{printf} statement
 Besides basic and formatted printing, this @value{CHAPTER}
@@ -9138,7 +9078,6 @@ You can continue either a @code{print} or
 @code{printf} statement simply by putting a newline after any comma
 (@pxref{Statements/Lines}).
 @end quotation
address@hidden ENDOFRANGE prnts
 
 @node Output Separators
 @section Output Separators
@@ -9251,7 +9190,6 @@ if @code{OFMT} contains anything but a floating-point 
conversion specification.
 @node Printf
 @section Using @code{printf} Statements for Fancier Printing
 
address@hidden STARTOFRANGE printfs
 @cindex @code{printf} statement
 @cindex output, formatted
 @cindex formatting output
@@ -9449,7 +9387,6 @@ values or do something else entirely.
 @node Format Modifiers
 @subsection Modifiers for @code{printf} Formats
 
address@hidden STARTOFRANGE pfm
 @cindex @code{printf} statement, modifiers
 @cindex address@hidden in format specifiers
 A format specification can also include @dfn{modifiers} that can control
@@ -9655,7 +9592,6 @@ format strings. These are not valid in @command{awk}.  
Most @command{awk}
 implementations silently ignore them.  If @option{--lint} is provided
 on the command line (@pxref{Options}), @command{gawk} warns about their
 use. If @option{--posix} is supplied, their use is a fatal error.
address@hidden ENDOFRANGE pfm
 
 @node Printf Examples
 @subsection Examples Using @code{printf}
@@ -9736,14 +9672,11 @@ awk 'BEGIN @{ format = "%-10s %s\n"
            @{ printf format, $1, $2 @}' mail-list
 @end example
 
address@hidden ENDOFRANGE printfs
 
 @node Redirection
 @section Redirecting Output of @code{print} and @code{printf}
 
address@hidden STARTOFRANGE outre
 @cindex output redirection
address@hidden STARTOFRANGE reout
 @cindex redirection of output
 @cindex @option{--sandbox} option, output redirection with @code{print}, 
@code{printf}
 So far, the output from @code{print} and @code{printf} has gone
@@ -10001,8 +9934,6 @@ It then sends the list to the shell for execution.
 command lines to be fed to the shell.
 @end cartouche
 @end ifnotdocbook
address@hidden ENDOFRANGE outre
address@hidden ENDOFRANGE reout
 
 @node Special FD
 @section Special Files for Standard Pre-Opened Data Streams
@@ -10112,7 +10043,6 @@ invoked with the @option{--traditional} option 
(@pxref{Options}).
 
 @node Special Files
 @section Special @value{FFN}s in @command{gawk}
address@hidden STARTOFRANGE gfn
 @cindex @command{gawk}, file names in
 
 Besides access to standard input, standard output, and standard error,
@@ -10203,18 +10133,13 @@ the time this does not matter; however, it is 
important to @emph{not}
 close any of the files related to file descriptors 0, 1, and 2.
 Doing so results in unpredictable behavior.
 @end itemize
address@hidden ENDOFRANGE gfn
 
 @node Close Files And Pipes
 @section Closing Input and Output Redirections
 @cindex files, output, See output files
address@hidden STARTOFRANGE ifc
 @cindex input files, closing
address@hidden STARTOFRANGE ofc
 @cindex output, address@hidden closing
address@hidden STARTOFRANGE pc
 @cindex pipe, closing
address@hidden STARTOFRANGE cc
 @cindex coprocesses, closing
 @cindex @code{getline} command, address@hidden using from
 
@@ -10491,10 +10416,6 @@ when closing a pipe.
 @end cartouche
 @end ifnotdocbook
 
address@hidden ENDOFRANGE ifc
address@hidden ENDOFRANGE ofc
address@hidden ENDOFRANGE pc
address@hidden ENDOFRANGE cc
 
 @node Output Summary
 @section Summary
@@ -10558,11 +10479,9 @@ BEGIN @{ print "Serious error detected!" > /dev/stderr 
@}
 @end enumerate
 @c EXCLUDE END
 
address@hidden ENDOFRANGE prnt
 
 @node Expressions
 @chapter Expressions
address@hidden STARTOFRANGE exps
 @cindex expressions
 
 Expressions are the basic building blocks of @command{awk} patterns
@@ -10605,7 +10524,6 @@ which provide the values used in expressions.
 @node Constants
 @subsection Constant Expressions
 
address@hidden STARTOFRANGE cnst
 @cindex constants, types of
 
 The simplest type of expression is the @dfn{constant}, which always has
@@ -10791,7 +10709,6 @@ $ @kbd{gawk 'BEGIN @{ printf "0x11 is <%s>\n", 0x11 @}'}
 @node Regexp Constants
 @subsubsection Regular Expression Constants
 
address@hidden STARTOFRANGE rec
 @cindex regexp constants
 @cindex @code{~} (tilde), @code{~} operator
 @cindex tilde (@code{~}), @code{~} operator
@@ -10803,7 +10720,6 @@ slashes, such as @address@hidden/^beginning and 
end$/}}.  Most regexps used in
 matching operators can also match computed or dynamic regexps
 (which are typically just ordinary strings or variables that contain a regexp,
 but could be a more complex expression).
address@hidden ENDOFRANGE cnst
 
 @node Using Constant Regexps
 @subsection Using Regular Expression Constants
@@ -10914,7 +10830,6 @@ or not @code{$0} matches @code{/hi/}.
 @command{gawk} issues a warning when it sees a regexp constant used as
 a parameter to a user-defined function, because passing a truth value in
 this way is probably not what was intended.
address@hidden ENDOFRANGE rec
 
 @node Variables
 @subsection Variables
@@ -11509,11 +11424,8 @@ you're never quite sure what you'll get.
 
 @node Assignment Ops
 @subsection Assignment Expressions
address@hidden STARTOFRANGE asop
 @cindex assignment operators
address@hidden STARTOFRANGE opas
 @cindex operators, assignment
address@hidden STARTOFRANGE exas
 @cindex expressions, assignment
 @cindex @code{=} (equals sign), @code{=} operator
 @cindex equals sign (@code{=}), @code{=} operator
@@ -11819,16 +11731,11 @@ awk '/[=]=/' /dev/null
 and @command{mawk} also do not.
 @end cartouche
 @end ifnotdocbook
address@hidden ENDOFRANGE exas
address@hidden ENDOFRANGE opas
address@hidden ENDOFRANGE asop
 
 @node Increment Ops
 @subsection Increment and Decrement Operators
 
address@hidden STARTOFRANGE inop
 @cindex increment operators
address@hidden STARTOFRANGE opde
 @cindex operators, decrement/increment
 @dfn{Increment} and @dfn{decrement operators} increase or decrease the value of
 a variable by one.  An assignment operator can do the same thing, so
@@ -11876,7 +11783,6 @@ just like variables.  (Use @samp{$(i++)} when you want 
to do a field reference
 and a variable increment at the same time.  The parentheses are necessary
 because of the precedence of the field reference operator @samp{$}.)
 
address@hidden STARTOFRANGE deop
 @cindex decrement operators
 The decrement operator @samp{--} works just like @samp{++}, except that
 it subtracts one instead of adding it.  As with @samp{++}, it can be used 
before
@@ -12010,9 +11916,6 @@ You should avoid such things in your own programs.
 @c in the mirror in the morning.
 @end cartouche
 @end ifnotdocbook
address@hidden ENDOFRANGE inop
address@hidden ENDOFRANGE opde
address@hidden ENDOFRANGE deop
 
 @node Truth Values and Conditions
 @section Truth Values and Conditions
@@ -12077,17 +11980,13 @@ the string constant @code{"0"} is actually true, 
because it is non-null.
 @author Douglas Adams, @cite{The Hitchhiker's Guide to the Galaxy}
 @end quotation
 
address@hidden STARTOFRANGE comex
 @cindex comparison expressions
address@hidden STARTOFRANGE excom
 @cindex expressions, comparison
 @cindex expressions, matching, See comparison expressions
 @cindex matching, expressions, See comparison expressions
 @cindex relational operators, See comparison operators
 @cindex operators, relational, See address@hidden comparison
address@hidden STARTOFRANGE varting
 @cindex variable typing
address@hidden STARTOFRANGE vartypc
 @cindex variables, types of, comparison expressions and
 Unlike other programming languages, @command{awk} variables do not have a
 fixed type. Instead, they can be either a number or a string, depending
@@ -12487,19 +12386,13 @@ $ @kbd{gawk --posix 'BEGIN @{ printf("ABC < abc = 
%s\n",}
 @print{} ABC < abc = FALSE
 @end example
 
address@hidden ENDOFRANGE comex
address@hidden ENDOFRANGE excom
address@hidden ENDOFRANGE vartypc
address@hidden ENDOFRANGE varting
 
 @node Boolean Ops
 @subsection Boolean Expressions
 @cindex and Boolean-logic operator
 @cindex or Boolean-logic operator
 @cindex not Boolean-logic operator
address@hidden STARTOFRANGE exbo
 @cindex expressions, Boolean
address@hidden STARTOFRANGE boex
 @cindex Boolean expressions
 @cindex operators, Boolean, See Boolean expressions
 @cindex Boolean operators, See Boolean expressions
@@ -12645,8 +12538,6 @@ next record, and start processing the rules over again 
at the top.
 The reason it's there is to avoid printing the bracketing
 @samp{START} and @samp{END} lines.
 @end quotation
address@hidden ENDOFRANGE exbo
address@hidden ENDOFRANGE boex
 
 @node Conditional Exp
 @subsection Conditional Expressions
@@ -12825,9 +12716,7 @@ $ @kbd{awk -f matchit.awk}
 
 @node Precedence
 @section Operator Precedence (How Operators Nest)
address@hidden STARTOFRANGE prec
 @cindex precedence
address@hidden STARTOFRANGE oppr
 @cindex operators, precedence
 
 @dfn{Operator precedence} determines how operators are grouped when
@@ -13012,8 +12901,6 @@ Assignment.  These operators group right-to-left.
 The @samp{|&}, @samp{**}, and @samp{**=} operators are not specified by POSIX.
 For maximum portability, do not use them.
 @end quotation
address@hidden ENDOFRANGE prec
address@hidden ENDOFRANGE oppr
 
 @node Locales
 @section Where You Are Makes a Difference
@@ -13117,11 +13004,9 @@ program, and occasionally the format for data read as 
input.
 
 @end itemize
 
address@hidden ENDOFRANGE exps
 
 @node Patterns and Actions
 @chapter Patterns, Actions, and Variables
address@hidden STARTOFRANGE pat
 @cindex patterns
 
 As you have already seen, each @command{awk} statement consists of
@@ -13417,9 +13302,7 @@ a range pattern.  @value{DARKCORNER}
 @node BEGIN/END
 @subsection The @code{BEGIN} and @code{END} Special Patterns
 
address@hidden STARTOFRANGE beg
 @cindex @code{BEGIN} pattern
address@hidden STARTOFRANGE end
 @cindex @code{END} pattern
 All the patterns described so far are for matching input records.
 The @code{BEGIN} and @code{END} special patterns are different.
@@ -13557,8 +13440,6 @@ are not valid in an @code{END} rule, because all the 
input has been read.
 @ifdocbook
 @DBREF{Nextfile Statement}.)
 @end ifdocbook
address@hidden ENDOFRANGE beg
address@hidden ENDOFRANGE end
 
 @node BEGINFILE/ENDFILE
 @subsection The @code{BEGINFILE} and @code{ENDFILE} Special Patterns
@@ -13679,7 +13560,6 @@ awk '@{ print $1 @}' mail-list
 
 @noindent
 prints the first field of every record.
address@hidden ENDOFRANGE pat
 
 @node Using Shell Variables
 @section Using Shell Variables in Programs
@@ -13828,11 +13708,8 @@ For deleting array elements.
 
 @node Statements
 @section Control Statements in Actions
address@hidden STARTOFRANGE csta
 @cindex control statements
address@hidden STARTOFRANGE acs
 @cindex statements, control, in actions
address@hidden STARTOFRANGE accs
 @cindex actions, control statements in
 
 @dfn{Control statements}, such as @code{if}, @code{while}, and so on,
@@ -14550,15 +14427,10 @@ Negative values, and values of 127 or greater, may 
not produce consistent
 results across different operating systems.
 @end quotation
 
address@hidden ENDOFRANGE csta
address@hidden ENDOFRANGE acs
address@hidden ENDOFRANGE accs
 
 @node Built-in Variables
 @section Predefined Variables
address@hidden STARTOFRANGE bvar
 @cindex predefined variables
address@hidden STARTOFRANGE varb
 @cindex variables, predefined
 
 Most @command{awk} variables are available to use for your own
@@ -14585,9 +14457,7 @@ their areas of activity.
 
 @node User-modified
 @subsection Built-In Variables That Control @command{awk}
address@hidden STARTOFRANGE bvaru
 @cindex predefined variables, user-modifiable
address@hidden STARTOFRANGE nmbv
 @cindex user-modifiable variables
 
 The following is an alphabetical list of variables that you can change to
@@ -14814,17 +14684,11 @@ marked string constants in the source text, as well 
as for the
 (@pxref{Internationalization}).
 The default value of @code{TEXTDOMAIN} is @code{"messages"}.
 @end table
address@hidden ENDOFRANGE bvar
address@hidden ENDOFRANGE varb
address@hidden ENDOFRANGE bvaru
address@hidden ENDOFRANGE nmbv
 
 @node Auto-set
 @subsection Built-In Variables That Convey Information
 
address@hidden STARTOFRANGE bvconi
 @cindex predefined variables, conveying information
address@hidden STARTOFRANGE vbconi
 @cindex variables, predefined conveying information
 The following is an alphabetical list of variables that @command{awk}
 sets automatically on certain occasions in order to provide
@@ -15232,8 +15096,6 @@ implementation issues.} neither @code{FUNCTAB} nor 
@code{SYMTAB}
 are available as elements within the @code{SYMTAB} array.
 @end quotation
 @end table
address@hidden ENDOFRANGE bvconi
address@hidden ENDOFRANGE vbconi
 
 @cindex sidebar, Changing @code{NR} and @code{FNR}
 @ifdocbook
@@ -15526,7 +15388,6 @@ control how @command{awk} will process the provided 
@value{DF}s.
 
 @node Arrays
 @chapter Arrays in @command{awk}
address@hidden STARTOFRANGE arrs
 @cindex arrays
 
 An @dfn{array} is a table of values called @dfn{elements}.  The
@@ -15648,9 +15509,7 @@ Only the values are stored; the indices are implicit 
from the order of
 the values. Here, 8 is the value at index zero, because 8 appears in the
 position with zero elements before it.
 
address@hidden STARTOFRANGE arrin
 @cindex arrays, indexing
address@hidden STARTOFRANGE inarr
 @cindex indexing arrays
 @cindex associative arrays
 @cindex arrays, associative
@@ -15853,8 +15712,6 @@ that array's indices are consecutive integers starting 
at one.
 
 @command{awk}'s arrays are efficient---the time to access an element
 is independent of the number of elements in the array.
address@hidden ENDOFRANGE arrin
address@hidden ENDOFRANGE inarr
 
 @node Reference to Elements
 @subsection Referring to an Array Element
@@ -16907,14 +16764,11 @@ element is itself a subarray.
 
 @end itemize
 
address@hidden ENDOFRANGE arrs
 
 @node Functions
 @chapter Functions
 
address@hidden STARTOFRANGE funcbi
 @cindex functions, built-in
address@hidden STARTOFRANGE bifunc
 @cindex built-in functions
 This @value{CHAPTER} describes @command{awk}'s built-in functions,
 which fall into three categories: numeric, string, and I/O.
@@ -18621,13 +18475,9 @@ you would see the latter (undesirable) output.
 @subsection Time Functions
 @cindex time functions
 
address@hidden STARTOFRANGE tst
 @cindex timestamps
address@hidden STARTOFRANGE logftst
 @cindex log files, timestamps in
address@hidden STARTOFRANGE filogtst
 @cindex files, address@hidden timestamps in
address@hidden STARTOFRANGE gawtst
 @cindex @command{gawk}, timestamps
 @cindex POSIX @command{awk}, timestamps and
 @code{awk} programs are commonly used to process log files
@@ -18705,7 +18555,6 @@ is out of range, @code{mktime()} returns @minus{}1.
 @cindex @command{gawk}, @code{PROCINFO} array in
 @cindex @code{PROCINFO} array
 @item @code{strftime(address@hidden address@hidden,} @var{timestamp} 
address@hidden,} @var{utc-flag}] ] address@hidden)}
address@hidden STARTOFRANGE strf
 @cindexgawkfunc{strftime}
 @cindex format time string
 Format the time specified by @var{timestamp}
@@ -18954,7 +18803,6 @@ The time as a decimal timestamp in seconds since the 
epoch.
 The date in VMS format (e.g., @samp{20-JUN-1991}).
 @end ignore
 @end table
address@hidden ENDOFRANGE strf
 
 Additionally, the alternative representations are recognized but their
 normal representations are used.
@@ -19005,23 +18853,14 @@ gawk 'BEGIN  @{
     exit exitval
 @}' "$@@"
 @end example
address@hidden ENDOFRANGE tst
address@hidden ENDOFRANGE logftst
address@hidden ENDOFRANGE filogtst
address@hidden ENDOFRANGE gawtst
 
 @node Bitwise Functions
 @subsection Bit-Manipulation Functions
 @cindex bit-manipulation functions
address@hidden STARTOFRANGE bit
 @cindex bitwise, operations
address@hidden STARTOFRANGE and
 @cindex AND bitwise operation
address@hidden STARTOFRANGE oro
 @cindex OR bitwise operation
address@hidden STARTOFRANGE xor
 @cindex XOR bitwise operation
address@hidden STARTOFRANGE opbit
 @cindex operations, bitwise
 @quotation
 @i{I can explain it for you, but I can't understand it for you.}
@@ -19313,11 +19152,6 @@ decimal and octal values for the same numbers
 (@pxref{Nondecimal-numbers}),
 and then demonstrates the
 results of the @code{compl()}, @code{lshift()}, and @code{rshift()} functions.
address@hidden ENDOFRANGE bit
address@hidden ENDOFRANGE and
address@hidden ENDOFRANGE oro
address@hidden ENDOFRANGE xor
address@hidden ENDOFRANGE opbit
 
 @node Type Functions
 @subsection Getting Type Information
@@ -19397,15 +19231,11 @@ variant of the same message.
 The default value for @var{domain} is the current value of @code{TEXTDOMAIN}.
 The default value for @var{category} is @code{"LC_MESSAGES"}.
 @end table
address@hidden ENDOFRANGE funcbi
address@hidden ENDOFRANGE bifunc
 
 @node User-defined
 @section User-Defined Functions
 
address@hidden STARTOFRANGE udfunc
 @cindex user-defined functions
address@hidden STARTOFRANGE funcud
 @cindex functions, user-defined
 Complicated @command{awk} programs can often be simplified by defining
 your own functions.  User-defined functions can be called just like
@@ -19430,7 +19260,6 @@ variable definitions is appallingly awful.}
 @author Brian Kernighan
 @end quotation
 
address@hidden STARTOFRANGE fdef
 @cindex functions, defining
 Definitions of functions can appear anywhere between the rules of an
 @command{awk} program.  Thus, the general form of an @command{awk} program is
@@ -19677,12 +19506,10 @@ You might think that @code{ctime()} could use 
@code{PROCINFO["strftime"]}
 for its format string. That would be a mistake, because @code{ctime()} is
 supposed to return the time formatted in a standard fashion, and user-level
 code could have changed @code{PROCINFO["strftime"]}.
address@hidden ENDOFRANGE fdef
 
 @node Function Caveats
 @subsection Calling User-Defined Functions
 
address@hidden STARTOFRANGE fudc
 @cindex functions, user-defined, calling
 @dfn{Calling a function} means causing the function to run and do its job.
 A function call is an expression and its value is the value returned by
@@ -19974,7 +19801,6 @@ or the @code{nextfile} statement
 @end ifnotdocbook
 inside a user-defined function.
 @command{gawk} does not have this limitation.
address@hidden ENDOFRANGE fudc
 
 @node Return Statement
 @subsection The @code{return} Statement
@@ -20102,7 +19928,6 @@ does report the second error.
 
 Usually, such things aren't a big issue, but it's worth
 being aware of them.
address@hidden ENDOFRANGE udfunc
 
 @node Indirect Calls
 @section Indirect Function Calls
@@ -20595,7 +20420,6 @@ program. This is equivalent to function pointers in C 
and C++.
 
 @end itemize
 
address@hidden ENDOFRANGE funcud
 
 @ifnotinfo
 @part @value{PART2}Problem Solving with @command{awk}
@@ -20617,11 +20441,8 @@ It contains the following chapters:
 
 @node Library Functions
 @chapter A Library of @command{awk} Functions
address@hidden STARTOFRANGE libf
 @cindex libraries of @command{awk} functions
address@hidden STARTOFRANGE flib
 @cindex functions, library
address@hidden STARTOFRANGE fudlib
 @cindex functions, user-defined, library of
 
 @DBREF{User-defined} describes how to write
@@ -20944,13 +20765,9 @@ be tested with @command{gawk} and the results compared 
to the built-in
 @node Assert Function
 @subsection Assertions
 
address@hidden STARTOFRANGE asse
 @cindex assertions
address@hidden STARTOFRANGE assef
 @cindex @code{assert()} function (C library)
address@hidden STARTOFRANGE libfass
 @cindex libraries of @command{awk} functions, assertions
address@hidden STARTOFRANGE flibass
 @cindex functions, library, assertions
 @cindex @command{awk} programs, lengthy, assertions
 When writing large programs, it is often useful to know
@@ -21066,10 +20883,6 @@ most likely causing the program to hang as it waits 
for input.
 There is a simple workaround to this:
 make sure that such a @code{BEGIN} rule always ends
 with an @code{exit} statement.
address@hidden ENDOFRANGE asse
address@hidden ENDOFRANGE assef
address@hidden ENDOFRANGE flibass
address@hidden ENDOFRANGE libfass
 
 @node Round Function
 @subsection Rounding Numbers
@@ -21627,11 +21440,8 @@ function shell_quote(s,             # parameter
 @node Data File Management
 @section @value{DDF} Management
 
address@hidden STARTOFRANGE dataf
 @cindex files, managing
address@hidden STARTOFRANGE libfdataf
 @cindex libraries of @command{awk} functions, managing, data files
address@hidden STARTOFRANGE flibdataf
 @cindex functions, library, managing data files
 This @value{SECTION} presents functions that are useful for managing
 command-line @value{DF}s.
@@ -22023,22 +21833,14 @@ The use of @code{No_command_assign} allows you to 
disable command-line
 assignments at invocation time, by giving the variable a true value.
 When not set, it is initially zero (i.e., false), so the command-line arguments
 are left alone.
address@hidden ENDOFRANGE dataf
address@hidden ENDOFRANGE flibdataf
address@hidden ENDOFRANGE libfdataf
 
 @node Getopt Function
 @section Processing Command-Line Options
 
address@hidden STARTOFRANGE libfclo
 @cindex libraries of @command{awk} functions, command-line options
address@hidden STARTOFRANGE flibclo
 @cindex functions, library, command-line options
address@hidden STARTOFRANGE clop
 @cindex command-line options, processing
address@hidden STARTOFRANGE oclp
 @cindex options, command-line, processing
address@hidden STARTOFRANGE clibf
 @cindex functions, library, C library
 @cindex arguments, processing
 Most utilities on POSIX-compatible systems take options on
@@ -22390,21 +22192,13 @@ further options
 Several of the sample programs presented in
 @ref{Sample Programs},
 use @code{getopt()} to process their arguments.
address@hidden ENDOFRANGE libfclo
address@hidden ENDOFRANGE flibclo
address@hidden ENDOFRANGE clop
address@hidden ENDOFRANGE oclp
 
 @node Passwd Functions
 @section Reading the User Database
 
address@hidden STARTOFRANGE libfudata
 @cindex libraries of @command{awk} functions, user database, reading
address@hidden STARTOFRANGE flibudata
 @cindex functions, library, user address@hidden reading
address@hidden STARTOFRANGE udatar
 @cindex user address@hidden reading
address@hidden STARTOFRANGE dataur
 @cindex database, address@hidden reading
 @cindex @code{PROCINFO} array
 The @code{PROCINFO} array
@@ -22751,21 +22545,13 @@ and such a change would clutter up the code.
 
 The @command{id} program in @DBREF{Id Program}
 uses these functions.
address@hidden ENDOFRANGE libfudata
address@hidden ENDOFRANGE flibudata
address@hidden ENDOFRANGE udatar
address@hidden ENDOFRANGE dataur
 
 @node Group Functions
 @section Reading the Group Database
 
address@hidden STARTOFRANGE libfgdata
 @cindex libraries of @command{awk} functions, group database, reading
address@hidden STARTOFRANGE flibgdata
 @cindex functions, library, group address@hidden reading
address@hidden STARTOFRANGE gdatar
 @cindex group database, reading
address@hidden STARTOFRANGE datagr
 @cindex database, group, reading
 @cindex @code{PROCINFO} array, and group membership
 @cindex @code{getgrent()} function (C library)
@@ -23088,7 +22874,6 @@ function getgrent()
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE clibf
 
 @cindex @code{endgrent()} function (C library)
 The @code{endgrent()} function resets @code{_gr_count} to zero so that 
@code{getgrent()} can
@@ -23177,10 +22962,6 @@ $ @kbd{gawk -f walk_array.awk}
 @print{} a[4][2] = 42
 @end example
 
address@hidden ENDOFRANGE libfgdata
address@hidden ENDOFRANGE flibgdata
address@hidden ENDOFRANGE gdatar
address@hidden ENDOFRANGE libf
 
 @node Library Functions Summary
 @section Summary
@@ -23294,13 +23075,9 @@ output identical to that of the original version.
 @end enumerate
 @c EXCLUDE END
 
address@hidden ENDOFRANGE flib
address@hidden ENDOFRANGE fudlib
address@hidden ENDOFRANGE datagr
 
 @node Sample Programs
 @chapter Practical @command{awk} Programs
address@hidden STARTOFRANGE awkpex
 @cindex @command{awk} programs, examples of
 
 @c FULLXREF ON
@@ -23370,7 +23147,6 @@ cut.awk -- -c1-8 myfiles > results
 
 @node Clones
 @section Reinventing Wheels for Fun and Profit
address@hidden STARTOFRANGE posimawk
 @cindex POSIX, address@hidden implementing in @command{awk}
 
 This @value{SECTION} presents a number of POSIX utilities implemented in
@@ -23401,11 +23177,8 @@ The programs are presented in alphabetical order.
 @subsection Cutting Out Fields and Columns
 
 @cindex @command{cut} utility
address@hidden STARTOFRANGE cut
 @cindex @command{cut} utility
address@hidden STARTOFRANGE ficut
 @cindex fields, cutting
address@hidden STARTOFRANGE colcut
 @cindex columns, cutting
 The @command{cut} utility selects, or ``cuts,'' characters or fields
 from its standard input and sends them to its standard output.
@@ -23713,21 +23486,14 @@ other @command{awk} implementations to use 
@code{substr()}
 it is also extremely painful.
 The @code{FIELDWIDTHS} variable supplies an elegant solution to the problem
 of picking the input line apart by characters.
address@hidden ENDOFRANGE cut
address@hidden ENDOFRANGE ficut
address@hidden ENDOFRANGE colcut
 
 
 @node Egrep Program
 @subsection Searching for Regular Expressions in Files
 
address@hidden STARTOFRANGE regexps
 @cindex regular expressions, searching for
address@hidden STARTOFRANGE sfregexp
 @cindex searching, files for regular expressions
address@hidden STARTOFRANGE fsregexp
 @cindex files, searching for regular expressions
address@hidden STARTOFRANGE egrep
 @cindex @command{egrep} utility
 The @command{egrep} utility searches files for patterns.  It uses regular
 expressions that are almost identical to those available in @command{awk}
@@ -23995,17 +23761,12 @@ function usage()
 @c endfile
 @end example
 
address@hidden ENDOFRANGE regexps
address@hidden ENDOFRANGE sfregexp
address@hidden ENDOFRANGE fsregexp
address@hidden ENDOFRANGE egrep
 
 @node Id Program
 @subsection Printing Out User Information
 
 @cindex printing, user information
 @cindex users, information about, printing
address@hidden STARTOFRANGE id
 @cindex @command{id} utility
 The @command{id} utility lists a user's real and effective user ID numbers,
 real and effective group ID numbers, and the user's group set, if any.
@@ -24134,16 +23895,13 @@ code that is used repeatedly, making the whole program
 shorter and cleaner. In particular, moving the check for
 the empty string into this function saves several lines of code.
 
address@hidden ENDOFRANGE id
 
 @node Split Program
 @subsection Splitting a Large File into Pieces
 
 @c FIXME: One day, update to current POSIX version of split
 
address@hidden STARTOFRANGE filspl
 @cindex files, splitting
address@hidden STARTOFRANGE split
 @cindex @code{split} utility
 The @command{split} program splits large text files into smaller pieces.
 Usage is as follows:@footnote{This is the traditional usage. The
@@ -24278,15 +24036,12 @@ You might want to consider how to eliminate the use of
 way as to solve the EBCDIC issue as well.
 @end ifset
 
address@hidden ENDOFRANGE filspl
address@hidden ENDOFRANGE split
 
 @node Tee Program
 @subsection Duplicating Output into Multiple Files
 
 @cindex files, address@hidden duplicating output into
 @cindex output, duplicating into files
address@hidden STARTOFRANGE tee
 @cindex @code{tee} utility
 The @code{tee} program is known as a ``pipe fitting.''  @code{tee} copies
 its standard input to its standard output and also duplicates it to the
@@ -24399,18 +24154,14 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE tee
 
 @node Uniq Program
 @subsection Printing Nonduplicated Lines of Text
 
 @c FIXME: One day, update to current POSIX version of uniq
 
address@hidden STARTOFRANGE prunt
 @cindex printing, unduplicated lines of text
address@hidden STARTOFRANGE tpul
 @cindex address@hidden printing, unduplicated lines of
address@hidden STARTOFRANGE uniq
 @cindex @command{uniq} utility
 The @command{uniq} utility reads sorted lines of data on its standard
 input, and by default removes duplicate lines.  In other words, it only
@@ -24679,26 +24430,17 @@ suggestion.
 @end ifset
 
 
address@hidden ENDOFRANGE prunt
address@hidden ENDOFRANGE tpul
address@hidden ENDOFRANGE uniq
 
 @node Wc Program
 @subsection Counting Things
 
 @c FIXME: One day, update to current POSIX version of wc
 
address@hidden STARTOFRANGE count
 @cindex counting
address@hidden STARTOFRANGE infco
 @cindex input files, counting elements in
address@hidden STARTOFRANGE woco
 @cindex words, counting
address@hidden STARTOFRANGE chco
 @cindex characters, counting
address@hidden STARTOFRANGE lico
 @cindex lines, counting
address@hidden STARTOFRANGE wc
 @cindex @command{wc} utility
 The @command{wc} (word count) utility counts lines, words, and characters in
 one or more input files. Its usage is as follows:
@@ -24868,13 +24610,6 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE count
address@hidden ENDOFRANGE infco
address@hidden ENDOFRANGE lico
address@hidden ENDOFRANGE woco
address@hidden ENDOFRANGE chco
address@hidden ENDOFRANGE wc
address@hidden ENDOFRANGE posimawk
 
 @node Miscellaneous Programs
 @section A Grab Bag of @command{awk} Programs
@@ -25005,9 +24740,7 @@ Aharon Robbins <address@hidden> wrote:
 @author Erik Quanstrom
 @end quotation
 
address@hidden STARTOFRANGE tialarm
 @cindex time, alarm clock example program
address@hidden STARTOFRANGE alaex
 @cindex alarm clock example program
 The following program is a simple ``alarm clock'' program.
 You give it a time of day and an optional message.  At the specified time,
@@ -25159,15 +24892,11 @@ seconds are necessary:
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE tialarm
address@hidden ENDOFRANGE alaex
 
 @node Translate Program
 @subsection Transliterating Characters
 
address@hidden STARTOFRANGE chtra
 @cindex characters, transliterating
address@hidden STARTOFRANGE tr
 @cindex @command{tr} utility
 The system @command{tr} utility transliterates characters.  For example, it is
 often used to map uppercase letters into lowercase for further processing:
@@ -25315,15 +25044,11 @@ such as @samp{a-z}, as allowed by the @command{tr} 
utility.
 Look at the code for @file{cut.awk} (@pxref{Cut Program})
 for inspiration.
 
address@hidden ENDOFRANGE chtra
address@hidden ENDOFRANGE tr
 
 @node Labels Program
 @subsection Printing Mailing Labels
 
address@hidden STARTOFRANGE prml
 @cindex printing, mailing labels
address@hidden STARTOFRANGE mlprint
 @cindex mailing address@hidden printing
 Here is a ``real world''@footnote{``Real world'' is defined as
 ``a program actually used to get something done.''}
@@ -25387,7 +25112,6 @@ that there are two blank lines at the top and two blank 
lines at the bottom.
 The @code{END} rule arranges to flush the final page of labels; there may
 not have been an even multiple of 20 labels in the data:
 
address@hidden STARTOFRANGE labels
 @cindex @code{labels.awk} program
 @example
 @c file eg/prog/labels.awk
@@ -25452,14 +25176,10 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE prml
address@hidden ENDOFRANGE mlprint
address@hidden ENDOFRANGE labels
 
 @node Word Sorting
 @subsection Generating Word-Usage Counts
 
address@hidden STARTOFRANGE worus
 @cindex words, usage address@hidden generating
 
 When working with large amounts of text, it can be interesting to know
@@ -25521,7 +25241,6 @@ to remove punctuation characters.  Finally, we solve 
the third problem
 by using the system @command{sort} utility to process the output of the
 @command{awk} script.  Here is the new version of the program:
 
address@hidden STARTOFRANGE wordfreq
 @cindex @code{wordfreq.awk} program
 @example
 @c file eg/prog/wordfreq.awk
@@ -25586,13 +25305,10 @@ This way of sorting must be used on systems that do 
not
 have true pipes at the command-line (or batch-file) level.
 See the general operating system documentation for more information on how
 to use the @command{sort} program.
address@hidden ENDOFRANGE worus
address@hidden ENDOFRANGE wordfreq
 
 @node History Sorting
 @subsection Removing Duplicates from Unsorted Text
 
address@hidden STARTOFRANGE lidu
 @cindex lines, address@hidden removing
 The @command{uniq} program
 (@pxref{Uniq Program}),
@@ -25617,7 +25333,6 @@ Each element of @code{lines} is a unique command, and 
the indices of
 The @code{END} rule simply prints out the lines, in order:
 
 @cindex Rakitzis, Byron
address@hidden STARTOFRANGE histsort
 @cindex @code{histsort.awk} program
 @example
 @c file eg/prog/histsort.awk
@@ -25660,15 +25375,11 @@ print data[lines[i]], lines[i]
 @noindent
 This works because @code{data[$0]} is incremented each time a line is
 seen.
address@hidden ENDOFRANGE lidu
address@hidden ENDOFRANGE histsort
 
 @node Extract Program
 @subsection Extracting Programs from Texinfo Source Files
 
address@hidden STARTOFRANGE texse
 @cindex Texinfo, extracting programs from source files
address@hidden STARTOFRANGE fitex
 @cindex files, address@hidden extracting programs from
 @ifnotinfo
 Both this chapter and the previous chapter
@@ -25772,7 +25483,6 @@ The first rule handles calling @code{system()}, 
checking that a command is
 given (@code{NF} is at least three) and also checking that the command
 exits with a zero exit status, signifying OK:
 
address@hidden STARTOFRANGE extract
 @cindex @code{extract.awk} program
 @example
 @c file eg/prog/extract.awk
@@ -25918,9 +25628,6 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE texse
address@hidden ENDOFRANGE fitex
address@hidden ENDOFRANGE extract
 
 @node Simple Sed
 @subsection A Simple Stream Editor
@@ -25950,7 +25657,6 @@ additional arguments are treated as @value{DF} names to 
process. If none
 are provided, the standard input is used:
 
 @cindex Brennan, Michael
address@hidden STARTOFRANGE awksed
 @cindex @command{awksed.awk} program
 @c @cindex simple stream editor
 @c @cindex stream editor, simple
@@ -26027,14 +25733,11 @@ The @code{usage()} function prints an error message 
and exits.
 Finally, the single rule handles the printing scheme outlined earlier,
 using @code{print} or @code{printf} as appropriate, depending upon the
 value of @code{RT}.
address@hidden ENDOFRANGE awksed
 
 @node Igawk Program
 @subsection An Easy Way to Use Library Functions
 
address@hidden STARTOFRANGE libfex
 @cindex libraries of @command{awk} functions, example program for using
address@hidden STARTOFRANGE flibex
 @cindex functions, library, example program for using
 In @ref{Include Files}, we saw how @command{gawk} provides a built-in
 file-inclusion capability.  However, this is a @command{gawk} extension.
@@ -26173,7 +25876,6 @@ program.
 
 The program is as follows:
 
address@hidden STARTOFRANGE igawk
 @cindex @code{igawk.sh} program
 @example
 @c file eg/prog/igawk.sh
@@ -26498,10 +26200,6 @@ features to a program; they can often be layered on 
address@hidden@command{gawk}
 does @code{@@include} processing itself in order to support the use
 of @command{awk} programs as Web CGI scripts.}
 
address@hidden ENDOFRANGE libfex
address@hidden ENDOFRANGE flibex
address@hidden ENDOFRANGE awkpex
address@hidden ENDOFRANGE igawk
 
 @node Anagram Program
 @subsection Finding Anagrams from a Dictionary
@@ -26525,7 +26223,6 @@ The following program uses arrays of arrays to bring 
together
 words with the same signature and array sorting to print the words
 in sorted order:
 
address@hidden STARTOFRANGE anagram
 @cindex @code{anagram.awk} program
 @example
 @c file eg/prog/anagram.awk
@@ -26634,7 +26331,6 @@ babery yabber
 @dots{}
 @end example
 
address@hidden ENDOFRANGE anagram
 
 @node Signature Program
 @subsection And Now for Something Completely Different
@@ -26954,9 +26650,7 @@ It contains the following chapters:
 
 @node Advanced Features
 @chapter Advanced Features of @command{gawk}
address@hidden STARTOFRANGE gawadv
 @cindex @command{gawk}, features, advanced
address@hidden STARTOFRANGE advgaw
 @cindex advanced features, @command{gawk}
 @ignore
 Contributed by: Peter Langston <address@hidden>
@@ -27666,7 +27360,6 @@ using regular pipes.
 @section Using @command{gawk} for Network Programming
 @cindex advanced features, network programming
 @cindex networks, programming
address@hidden STARTOFRANGE tcpip
 @cindex TCP/IP
 @cindex @code{/inet/@dots{}} special files (@command{gawk})
 @cindex files, @code{/inet/@dots{}} (@command{gawk})
@@ -27783,13 +27476,10 @@ which comes as part of the @command{gawk} 
distribution,
 for a much more complete introduction and discussion, as well as
 extensive examples.
 
address@hidden ENDOFRANGE tcpip
 
 @node Profiling
 @section Profiling Your @command{awk} Programs
address@hidden STARTOFRANGE awkp
 @cindex @command{awk} programs, profiling
address@hidden STARTOFRANGE proawk
 @cindex profiling @command{awk} programs
 @cindex @code{awkprof.out} file
 @cindex files, @code{awkprof.out}
@@ -28100,8 +27790,6 @@ When called this way, @command{gawk} ``pretty prints'' 
the program into
 The @option{--pretty-print} option still runs your program.
 This will change in the next major release.
 @end quotation
address@hidden ENDOFRANGE awkp
address@hidden ENDOFRANGE proawk
 
 @node Advanced Features Summary
 @section Summary
@@ -28148,8 +27836,6 @@ the program, but that will change in the next major 
release.
 
 @end itemize
 
address@hidden ENDOFRANGE advgaw
address@hidden ENDOFRANGE gawadv
 
 @node Internationalization
 @chapter Internationalization with @command{gawk}
@@ -28162,7 +27848,6 @@ countries, they were able to sell more systems.
 As a result, internationalization and localization
 of programs and software systems became a common practice.
 
address@hidden STARTOFRANGE inloc
 @cindex internationalization, localization
 @cindex @command{gawk}, internationalization and, See internationalization
 @cindex internationalization, localization, @command{gawk} and
@@ -28207,7 +27892,6 @@ monetary values are printed and read.
 @section GNU @command{gettext}
 
 @cindex internationalizing a program
address@hidden STARTOFRANGE gettex
 @cindex @command{gettext} library
 @command{gawk} uses GNU @command{gettext} to provide its internationalization
 features.
@@ -28259,7 +27943,6 @@ lookup of the translations.
 
 @cindex @code{.po} files
 @cindex files, @code{.po}
address@hidden STARTOFRANGE portobfi
 @cindex portable object files
 @cindex files, portable object
 @item
@@ -28271,7 +27954,6 @@ For example, there might be a @file{fr.po} for a French 
translation.
 @cindex @code{.gmo} files
 @cindex files, @code{.gmo}
 @cindex message object files
address@hidden STARTOFRANGE portmsgfi
 @cindex files, message object
 @item
 Each language's @file{.po} file is converted into a binary
@@ -28399,11 +28081,9 @@ before or after the day in a date, local month 
abbreviations, and so on.
 @item LC_ALL
 All of the above.  (Not too useful in the context of @command{gettext}.)
 @end table
address@hidden ENDOFRANGE gettex
 
 @node Programmer i18n
 @section Internationalizing @command{awk} Programs
address@hidden STARTOFRANGE inap
 @cindex @command{awk} programs, internationalizing
 
 @command{gawk} provides the following variables and functions for
@@ -28636,8 +28316,6 @@ to provide you translations that you can also then 
distribute.
 @DBXREF{I18N Example}
 for the full list of steps to go through to create and test
 translations for @command{guide}.
address@hidden ENDOFRANGE portobfi
address@hidden ENDOFRANGE portmsgfi
 
 @node Printf Ordering
 @subsection Rearranging @code{printf} Arguments
@@ -28813,7 +28491,6 @@ However, because the positional specifications are 
primarily for use in
 @emph{translated} format strings, and because non-GNU @command{awk}s never
 retrieve the translated string, this should not be a problem in practice.
 @end itemize
address@hidden ENDOFRANGE inap
 
 @node I18N Example
 @section A Simple Internationalization Example
@@ -29009,7 +28686,6 @@ a number of translations for its messages.
 
 @end itemize
 
address@hidden ENDOFRANGE inloc
 
 @node Debugger
 @chapter Debugging @command{awk} Programs
@@ -35442,9 +35118,7 @@ online documentation}.
 
 @node V7/SVR3.1
 @appendixsec Major Changes Between V7 and SVR3.1
address@hidden STARTOFRANGE gawkv
 @cindex @command{awk}, versions of
address@hidden STARTOFRANGE gawkv1
 @cindex @command{awk}, versions of, changes between V7 and SVR3.1
 
 The @command{awk} language evolved considerably between the release of
@@ -35531,7 +35205,6 @@ Multiple @code{BEGIN} and @code{END} rules
 Multidimensional arrays
 (@pxref{Multidimensional}).
 @end itemize
address@hidden ENDOFRANGE gawkv1
 
 @node SVR4
 @appendixsec Changes Between SVR3.1 and SVR4
@@ -35646,7 +35319,6 @@ not permitted by the POSIX standard.
 The 2008 POSIX standard can be found online at
 @url{http://www.opengroup.org/onlinepubs/9699919799/}.
 
address@hidden ENDOFRANGE gawkv
 
 @node BTL
 @appendixsec Extensions in Brian Kernighan's @command{awk}
@@ -35692,11 +35364,8 @@ available in his @command{awk}.
 @node POSIX/GNU
 @appendixsec Extensions in @command{gawk} Not in POSIX @command{awk}
 
address@hidden STARTOFRANGE fripls
 @cindex compatibility mode (@command{gawk}), extensions
address@hidden STARTOFRANGE exgnot
 @cindex extensions, in @command{gawk}, not in POSIX @command{awk}
address@hidden STARTOFRANGE posnot
 @cindex POSIX, @command{gawk} extensions not included in
 The GNU implementation, @command{gawk}, adds a large number of features.
 They can all be disabled with either the @option{--traditional} or
@@ -36006,9 +35675,6 @@ Ultrix
 
 @c XXX ADD MORE STUFF HERE
 
address@hidden ENDOFRANGE fripls
address@hidden ENDOFRANGE exgnot
address@hidden ENDOFRANGE posnot
 
 @c This does not need to be in the formal book.
 @ifclear FOR_PRINT
@@ -37057,9 +36723,7 @@ the appropriate credit where credit is due.
 
 @c last two commas are part of see also
 @cindex operating systems, See Also GNU/address@hidden PC operating 
address@hidden Unix
address@hidden STARTOFRANGE gligawk
 @cindex @command{gawk}, installing
address@hidden STARTOFRANGE ingawk
 @cindex installing @command{gawk}
 This appendix provides instructions for installing @command{gawk} on the
 various platforms that are supported by the developers.  The primary
@@ -37169,7 +36833,6 @@ a local expert.
 
 @node Distribution contents
 @appendixsubsec Contents of the @command{gawk} Distribution
address@hidden STARTOFRANGE gawdis
 @cindex @command{gawk}, distribution
 
 The @command{gawk} distribution has a number of C source files,
@@ -37362,7 +37025,6 @@ directory to run your version of @command{gawk} against 
the test suite.
 If @command{gawk} successfully passes @samp{make check}, then you can
 be confident of a successful port.
 @end table
address@hidden ENDOFRANGE gawdis
 
 @node Unix Installation
 @appendixsec Compiling and Installing @command{gawk} on Unix-Like Systems
@@ -37788,9 +37450,7 @@ multibyte functionality is not available.
 
 @node PC Using
 @appendixsubsubsec Using @command{gawk} on PC Operating Systems
address@hidden STARTOFRANGE opgawx
 @cindex operating systems, PC, @command{gawk} on
address@hidden STARTOFRANGE pcgawon
 @cindex PC operating systems, @command{gawk} on
 
 Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support
@@ -38298,8 +37958,6 @@ $ @kbd{gawk :== 
$sys$common:[syshlp.examples.tcpip.snmp]gawk.exe}
 This is apparently @value{PVERSION} 2.15.6, which is extremely old. We
 recommend compiling and using the current version.
 
address@hidden ENDOFRANGE opgawx
address@hidden ENDOFRANGE pcgawon
 
 @node Bugs
 @appendixsec Reporting Problems and Bugs
@@ -38310,9 +37968,7 @@ recommend compiling and using the current version.
 @end quotation
 @c the radio show, not the book. :-)
 
address@hidden STARTOFRANGE dbugg
 @cindex debugging @command{gawk}, bug reports
address@hidden STARTOFRANGE tblgawb
 @cindex troubleshooting, @command{gawk}, bug reports
 If you have problems with @command{gawk} or think that you have found a bug,
 report it to the developers; we cannot promise to do anything
@@ -38409,12 +38065,9 @@ The people maintaining the various @command{gawk} 
ports are:
 
 If your bug is also reproducible under Unix, send a copy of your
 report to the @EMAIL{bug-gawk@@gnu.org,bug-gawk at gnu dot org} email list as 
well.
address@hidden ENDOFRANGE dbugg
address@hidden ENDOFRANGE tblgawb
 
 @node Other Versions
 @appendixsec Other Freely Available @command{awk} Implementations
address@hidden STARTOFRANGE awkim
 @cindex @command{awk}, implementations
 @ignore
 From: emory!amc.com!brennan (Michael Brennan)
@@ -38635,7 +38288,6 @@ See also the ``Versions and implementations'' section 
of the
 Wikipedia article} for information on additional versions.
 
 @end table
address@hidden ENDOFRANGE awkim
 
 @node Installation summary
 @appendixsec Summary
@@ -38673,15 +38325,11 @@ implementations.  Many are POSIX compliant; others 
are less so.
 
 @end itemize
 
address@hidden ENDOFRANGE gligawk
address@hidden ENDOFRANGE ingawk
 
 @ifclear FOR_PRINT
 @node Notes
 @appendix Implementation Notes
address@hidden STARTOFRANGE gawii
 @cindex @command{gawk}, implementation issues
address@hidden STARTOFRANGE impis
 @cindex implementation issues, @command{gawk}
 
 This appendix contains information mainly of interest to implementers and
@@ -38786,11 +38434,8 @@ that has a Git plug-in for working with Git 
repositories.
 @node Adding Code
 @appendixsubsec Adding New Features
 
address@hidden STARTOFRANGE adfgaw
 @cindex adding, features to @command{gawk}
address@hidden STARTOFRANGE fadgaw
 @cindex features, adding to @command{gawk}
address@hidden STARTOFRANGE gawadf
 @cindex @command{gawk}, features, adding
 You are free to add any new features you like to @command{gawk}.
 However, if you want your changes to be incorporated into the @command{gawk}
@@ -38957,9 +38602,6 @@ Although this sounds like a lot of work, please 
remember that while you
 may write the new code, I have to maintain it and support it. If it
 isn't possible for me to do that with a minimum of extra work, then I
 probably will not.
address@hidden ENDOFRANGE adfgaw
address@hidden ENDOFRANGE gawadf
address@hidden ENDOFRANGE fadgaw
 
 @node New Ports
 @appendixsubsec Porting @command{gawk} to a New Operating System
@@ -39093,7 +38735,6 @@ coding style and brace layout that suits your taste.
 @node Derived Files
 @appendixsubsec Why Generated Files Are Kept In Git
 
address@hidden STARTOFRANGE gawkgit
 @cindex Git, use of for @command{gawk} source code
 @c From emails written March 22, 2012, to the gawk developers list.
 
@@ -39282,7 +38923,6 @@ wget 
http://git.savannah.gnu.org/cgit/gawk.git/snapshot/address@hidden
 
 @noindent
 to retrieve a snapshot of the given branch.
address@hidden ENDOFRANGE gawkgit
 
 @node Future Extensions
 @appendixsec Probable Future Extensions
@@ -39663,13 +39303,10 @@ of @command{gawk}, but it @emph{will} be removed in 
the next major release.
 
 @end itemize
 
address@hidden ENDOFRANGE impis
address@hidden ENDOFRANGE gawii
 
 @node Basic Concepts
 @appendix Basic Programming Concepts
 @cindex programming, concepts
address@hidden STARTOFRANGE procon
 @cindex programming, concepts
 
 This @value{APPENDIX} attempts to define some of the basic concepts
@@ -39907,7 +39544,6 @@ standard for C.  This standard became an ISO standard 
in 1990.
 In 1999, a revised ISO C standard was approved and released.
 Where it makes sense, POSIX @command{awk} is compatible with 1999 ISO C.
 
address@hidden ENDOFRANGE procon
 
 @node Glossary
 @unnumbered Glossary
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 4d11a08..7379a9c 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -2563,9 +2563,7 @@ for programs that are provided on the @command{awk} 
command line.
 (Also, placing the program in a file allows us to use a literal single quote 
in the program
 text, instead of the magic @samp{\47}.)
 
address@hidden STARTOFRANGE sq1x
 @cindex single quote (@code{'}) in @command{gawk} command lines
address@hidden STARTOFRANGE qs2x
 @cindex @code{'} (single quote) in @command{gawk} command lines
 If you want to clearly identify an @command{awk} program file as such,
 you can add the extension @file{.awk} to the @value{FN}.  This doesn't
@@ -2883,8 +2881,6 @@ $ @kbd{awk "BEGIN @{ print \"Here is a single quote <'>\" 
@}"}
 @end example
 
 @noindent
address@hidden ENDOFRANGE sq1x
address@hidden ENDOFRANGE qs2x
 This option is also painful, because double quotes, backslashes, and dollar 
signs
 are very common in more advanced @command{awk} programs.
 
@@ -3649,13 +3645,9 @@ warning that the program is empty.
 
 @node Options
 @section Command-Line Options
address@hidden STARTOFRANGE ocl
 @cindex options, command-line
address@hidden STARTOFRANGE clo
 @cindex command line, options
address@hidden STARTOFRANGE gnulo
 @cindex GNU long options
address@hidden STARTOFRANGE longo
 @cindex options, long
 
 Options begin with a dash and consist of a single character.
@@ -3744,8 +3736,6 @@ by the user that could start with @samp{-}.
 It is also useful for passing options on to the @command{awk}
 program; see @ref{Getopt Function}.
 @end table
address@hidden ENDOFRANGE gnulo
address@hidden ENDOFRANGE longo
 
 The following list describes @command{gawk}-specific options:
 
@@ -4201,8 +4191,6 @@ setenv POSIXLY_CORRECT true
 Having @env{POSIXLY_CORRECT} set is not recommended for daily use,
 but it is good for testing the portability of your programs to other
 environments.
address@hidden ENDOFRANGE ocl
address@hidden ENDOFRANGE clo
 
 @node Other Arguments
 @section Other Command-Line Arguments
@@ -4872,7 +4860,6 @@ or C++ using the @code{@@load} statement and/or the 
@option{-l} option.
 @node Regexp
 @chapter Regular Expressions
 @cindex regexp
address@hidden STARTOFRANGE regexp
 @cindex regular expressions
 
 A @dfn{regular expression}, or @dfn{regexp}, is a way of describing a
@@ -5228,7 +5215,6 @@ escape sequences literally when used in regexp constants. 
Thus,
 
 @node Regexp Operators
 @section Regular Expression Operators
address@hidden STARTOFRANGE regexpo
 @cindex regular expressions, operators
 @cindex metacharacters in regular expressions
 
@@ -5460,11 +5446,9 @@ usage as a syntax error.
 
 If @command{gawk} is in compatibility mode (@pxref{Options}), interval
 expressions are not available in regular expressions.
address@hidden ENDOFRANGE regexpo
 
 @node Bracket Expressions
 @section Using Bracket Expressions
address@hidden STARTOFRANGE charlist
 @cindex bracket expressions
 @cindex bracket expressions, range expressions
 @cindex range expressions (regexps)
@@ -5608,7 +5592,6 @@ expression matching currently recognize only POSIX 
character classes;
 they do not recognize collating symbols or equivalence classes.
 @end quotation
 @c maybe one day ...
address@hidden ENDOFRANGE charlist
 
 @node Leftmost Longest
 @section How Much Text Matches?
@@ -5652,9 +5635,7 @@ and also @pxref{Field Separators}).
 @node Computed Regexps
 @section Using Dynamic Regexps
 
address@hidden STARTOFRANGE dregexp
 @cindex regular expressions, computed
address@hidden STARTOFRANGE regexpd
 @cindex regular expressions, dynamic
 @cindex @code{~} (tilde), @code{~} operator
 @cindex tilde (@code{~}), @code{~} operator
@@ -5761,17 +5742,13 @@ $ @kbd{awk '$0 ~ /[ \t\n]/'}
 @command{gawk} does not have this problem, and it isn't likely to
 occur often in practice, but it's worth noting for future reference.
 @end sidebar
address@hidden ENDOFRANGE dregexp
address@hidden ENDOFRANGE regexpd
 
 @node GNU Regexp Operators
 @section @command{gawk}-Specific Regexp Operators
 
 @c This section adapted (long ago) from the regex-0.12 manual
 
address@hidden STARTOFRANGE regexpg
 @cindex regular expressions, operators, @command{gawk}
address@hidden STARTOFRANGE gregexp
 @cindex @command{gawk}, regular expressions, operators
 @cindex operators, GNU-specific
 @cindex regular expressions, operators, for words
@@ -5936,15 +5913,11 @@ Allow interval expressions in regexps, if 
@option{--traditional}
 has been provided.
 Otherwise, interval expressions are available by default.
 @end table
address@hidden ENDOFRANGE gregexp
address@hidden ENDOFRANGE regexpg
 
 @node Case-sensitivity
 @section Case Sensitivity in Matching
 
address@hidden STARTOFRANGE regexpcs
 @cindex regular expressions, case sensitivity
address@hidden STARTOFRANGE csregexp
 @cindex case sensitivity, regexps and
 Case is normally significant in regular expressions, both when matching
 ordinary characters (i.e., not metacharacters) and inside bracket
@@ -6036,8 +6009,6 @@ the right thing.}
 The value of @code{IGNORECASE} has no effect if @command{gawk} is in
 compatibility mode (@pxref{Options}).
 Case is always significant in compatibility mode.
address@hidden ENDOFRANGE csregexp
address@hidden ENDOFRANGE regexpcs
 
 @node Regexp Summary
 @section Summary
@@ -6084,12 +6055,10 @@ versions, use @code{tolower()} or @code{toupper()}.
 
 @end itemize
 
address@hidden ENDOFRANGE regexp
 
 @node Reading Files
 @chapter Reading Input Files
 
address@hidden STARTOFRANGE infir
 @cindex reading input files
 @cindex input files, reading
 @cindex input files
@@ -6140,9 +6109,7 @@ used with it do not have to be named on the @command{awk} 
command line
 @node Records
 @section How Input Is Split into Records
 
address@hidden STARTOFRANGE inspl
 @cindex input, splitting into records
address@hidden STARTOFRANGE recspl
 @cindex records, splitting input into
 @cindex @code{NR} variable
 @cindex @code{FNR} variable
@@ -6442,8 +6409,6 @@ character as a record separator. However, this is a 
special case:
 whole files.  If you are using @command{gawk}, see @DBREF{Extension Sample
 Readfile} for another option.
 @end sidebar
address@hidden ENDOFRANGE inspl
address@hidden ENDOFRANGE recspl
 
 @node Fields
 @section Examining Fields
@@ -6451,7 +6416,6 @@ Readfile} for another option.
 @cindex examining fields
 @cindex fields
 @cindex accessing fields
address@hidden STARTOFRANGE fiex
 @cindex fields, examining
 @cindex POSIX @command{awk}, field separators and
 @cindex field separators, POSIX and
@@ -6532,7 +6496,6 @@ $ @kbd{awk '/li/ @{ print $1, $NF @}' mail-list}
 @print{} Julie F
 @print{} Samuel A
 @end example
address@hidden ENDOFRANGE fiex
 
 @node Nonconstant Fields
 @section Nonconstant Field Numbers
@@ -6593,7 +6556,6 @@ evaluating @code{NF} and using its value as a field 
number.
 @node Changing Fields
 @section Changing the Contents of a Field
 
address@hidden STARTOFRANGE ficon
 @cindex fields, changing contents of
 The contents of a field, as seen by @command{awk}, can be changed within an
 @command{awk} program; this changes what @command{awk} perceives as the
@@ -6785,7 +6747,6 @@ itself.  Instead, you must force the record to be 
rebuilt, typically
 with a statement such as @samp{$1 = $1}, as described earlier.
 @end sidebar
 
address@hidden ENDOFRANGE ficon
 
 @node Field Separators
 @section Specifying How Fields Are Separated
@@ -6801,9 +6762,7 @@ with a statement such as @samp{$1 = $1}, as described 
earlier.
 
 @cindex @code{FS} variable
 @cindex fields, separating
address@hidden STARTOFRANGE fisepr
 @cindex field separators
address@hidden STARTOFRANGE fisepg
 @cindex fields, separating
 The @dfn{field separator}, which is either a single character or a regular
 expression, controls the way @command{awk} splits an input record into fields.
@@ -6903,9 +6862,7 @@ rules.
 @node Regexp Field Splitting
 @subsection Using Regular Expressions to Separate Fields
 
address@hidden STARTOFRANGE regexpfs
 @cindex regular expressions, as field separators
address@hidden STARTOFRANGE fsregexp
 @cindex field separators, regular expressions as
 The previous @value{SUBSECTION}
 discussed the use of single characters or simple strings as the
@@ -7009,8 +6966,6 @@ $ @kbd{echo 'xxAA  xxBxx  C' |}
 @print{} -->xxBxx<--
 @print{} -->C<--
 @end example
address@hidden ENDOFRANGE regexpfs
address@hidden ENDOFRANGE fsregexp
 
 @node Single Character Fields
 @subsection Making Each Character a Separate Field
@@ -7271,8 +7226,6 @@ do it for you (e.g., @samp{FS = "[c]"}).  In this case, 
@code{IGNORECASE}
 will take effect.
 @end sidebar
 
address@hidden ENDOFRANGE fisepr
address@hidden ENDOFRANGE fisepg
 
 @node Constant Size
 @section Reading Fixed-Width Data
@@ -7536,11 +7489,8 @@ last assigned to.
 @section Multiple-Line Records
 
 @cindex multiple-line records
address@hidden STARTOFRANGE recm
 @cindex records, multiline
address@hidden STARTOFRANGE imr
 @cindex input, multiline records
address@hidden STARTOFRANGE frm
 @cindex files, reading, multiline records
 @cindex input, files, See input files
 In some databases, a single line cannot conveniently hold all the
@@ -7707,16 +7657,11 @@ If not in compatibility mode (@pxref{Options}), 
@command{gawk} sets
 @code{RT} to the input text that matched the value specified by @code{RS}.
 But if the input file ended without any text that matches @code{RS},
 then @command{gawk} sets @code{RT} to the null string.
address@hidden ENDOFRANGE recm
address@hidden ENDOFRANGE imr
address@hidden ENDOFRANGE frm
 
 @node Getline
 @section Explicit Input with @code{getline}
 
address@hidden STARTOFRANGE getl
 @cindex @code{getline} command, explicit input with
address@hidden STARTOFRANGE inex
 @cindex input, explicit
 So far we have been getting our input data from @command{awk}'s main
 input stream---either the standard input (usually your keyboard, sometimes
@@ -8306,9 +8251,6 @@ Note: for each variant, @command{gawk} sets the @code{RT} 
predefined variable.
 @item @var{command} @code{|& getline} @var{var} @tab Sets @var{var} and 
@code{RT} @tab @command{gawk}
 @end multitable
 @end float
address@hidden ENDOFRANGE getl
address@hidden ENDOFRANGE inex
address@hidden ENDOFRANGE infir
 
 @node Read Timeout
 @section Reading Input with a Timeout
@@ -8543,7 +8485,6 @@ That can be fixed by making one simple change. What is it?
 @node Printing
 @chapter Printing Output
 
address@hidden STARTOFRANGE prnt
 @cindex printing
 @cindex output, printing, See printing
 One of the most common programming actions is to @dfn{print}, or output,
@@ -8559,7 +8500,6 @@ columns, whether to use exponential notation or not, and 
so on.
 For printing with specifications, you need the @code{printf} statement
 (@pxref{Printf}).
 
address@hidden STARTOFRANGE prnts
 @cindex @code{print} statement
 @cindex @code{printf} statement
 Besides basic and formatted printing, this @value{CHAPTER}
@@ -8739,7 +8679,6 @@ You can continue either a @code{print} or
 @code{printf} statement simply by putting a newline after any comma
 (@pxref{Statements/Lines}).
 @end quotation
address@hidden ENDOFRANGE prnts
 
 @node Output Separators
 @section Output Separators
@@ -8852,7 +8791,6 @@ if @code{OFMT} contains anything but a floating-point 
conversion specification.
 @node Printf
 @section Using @code{printf} Statements for Fancier Printing
 
address@hidden STARTOFRANGE printfs
 @cindex @code{printf} statement
 @cindex output, formatted
 @cindex formatting output
@@ -9050,7 +8988,6 @@ values or do something else entirely.
 @node Format Modifiers
 @subsection Modifiers for @code{printf} Formats
 
address@hidden STARTOFRANGE pfm
 @cindex @code{printf} statement, modifiers
 @cindex address@hidden in format specifiers
 A format specification can also include @dfn{modifiers} that can control
@@ -9256,7 +9193,6 @@ format strings. These are not valid in @command{awk}.  
Most @command{awk}
 implementations silently ignore them.  If @option{--lint} is provided
 on the command line (@pxref{Options}), @command{gawk} warns about their
 use. If @option{--posix} is supplied, their use is a fatal error.
address@hidden ENDOFRANGE pfm
 
 @node Printf Examples
 @subsection Examples Using @code{printf}
@@ -9337,14 +9273,11 @@ awk 'BEGIN @{ format = "%-10s %s\n"
            @{ printf format, $1, $2 @}' mail-list
 @end example
 
address@hidden ENDOFRANGE printfs
 
 @node Redirection
 @section Redirecting Output of @code{print} and @code{printf}
 
address@hidden STARTOFRANGE outre
 @cindex output redirection
address@hidden STARTOFRANGE reout
 @cindex redirection of output
 @cindex @option{--sandbox} option, output redirection with @code{print}, 
@code{printf}
 So far, the output from @code{print} and @code{printf} has gone
@@ -9561,8 +9494,6 @@ It then sends the list to the shell for execution.
 @DBXREF{Shell Quoting} for a function that can help in generating
 command lines to be fed to the shell.
 @end sidebar
address@hidden ENDOFRANGE outre
address@hidden ENDOFRANGE reout
 
 @node Special FD
 @section Special Files for Standard Pre-Opened Data Streams
@@ -9672,7 +9603,6 @@ invoked with the @option{--traditional} option 
(@pxref{Options}).
 
 @node Special Files
 @section Special @value{FFN}s in @command{gawk}
address@hidden STARTOFRANGE gfn
 @cindex @command{gawk}, file names in
 
 Besides access to standard input, standard output, and standard error,
@@ -9763,18 +9693,13 @@ the time this does not matter; however, it is important 
to @emph{not}
 close any of the files related to file descriptors 0, 1, and 2.
 Doing so results in unpredictable behavior.
 @end itemize
address@hidden ENDOFRANGE gfn
 
 @node Close Files And Pipes
 @section Closing Input and Output Redirections
 @cindex files, output, See output files
address@hidden STARTOFRANGE ifc
 @cindex input files, closing
address@hidden STARTOFRANGE ofc
 @cindex output, address@hidden closing
address@hidden STARTOFRANGE pc
 @cindex pipe, closing
address@hidden STARTOFRANGE cc
 @cindex coprocesses, closing
 @cindex @code{getline} command, address@hidden using from
 
@@ -9988,10 +9913,6 @@ In POSIX mode (@pxref{Options}), @command{gawk} just 
returns zero
 when closing a pipe.
 @end sidebar
 
address@hidden ENDOFRANGE ifc
address@hidden ENDOFRANGE ofc
address@hidden ENDOFRANGE pc
address@hidden ENDOFRANGE cc
 
 @node Output Summary
 @section Summary
@@ -10055,11 +9976,9 @@ BEGIN @{ print "Serious error detected!" > /dev/stderr 
@}
 @end enumerate
 @c EXCLUDE END
 
address@hidden ENDOFRANGE prnt
 
 @node Expressions
 @chapter Expressions
address@hidden STARTOFRANGE exps
 @cindex expressions
 
 Expressions are the basic building blocks of @command{awk} patterns
@@ -10102,7 +10021,6 @@ which provide the values used in expressions.
 @node Constants
 @subsection Constant Expressions
 
address@hidden STARTOFRANGE cnst
 @cindex constants, types of
 
 The simplest type of expression is the @dfn{constant}, which always has
@@ -10259,7 +10177,6 @@ $ @kbd{gawk 'BEGIN @{ printf "0x11 is <%s>\n", 0x11 @}'}
 @node Regexp Constants
 @subsubsection Regular Expression Constants
 
address@hidden STARTOFRANGE rec
 @cindex regexp constants
 @cindex @code{~} (tilde), @code{~} operator
 @cindex tilde (@code{~}), @code{~} operator
@@ -10271,7 +10188,6 @@ slashes, such as @address@hidden/^beginning and 
end$/}}.  Most regexps used in
 matching operators can also match computed or dynamic regexps
 (which are typically just ordinary strings or variables that contain a regexp,
 but could be a more complex expression).
address@hidden ENDOFRANGE cnst
 
 @node Using Constant Regexps
 @subsection Using Regular Expression Constants
@@ -10382,7 +10298,6 @@ or not @code{$0} matches @code{/hi/}.
 @command{gawk} issues a warning when it sees a regexp constant used as
 a parameter to a user-defined function, because passing a truth value in
 this way is probably not what was intended.
address@hidden ENDOFRANGE rec
 
 @node Variables
 @subsection Variables
@@ -10948,11 +10863,8 @@ you're never quite sure what you'll get.
 
 @node Assignment Ops
 @subsection Assignment Expressions
address@hidden STARTOFRANGE asop
 @cindex assignment operators
address@hidden STARTOFRANGE opas
 @cindex operators, assignment
address@hidden STARTOFRANGE exas
 @cindex expressions, assignment
 @cindex @code{=} (equals sign), @code{=} operator
 @cindex equals sign (@code{=}), @code{=} operator
@@ -11206,16 +11118,11 @@ awk '/[=]=/' /dev/null
 @command{gawk} does not have this problem; BWK @command{awk}
 and @command{mawk} also do not.
 @end sidebar
address@hidden ENDOFRANGE exas
address@hidden ENDOFRANGE opas
address@hidden ENDOFRANGE asop
 
 @node Increment Ops
 @subsection Increment and Decrement Operators
 
address@hidden STARTOFRANGE inop
 @cindex increment operators
address@hidden STARTOFRANGE opde
 @cindex operators, decrement/increment
 @dfn{Increment} and @dfn{decrement operators} increase or decrease the value of
 a variable by one.  An assignment operator can do the same thing, so
@@ -11263,7 +11170,6 @@ just like variables.  (Use @samp{$(i++)} when you want 
to do a field reference
 and a variable increment at the same time.  The parentheses are necessary
 because of the precedence of the field reference operator @samp{$}.)
 
address@hidden STARTOFRANGE deop
 @cindex decrement operators
 The decrement operator @samp{--} works just like @samp{++}, except that
 it subtracts one instead of adding it.  As with @samp{++}, it can be used 
before
@@ -11339,9 +11245,6 @@ You should avoid such things in your own programs.
 @c You'll sleep better at night and be able to look at yourself
 @c in the mirror in the morning.
 @end sidebar
address@hidden ENDOFRANGE inop
address@hidden ENDOFRANGE opde
address@hidden ENDOFRANGE deop
 
 @node Truth Values and Conditions
 @section Truth Values and Conditions
@@ -11406,17 +11309,13 @@ the string constant @code{"0"} is actually true, 
because it is non-null.
 @author Douglas Adams, @cite{The Hitchhiker's Guide to the Galaxy}
 @end quotation
 
address@hidden STARTOFRANGE comex
 @cindex comparison expressions
address@hidden STARTOFRANGE excom
 @cindex expressions, comparison
 @cindex expressions, matching, See comparison expressions
 @cindex matching, expressions, See comparison expressions
 @cindex relational operators, See comparison operators
 @cindex operators, relational, See address@hidden comparison
address@hidden STARTOFRANGE varting
 @cindex variable typing
address@hidden STARTOFRANGE vartypc
 @cindex variables, types of, comparison expressions and
 Unlike other programming languages, @command{awk} variables do not have a
 fixed type. Instead, they can be either a number or a string, depending
@@ -11816,19 +11715,13 @@ $ @kbd{gawk --posix 'BEGIN @{ printf("ABC < abc = 
%s\n",}
 @print{} ABC < abc = FALSE
 @end example
 
address@hidden ENDOFRANGE comex
address@hidden ENDOFRANGE excom
address@hidden ENDOFRANGE vartypc
address@hidden ENDOFRANGE varting
 
 @node Boolean Ops
 @subsection Boolean Expressions
 @cindex and Boolean-logic operator
 @cindex or Boolean-logic operator
 @cindex not Boolean-logic operator
address@hidden STARTOFRANGE exbo
 @cindex expressions, Boolean
address@hidden STARTOFRANGE boex
 @cindex Boolean expressions
 @cindex operators, Boolean, See Boolean expressions
 @cindex Boolean operators, See Boolean expressions
@@ -11974,8 +11867,6 @@ next record, and start processing the rules over again 
at the top.
 The reason it's there is to avoid printing the bracketing
 @samp{START} and @samp{END} lines.
 @end quotation
address@hidden ENDOFRANGE exbo
address@hidden ENDOFRANGE boex
 
 @node Conditional Exp
 @subsection Conditional Expressions
@@ -12154,9 +12045,7 @@ $ @kbd{awk -f matchit.awk}
 
 @node Precedence
 @section Operator Precedence (How Operators Nest)
address@hidden STARTOFRANGE prec
 @cindex precedence
address@hidden STARTOFRANGE oppr
 @cindex operators, precedence
 
 @dfn{Operator precedence} determines how operators are grouped when
@@ -12341,8 +12230,6 @@ Assignment.  These operators group right-to-left.
 The @samp{|&}, @samp{**}, and @samp{**=} operators are not specified by POSIX.
 For maximum portability, do not use them.
 @end quotation
address@hidden ENDOFRANGE prec
address@hidden ENDOFRANGE oppr
 
 @node Locales
 @section Where You Are Makes a Difference
@@ -12446,11 +12333,9 @@ program, and occasionally the format for data read as 
input.
 
 @end itemize
 
address@hidden ENDOFRANGE exps
 
 @node Patterns and Actions
 @chapter Patterns, Actions, and Variables
address@hidden STARTOFRANGE pat
 @cindex patterns
 
 As you have already seen, each @command{awk} statement consists of
@@ -12746,9 +12631,7 @@ a range pattern.  @value{DARKCORNER}
 @node BEGIN/END
 @subsection The @code{BEGIN} and @code{END} Special Patterns
 
address@hidden STARTOFRANGE beg
 @cindex @code{BEGIN} pattern
address@hidden STARTOFRANGE end
 @cindex @code{END} pattern
 All the patterns described so far are for matching input records.
 The @code{BEGIN} and @code{END} special patterns are different.
@@ -12886,8 +12769,6 @@ are not valid in an @code{END} rule, because all the 
input has been read.
 @ifdocbook
 @DBREF{Nextfile Statement}.)
 @end ifdocbook
address@hidden ENDOFRANGE beg
address@hidden ENDOFRANGE end
 
 @node BEGINFILE/ENDFILE
 @subsection The @code{BEGINFILE} and @code{ENDFILE} Special Patterns
@@ -13008,7 +12889,6 @@ awk '@{ print $1 @}' mail-list
 
 @noindent
 prints the first field of every record.
address@hidden ENDOFRANGE pat
 
 @node Using Shell Variables
 @section Using Shell Variables in Programs
@@ -13157,11 +13037,8 @@ For deleting array elements.
 
 @node Statements
 @section Control Statements in Actions
address@hidden STARTOFRANGE csta
 @cindex control statements
address@hidden STARTOFRANGE acs
 @cindex statements, control, in actions
address@hidden STARTOFRANGE accs
 @cindex actions, control statements in
 
 @dfn{Control statements}, such as @code{if}, @code{while}, and so on,
@@ -13879,15 +13756,10 @@ Negative values, and values of 127 or greater, may 
not produce consistent
 results across different operating systems.
 @end quotation
 
address@hidden ENDOFRANGE csta
address@hidden ENDOFRANGE acs
address@hidden ENDOFRANGE accs
 
 @node Built-in Variables
 @section Predefined Variables
address@hidden STARTOFRANGE bvar
 @cindex predefined variables
address@hidden STARTOFRANGE varb
 @cindex variables, predefined
 
 Most @command{awk} variables are available to use for your own
@@ -13914,9 +13786,7 @@ their areas of activity.
 
 @node User-modified
 @subsection Built-In Variables That Control @command{awk}
address@hidden STARTOFRANGE bvaru
 @cindex predefined variables, user-modifiable
address@hidden STARTOFRANGE nmbv
 @cindex user-modifiable variables
 
 The following is an alphabetical list of variables that you can change to
@@ -14143,17 +14013,11 @@ marked string constants in the source text, as well 
as for the
 (@pxref{Internationalization}).
 The default value of @code{TEXTDOMAIN} is @code{"messages"}.
 @end table
address@hidden ENDOFRANGE bvar
address@hidden ENDOFRANGE varb
address@hidden ENDOFRANGE bvaru
address@hidden ENDOFRANGE nmbv
 
 @node Auto-set
 @subsection Built-In Variables That Convey Information
 
address@hidden STARTOFRANGE bvconi
 @cindex predefined variables, conveying information
address@hidden STARTOFRANGE vbconi
 @cindex variables, predefined conveying information
 The following is an alphabetical list of variables that @command{awk}
 sets automatically on certain occasions in order to provide
@@ -14561,8 +14425,6 @@ implementation issues.} neither @code{FUNCTAB} nor 
@code{SYMTAB}
 are available as elements within the @code{SYMTAB} array.
 @end quotation
 @end table
address@hidden ENDOFRANGE bvconi
address@hidden ENDOFRANGE vbconi
 
 @sidebar Changing @code{NR} and @code{FNR}
 @cindex @code{NR} variable, changing
@@ -14809,7 +14671,6 @@ control how @command{awk} will process the provided 
@value{DF}s.
 
 @node Arrays
 @chapter Arrays in @command{awk}
address@hidden STARTOFRANGE arrs
 @cindex arrays
 
 An @dfn{array} is a table of values called @dfn{elements}.  The
@@ -14931,9 +14792,7 @@ Only the values are stored; the indices are implicit 
from the order of
 the values. Here, 8 is the value at index zero, because 8 appears in the
 position with zero elements before it.
 
address@hidden STARTOFRANGE arrin
 @cindex arrays, indexing
address@hidden STARTOFRANGE inarr
 @cindex indexing arrays
 @cindex associative arrays
 @cindex arrays, associative
@@ -15136,8 +14995,6 @@ that array's indices are consecutive integers starting 
at one.
 
 @command{awk}'s arrays are efficient---the time to access an element
 is independent of the number of elements in the array.
address@hidden ENDOFRANGE arrin
address@hidden ENDOFRANGE inarr
 
 @node Reference to Elements
 @subsection Referring to an Array Element
@@ -16190,14 +16047,11 @@ element is itself a subarray.
 
 @end itemize
 
address@hidden ENDOFRANGE arrs
 
 @node Functions
 @chapter Functions
 
address@hidden STARTOFRANGE funcbi
 @cindex functions, built-in
address@hidden STARTOFRANGE bifunc
 @cindex built-in functions
 This @value{CHAPTER} describes @command{awk}'s built-in functions,
 which fall into three categories: numeric, string, and I/O.
@@ -17743,13 +17597,9 @@ you would see the latter (undesirable) output.
 @subsection Time Functions
 @cindex time functions
 
address@hidden STARTOFRANGE tst
 @cindex timestamps
address@hidden STARTOFRANGE logftst
 @cindex log files, timestamps in
address@hidden STARTOFRANGE filogtst
 @cindex files, address@hidden timestamps in
address@hidden STARTOFRANGE gawtst
 @cindex @command{gawk}, timestamps
 @cindex POSIX @command{awk}, timestamps and
 @code{awk} programs are commonly used to process log files
@@ -17827,7 +17677,6 @@ is out of range, @code{mktime()} returns @minus{}1.
 @cindex @command{gawk}, @code{PROCINFO} array in
 @cindex @code{PROCINFO} array
 @item @code{strftime(address@hidden address@hidden,} @var{timestamp} 
address@hidden,} @var{utc-flag}] ] address@hidden)}
address@hidden STARTOFRANGE strf
 @cindexgawkfunc{strftime}
 @cindex format time string
 Format the time specified by @var{timestamp}
@@ -18076,7 +17925,6 @@ The time as a decimal timestamp in seconds since the 
epoch.
 The date in VMS format (e.g., @samp{20-JUN-1991}).
 @end ignore
 @end table
address@hidden ENDOFRANGE strf
 
 Additionally, the alternative representations are recognized but their
 normal representations are used.
@@ -18127,23 +17975,14 @@ gawk 'BEGIN  @{
     exit exitval
 @}' "$@@"
 @end example
address@hidden ENDOFRANGE tst
address@hidden ENDOFRANGE logftst
address@hidden ENDOFRANGE filogtst
address@hidden ENDOFRANGE gawtst
 
 @node Bitwise Functions
 @subsection Bit-Manipulation Functions
 @cindex bit-manipulation functions
address@hidden STARTOFRANGE bit
 @cindex bitwise, operations
address@hidden STARTOFRANGE and
 @cindex AND bitwise operation
address@hidden STARTOFRANGE oro
 @cindex OR bitwise operation
address@hidden STARTOFRANGE xor
 @cindex XOR bitwise operation
address@hidden STARTOFRANGE opbit
 @cindex operations, bitwise
 @quotation
 @i{I can explain it for you, but I can't understand it for you.}
@@ -18435,11 +18274,6 @@ decimal and octal values for the same numbers
 (@pxref{Nondecimal-numbers}),
 and then demonstrates the
 results of the @code{compl()}, @code{lshift()}, and @code{rshift()} functions.
address@hidden ENDOFRANGE bit
address@hidden ENDOFRANGE and
address@hidden ENDOFRANGE oro
address@hidden ENDOFRANGE xor
address@hidden ENDOFRANGE opbit
 
 @node Type Functions
 @subsection Getting Type Information
@@ -18519,15 +18353,11 @@ variant of the same message.
 The default value for @var{domain} is the current value of @code{TEXTDOMAIN}.
 The default value for @var{category} is @code{"LC_MESSAGES"}.
 @end table
address@hidden ENDOFRANGE funcbi
address@hidden ENDOFRANGE bifunc
 
 @node User-defined
 @section User-Defined Functions
 
address@hidden STARTOFRANGE udfunc
 @cindex user-defined functions
address@hidden STARTOFRANGE funcud
 @cindex functions, user-defined
 Complicated @command{awk} programs can often be simplified by defining
 your own functions.  User-defined functions can be called just like
@@ -18552,7 +18382,6 @@ variable definitions is appallingly awful.}
 @author Brian Kernighan
 @end quotation
 
address@hidden STARTOFRANGE fdef
 @cindex functions, defining
 Definitions of functions can appear anywhere between the rules of an
 @command{awk} program.  Thus, the general form of an @command{awk} program is
@@ -18799,12 +18628,10 @@ You might think that @code{ctime()} could use 
@code{PROCINFO["strftime"]}
 for its format string. That would be a mistake, because @code{ctime()} is
 supposed to return the time formatted in a standard fashion, and user-level
 code could have changed @code{PROCINFO["strftime"]}.
address@hidden ENDOFRANGE fdef
 
 @node Function Caveats
 @subsection Calling User-Defined Functions
 
address@hidden STARTOFRANGE fudc
 @cindex functions, user-defined, calling
 @dfn{Calling a function} means causing the function to run and do its job.
 A function call is an expression and its value is the value returned by
@@ -19096,7 +18923,6 @@ or the @code{nextfile} statement
 @end ifnotdocbook
 inside a user-defined function.
 @command{gawk} does not have this limitation.
address@hidden ENDOFRANGE fudc
 
 @node Return Statement
 @subsection The @code{return} Statement
@@ -19224,7 +19050,6 @@ does report the second error.
 
 Usually, such things aren't a big issue, but it's worth
 being aware of them.
address@hidden ENDOFRANGE udfunc
 
 @node Indirect Calls
 @section Indirect Function Calls
@@ -19717,7 +19542,6 @@ program. This is equivalent to function pointers in C 
and C++.
 
 @end itemize
 
address@hidden ENDOFRANGE funcud
 
 @ifnotinfo
 @part @value{PART2}Problem Solving with @command{awk}
@@ -19739,11 +19563,8 @@ It contains the following chapters:
 
 @node Library Functions
 @chapter A Library of @command{awk} Functions
address@hidden STARTOFRANGE libf
 @cindex libraries of @command{awk} functions
address@hidden STARTOFRANGE flib
 @cindex functions, library
address@hidden STARTOFRANGE fudlib
 @cindex functions, user-defined, library of
 
 @DBREF{User-defined} describes how to write
@@ -20066,13 +19887,9 @@ be tested with @command{gawk} and the results compared 
to the built-in
 @node Assert Function
 @subsection Assertions
 
address@hidden STARTOFRANGE asse
 @cindex assertions
address@hidden STARTOFRANGE assef
 @cindex @code{assert()} function (C library)
address@hidden STARTOFRANGE libfass
 @cindex libraries of @command{awk} functions, assertions
address@hidden STARTOFRANGE flibass
 @cindex functions, library, assertions
 @cindex @command{awk} programs, lengthy, assertions
 When writing large programs, it is often useful to know
@@ -20188,10 +20005,6 @@ most likely causing the program to hang as it waits 
for input.
 There is a simple workaround to this:
 make sure that such a @code{BEGIN} rule always ends
 with an @code{exit} statement.
address@hidden ENDOFRANGE asse
address@hidden ENDOFRANGE assef
address@hidden ENDOFRANGE flibass
address@hidden ENDOFRANGE libfass
 
 @node Round Function
 @subsection Rounding Numbers
@@ -20749,11 +20562,8 @@ function shell_quote(s,             # parameter
 @node Data File Management
 @section @value{DDF} Management
 
address@hidden STARTOFRANGE dataf
 @cindex files, managing
address@hidden STARTOFRANGE libfdataf
 @cindex libraries of @command{awk} functions, managing, data files
address@hidden STARTOFRANGE flibdataf
 @cindex functions, library, managing data files
 This @value{SECTION} presents functions that are useful for managing
 command-line @value{DF}s.
@@ -21116,22 +20926,14 @@ The use of @code{No_command_assign} allows you to 
disable command-line
 assignments at invocation time, by giving the variable a true value.
 When not set, it is initially zero (i.e., false), so the command-line arguments
 are left alone.
address@hidden ENDOFRANGE dataf
address@hidden ENDOFRANGE flibdataf
address@hidden ENDOFRANGE libfdataf
 
 @node Getopt Function
 @section Processing Command-Line Options
 
address@hidden STARTOFRANGE libfclo
 @cindex libraries of @command{awk} functions, command-line options
address@hidden STARTOFRANGE flibclo
 @cindex functions, library, command-line options
address@hidden STARTOFRANGE clop
 @cindex command-line options, processing
address@hidden STARTOFRANGE oclp
 @cindex options, command-line, processing
address@hidden STARTOFRANGE clibf
 @cindex functions, library, C library
 @cindex arguments, processing
 Most utilities on POSIX-compatible systems take options on
@@ -21483,21 +21285,13 @@ further options
 Several of the sample programs presented in
 @ref{Sample Programs},
 use @code{getopt()} to process their arguments.
address@hidden ENDOFRANGE libfclo
address@hidden ENDOFRANGE flibclo
address@hidden ENDOFRANGE clop
address@hidden ENDOFRANGE oclp
 
 @node Passwd Functions
 @section Reading the User Database
 
address@hidden STARTOFRANGE libfudata
 @cindex libraries of @command{awk} functions, user database, reading
address@hidden STARTOFRANGE flibudata
 @cindex functions, library, user address@hidden reading
address@hidden STARTOFRANGE udatar
 @cindex user address@hidden reading
address@hidden STARTOFRANGE dataur
 @cindex database, address@hidden reading
 @cindex @code{PROCINFO} array
 The @code{PROCINFO} array
@@ -21844,21 +21638,13 @@ and such a change would clutter up the code.
 
 The @command{id} program in @DBREF{Id Program}
 uses these functions.
address@hidden ENDOFRANGE libfudata
address@hidden ENDOFRANGE flibudata
address@hidden ENDOFRANGE udatar
address@hidden ENDOFRANGE dataur
 
 @node Group Functions
 @section Reading the Group Database
 
address@hidden STARTOFRANGE libfgdata
 @cindex libraries of @command{awk} functions, group database, reading
address@hidden STARTOFRANGE flibgdata
 @cindex functions, library, group address@hidden reading
address@hidden STARTOFRANGE gdatar
 @cindex group database, reading
address@hidden STARTOFRANGE datagr
 @cindex database, group, reading
 @cindex @code{PROCINFO} array, and group membership
 @cindex @code{getgrent()} function (C library)
@@ -22181,7 +21967,6 @@ function getgrent()
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE clibf
 
 @cindex @code{endgrent()} function (C library)
 The @code{endgrent()} function resets @code{_gr_count} to zero so that 
@code{getgrent()} can
@@ -22270,10 +22055,6 @@ $ @kbd{gawk -f walk_array.awk}
 @print{} a[4][2] = 42
 @end example
 
address@hidden ENDOFRANGE libfgdata
address@hidden ENDOFRANGE flibgdata
address@hidden ENDOFRANGE gdatar
address@hidden ENDOFRANGE libf
 
 @node Library Functions Summary
 @section Summary
@@ -22387,13 +22168,9 @@ output identical to that of the original version.
 @end enumerate
 @c EXCLUDE END
 
address@hidden ENDOFRANGE flib
address@hidden ENDOFRANGE fudlib
address@hidden ENDOFRANGE datagr
 
 @node Sample Programs
 @chapter Practical @command{awk} Programs
address@hidden STARTOFRANGE awkpex
 @cindex @command{awk} programs, examples of
 
 @c FULLXREF ON
@@ -22463,7 +22240,6 @@ cut.awk -- -c1-8 myfiles > results
 
 @node Clones
 @section Reinventing Wheels for Fun and Profit
address@hidden STARTOFRANGE posimawk
 @cindex POSIX, address@hidden implementing in @command{awk}
 
 This @value{SECTION} presents a number of POSIX utilities implemented in
@@ -22494,11 +22270,8 @@ The programs are presented in alphabetical order.
 @subsection Cutting Out Fields and Columns
 
 @cindex @command{cut} utility
address@hidden STARTOFRANGE cut
 @cindex @command{cut} utility
address@hidden STARTOFRANGE ficut
 @cindex fields, cutting
address@hidden STARTOFRANGE colcut
 @cindex columns, cutting
 The @command{cut} utility selects, or ``cuts,'' characters or fields
 from its standard input and sends them to its standard output.
@@ -22806,21 +22579,14 @@ other @command{awk} implementations to use 
@code{substr()}
 it is also extremely painful.
 The @code{FIELDWIDTHS} variable supplies an elegant solution to the problem
 of picking the input line apart by characters.
address@hidden ENDOFRANGE cut
address@hidden ENDOFRANGE ficut
address@hidden ENDOFRANGE colcut
 
 
 @node Egrep Program
 @subsection Searching for Regular Expressions in Files
 
address@hidden STARTOFRANGE regexps
 @cindex regular expressions, searching for
address@hidden STARTOFRANGE sfregexp
 @cindex searching, files for regular expressions
address@hidden STARTOFRANGE fsregexp
 @cindex files, searching for regular expressions
address@hidden STARTOFRANGE egrep
 @cindex @command{egrep} utility
 The @command{egrep} utility searches files for patterns.  It uses regular
 expressions that are almost identical to those available in @command{awk}
@@ -23088,17 +22854,12 @@ function usage()
 @c endfile
 @end example
 
address@hidden ENDOFRANGE regexps
address@hidden ENDOFRANGE sfregexp
address@hidden ENDOFRANGE fsregexp
address@hidden ENDOFRANGE egrep
 
 @node Id Program
 @subsection Printing Out User Information
 
 @cindex printing, user information
 @cindex users, information about, printing
address@hidden STARTOFRANGE id
 @cindex @command{id} utility
 The @command{id} utility lists a user's real and effective user ID numbers,
 real and effective group ID numbers, and the user's group set, if any.
@@ -23227,16 +22988,13 @@ code that is used repeatedly, making the whole program
 shorter and cleaner. In particular, moving the check for
 the empty string into this function saves several lines of code.
 
address@hidden ENDOFRANGE id
 
 @node Split Program
 @subsection Splitting a Large File into Pieces
 
 @c FIXME: One day, update to current POSIX version of split
 
address@hidden STARTOFRANGE filspl
 @cindex files, splitting
address@hidden STARTOFRANGE split
 @cindex @code{split} utility
 The @command{split} program splits large text files into smaller pieces.
 Usage is as follows:@footnote{This is the traditional usage. The
@@ -23371,15 +23129,12 @@ You might want to consider how to eliminate the use of
 way as to solve the EBCDIC issue as well.
 @end ifset
 
address@hidden ENDOFRANGE filspl
address@hidden ENDOFRANGE split
 
 @node Tee Program
 @subsection Duplicating Output into Multiple Files
 
 @cindex files, address@hidden duplicating output into
 @cindex output, duplicating into files
address@hidden STARTOFRANGE tee
 @cindex @code{tee} utility
 The @code{tee} program is known as a ``pipe fitting.''  @code{tee} copies
 its standard input to its standard output and also duplicates it to the
@@ -23492,18 +23247,14 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE tee
 
 @node Uniq Program
 @subsection Printing Nonduplicated Lines of Text
 
 @c FIXME: One day, update to current POSIX version of uniq
 
address@hidden STARTOFRANGE prunt
 @cindex printing, unduplicated lines of text
address@hidden STARTOFRANGE tpul
 @cindex address@hidden printing, unduplicated lines of
address@hidden STARTOFRANGE uniq
 @cindex @command{uniq} utility
 The @command{uniq} utility reads sorted lines of data on its standard
 input, and by default removes duplicate lines.  In other words, it only
@@ -23772,26 +23523,17 @@ suggestion.
 @end ifset
 
 
address@hidden ENDOFRANGE prunt
address@hidden ENDOFRANGE tpul
address@hidden ENDOFRANGE uniq
 
 @node Wc Program
 @subsection Counting Things
 
 @c FIXME: One day, update to current POSIX version of wc
 
address@hidden STARTOFRANGE count
 @cindex counting
address@hidden STARTOFRANGE infco
 @cindex input files, counting elements in
address@hidden STARTOFRANGE woco
 @cindex words, counting
address@hidden STARTOFRANGE chco
 @cindex characters, counting
address@hidden STARTOFRANGE lico
 @cindex lines, counting
address@hidden STARTOFRANGE wc
 @cindex @command{wc} utility
 The @command{wc} (word count) utility counts lines, words, and characters in
 one or more input files. Its usage is as follows:
@@ -23961,13 +23703,6 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE count
address@hidden ENDOFRANGE infco
address@hidden ENDOFRANGE lico
address@hidden ENDOFRANGE woco
address@hidden ENDOFRANGE chco
address@hidden ENDOFRANGE wc
address@hidden ENDOFRANGE posimawk
 
 @node Miscellaneous Programs
 @section A Grab Bag of @command{awk} Programs
@@ -24098,9 +23833,7 @@ Aharon Robbins <address@hidden> wrote:
 @author Erik Quanstrom
 @end quotation
 
address@hidden STARTOFRANGE tialarm
 @cindex time, alarm clock example program
address@hidden STARTOFRANGE alaex
 @cindex alarm clock example program
 The following program is a simple ``alarm clock'' program.
 You give it a time of day and an optional message.  At the specified time,
@@ -24252,15 +23985,11 @@ seconds are necessary:
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE tialarm
address@hidden ENDOFRANGE alaex
 
 @node Translate Program
 @subsection Transliterating Characters
 
address@hidden STARTOFRANGE chtra
 @cindex characters, transliterating
address@hidden STARTOFRANGE tr
 @cindex @command{tr} utility
 The system @command{tr} utility transliterates characters.  For example, it is
 often used to map uppercase letters into lowercase for further processing:
@@ -24408,15 +24137,11 @@ such as @samp{a-z}, as allowed by the @command{tr} 
utility.
 Look at the code for @file{cut.awk} (@pxref{Cut Program})
 for inspiration.
 
address@hidden ENDOFRANGE chtra
address@hidden ENDOFRANGE tr
 
 @node Labels Program
 @subsection Printing Mailing Labels
 
address@hidden STARTOFRANGE prml
 @cindex printing, mailing labels
address@hidden STARTOFRANGE mlprint
 @cindex mailing address@hidden printing
 Here is a ``real world''@footnote{``Real world'' is defined as
 ``a program actually used to get something done.''}
@@ -24480,7 +24205,6 @@ that there are two blank lines at the top and two blank 
lines at the bottom.
 The @code{END} rule arranges to flush the final page of labels; there may
 not have been an even multiple of 20 labels in the data:
 
address@hidden STARTOFRANGE labels
 @cindex @code{labels.awk} program
 @example
 @c file eg/prog/labels.awk
@@ -24545,14 +24269,10 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE prml
address@hidden ENDOFRANGE mlprint
address@hidden ENDOFRANGE labels
 
 @node Word Sorting
 @subsection Generating Word-Usage Counts
 
address@hidden STARTOFRANGE worus
 @cindex words, usage address@hidden generating
 
 When working with large amounts of text, it can be interesting to know
@@ -24614,7 +24334,6 @@ to remove punctuation characters.  Finally, we solve 
the third problem
 by using the system @command{sort} utility to process the output of the
 @command{awk} script.  Here is the new version of the program:
 
address@hidden STARTOFRANGE wordfreq
 @cindex @code{wordfreq.awk} program
 @example
 @c file eg/prog/wordfreq.awk
@@ -24679,13 +24398,10 @@ This way of sorting must be used on systems that do 
not
 have true pipes at the command-line (or batch-file) level.
 See the general operating system documentation for more information on how
 to use the @command{sort} program.
address@hidden ENDOFRANGE worus
address@hidden ENDOFRANGE wordfreq
 
 @node History Sorting
 @subsection Removing Duplicates from Unsorted Text
 
address@hidden STARTOFRANGE lidu
 @cindex lines, address@hidden removing
 The @command{uniq} program
 (@pxref{Uniq Program}),
@@ -24710,7 +24426,6 @@ Each element of @code{lines} is a unique command, and 
the indices of
 The @code{END} rule simply prints out the lines, in order:
 
 @cindex Rakitzis, Byron
address@hidden STARTOFRANGE histsort
 @cindex @code{histsort.awk} program
 @example
 @c file eg/prog/histsort.awk
@@ -24753,15 +24468,11 @@ print data[lines[i]], lines[i]
 @noindent
 This works because @code{data[$0]} is incremented each time a line is
 seen.
address@hidden ENDOFRANGE lidu
address@hidden ENDOFRANGE histsort
 
 @node Extract Program
 @subsection Extracting Programs from Texinfo Source Files
 
address@hidden STARTOFRANGE texse
 @cindex Texinfo, extracting programs from source files
address@hidden STARTOFRANGE fitex
 @cindex files, address@hidden extracting programs from
 @ifnotinfo
 Both this chapter and the previous chapter
@@ -24865,7 +24576,6 @@ The first rule handles calling @code{system()}, 
checking that a command is
 given (@code{NF} is at least three) and also checking that the command
 exits with a zero exit status, signifying OK:
 
address@hidden STARTOFRANGE extract
 @cindex @code{extract.awk} program
 @example
 @c file eg/prog/extract.awk
@@ -25011,9 +24721,6 @@ END @{
 @}
 @c endfile
 @end example
address@hidden ENDOFRANGE texse
address@hidden ENDOFRANGE fitex
address@hidden ENDOFRANGE extract
 
 @node Simple Sed
 @subsection A Simple Stream Editor
@@ -25043,7 +24750,6 @@ additional arguments are treated as @value{DF} names to 
process. If none
 are provided, the standard input is used:
 
 @cindex Brennan, Michael
address@hidden STARTOFRANGE awksed
 @cindex @command{awksed.awk} program
 @c @cindex simple stream editor
 @c @cindex stream editor, simple
@@ -25120,14 +24826,11 @@ The @code{usage()} function prints an error message 
and exits.
 Finally, the single rule handles the printing scheme outlined earlier,
 using @code{print} or @code{printf} as appropriate, depending upon the
 value of @code{RT}.
address@hidden ENDOFRANGE awksed
 
 @node Igawk Program
 @subsection An Easy Way to Use Library Functions
 
address@hidden STARTOFRANGE libfex
 @cindex libraries of @command{awk} functions, example program for using
address@hidden STARTOFRANGE flibex
 @cindex functions, library, example program for using
 In @ref{Include Files}, we saw how @command{gawk} provides a built-in
 file-inclusion capability.  However, this is a @command{gawk} extension.
@@ -25266,7 +24969,6 @@ program.
 
 The program is as follows:
 
address@hidden STARTOFRANGE igawk
 @cindex @code{igawk.sh} program
 @example
 @c file eg/prog/igawk.sh
@@ -25591,10 +25293,6 @@ features to a program; they can often be layered on 
address@hidden@command{gawk}
 does @code{@@include} processing itself in order to support the use
 of @command{awk} programs as Web CGI scripts.}
 
address@hidden ENDOFRANGE libfex
address@hidden ENDOFRANGE flibex
address@hidden ENDOFRANGE awkpex
address@hidden ENDOFRANGE igawk
 
 @node Anagram Program
 @subsection Finding Anagrams from a Dictionary
@@ -25618,7 +25316,6 @@ The following program uses arrays of arrays to bring 
together
 words with the same signature and array sorting to print the words
 in sorted order:
 
address@hidden STARTOFRANGE anagram
 @cindex @code{anagram.awk} program
 @example
 @c file eg/prog/anagram.awk
@@ -25727,7 +25424,6 @@ babery yabber
 @dots{}
 @end example
 
address@hidden ENDOFRANGE anagram
 
 @node Signature Program
 @subsection And Now for Something Completely Different
@@ -26047,9 +25743,7 @@ It contains the following chapters:
 
 @node Advanced Features
 @chapter Advanced Features of @command{gawk}
address@hidden STARTOFRANGE gawadv
 @cindex @command{gawk}, features, advanced
address@hidden STARTOFRANGE advgaw
 @cindex advanced features, @command{gawk}
 @ignore
 Contributed by: Peter Langston <address@hidden>
@@ -26759,7 +26453,6 @@ using regular pipes.
 @section Using @command{gawk} for Network Programming
 @cindex advanced features, network programming
 @cindex networks, programming
address@hidden STARTOFRANGE tcpip
 @cindex TCP/IP
 @cindex @code{/inet/@dots{}} special files (@command{gawk})
 @cindex files, @code{/inet/@dots{}} (@command{gawk})
@@ -26876,13 +26569,10 @@ which comes as part of the @command{gawk} 
distribution,
 for a much more complete introduction and discussion, as well as
 extensive examples.
 
address@hidden ENDOFRANGE tcpip
 
 @node Profiling
 @section Profiling Your @command{awk} Programs
address@hidden STARTOFRANGE awkp
 @cindex @command{awk} programs, profiling
address@hidden STARTOFRANGE proawk
 @cindex profiling @command{awk} programs
 @cindex @code{awkprof.out} file
 @cindex files, @code{awkprof.out}
@@ -27193,8 +26883,6 @@ When called this way, @command{gawk} ``pretty prints'' 
the program into
 The @option{--pretty-print} option still runs your program.
 This will change in the next major release.
 @end quotation
address@hidden ENDOFRANGE awkp
address@hidden ENDOFRANGE proawk
 
 @node Advanced Features Summary
 @section Summary
@@ -27241,8 +26929,6 @@ the program, but that will change in the next major 
release.
 
 @end itemize
 
address@hidden ENDOFRANGE advgaw
address@hidden ENDOFRANGE gawadv
 
 @node Internationalization
 @chapter Internationalization with @command{gawk}
@@ -27255,7 +26941,6 @@ countries, they were able to sell more systems.
 As a result, internationalization and localization
 of programs and software systems became a common practice.
 
address@hidden STARTOFRANGE inloc
 @cindex internationalization, localization
 @cindex @command{gawk}, internationalization and, See internationalization
 @cindex internationalization, localization, @command{gawk} and
@@ -27300,7 +26985,6 @@ monetary values are printed and read.
 @section GNU @command{gettext}
 
 @cindex internationalizing a program
address@hidden STARTOFRANGE gettex
 @cindex @command{gettext} library
 @command{gawk} uses GNU @command{gettext} to provide its internationalization
 features.
@@ -27352,7 +27036,6 @@ lookup of the translations.
 
 @cindex @code{.po} files
 @cindex files, @code{.po}
address@hidden STARTOFRANGE portobfi
 @cindex portable object files
 @cindex files, portable object
 @item
@@ -27364,7 +27047,6 @@ For example, there might be a @file{fr.po} for a French 
translation.
 @cindex @code{.gmo} files
 @cindex files, @code{.gmo}
 @cindex message object files
address@hidden STARTOFRANGE portmsgfi
 @cindex files, message object
 @item
 Each language's @file{.po} file is converted into a binary
@@ -27492,11 +27174,9 @@ before or after the day in a date, local month 
abbreviations, and so on.
 @item LC_ALL
 All of the above.  (Not too useful in the context of @command{gettext}.)
 @end table
address@hidden ENDOFRANGE gettex
 
 @node Programmer i18n
 @section Internationalizing @command{awk} Programs
address@hidden STARTOFRANGE inap
 @cindex @command{awk} programs, internationalizing
 
 @command{gawk} provides the following variables and functions for
@@ -27729,8 +27409,6 @@ to provide you translations that you can also then 
distribute.
 @DBXREF{I18N Example}
 for the full list of steps to go through to create and test
 translations for @command{guide}.
address@hidden ENDOFRANGE portobfi
address@hidden ENDOFRANGE portmsgfi
 
 @node Printf Ordering
 @subsection Rearranging @code{printf} Arguments
@@ -27906,7 +27584,6 @@ However, because the positional specifications are 
primarily for use in
 @emph{translated} format strings, and because non-GNU @command{awk}s never
 retrieve the translated string, this should not be a problem in practice.
 @end itemize
address@hidden ENDOFRANGE inap
 
 @node I18N Example
 @section A Simple Internationalization Example
@@ -28102,7 +27779,6 @@ a number of translations for its messages.
 
 @end itemize
 
address@hidden ENDOFRANGE inloc
 
 @node Debugger
 @chapter Debugging @command{awk} Programs
@@ -34535,9 +34211,7 @@ online documentation}.
 
 @node V7/SVR3.1
 @appendixsec Major Changes Between V7 and SVR3.1
address@hidden STARTOFRANGE gawkv
 @cindex @command{awk}, versions of
address@hidden STARTOFRANGE gawkv1
 @cindex @command{awk}, versions of, changes between V7 and SVR3.1
 
 The @command{awk} language evolved considerably between the release of
@@ -34624,7 +34298,6 @@ Multiple @code{BEGIN} and @code{END} rules
 Multidimensional arrays
 (@pxref{Multidimensional}).
 @end itemize
address@hidden ENDOFRANGE gawkv1
 
 @node SVR4
 @appendixsec Changes Between SVR3.1 and SVR4
@@ -34739,7 +34412,6 @@ not permitted by the POSIX standard.
 The 2008 POSIX standard can be found online at
 @url{http://www.opengroup.org/onlinepubs/9699919799/}.
 
address@hidden ENDOFRANGE gawkv
 
 @node BTL
 @appendixsec Extensions in Brian Kernighan's @command{awk}
@@ -34785,11 +34457,8 @@ available in his @command{awk}.
 @node POSIX/GNU
 @appendixsec Extensions in @command{gawk} Not in POSIX @command{awk}
 
address@hidden STARTOFRANGE fripls
 @cindex compatibility mode (@command{gawk}), extensions
address@hidden STARTOFRANGE exgnot
 @cindex extensions, in @command{gawk}, not in POSIX @command{awk}
address@hidden STARTOFRANGE posnot
 @cindex POSIX, @command{gawk} extensions not included in
 The GNU implementation, @command{gawk}, adds a large number of features.
 They can all be disabled with either the @option{--traditional} or
@@ -35099,9 +34768,6 @@ Ultrix
 
 @c XXX ADD MORE STUFF HERE
 
address@hidden ENDOFRANGE fripls
address@hidden ENDOFRANGE exgnot
address@hidden ENDOFRANGE posnot
 
 @c This does not need to be in the formal book.
 @ifclear FOR_PRINT
@@ -36150,9 +35816,7 @@ the appropriate credit where credit is due.
 
 @c last two commas are part of see also
 @cindex operating systems, See Also GNU/address@hidden PC operating 
address@hidden Unix
address@hidden STARTOFRANGE gligawk
 @cindex @command{gawk}, installing
address@hidden STARTOFRANGE ingawk
 @cindex installing @command{gawk}
 This appendix provides instructions for installing @command{gawk} on the
 various platforms that are supported by the developers.  The primary
@@ -36262,7 +35926,6 @@ a local expert.
 
 @node Distribution contents
 @appendixsubsec Contents of the @command{gawk} Distribution
address@hidden STARTOFRANGE gawdis
 @cindex @command{gawk}, distribution
 
 The @command{gawk} distribution has a number of C source files,
@@ -36455,7 +36118,6 @@ directory to run your version of @command{gawk} against 
the test suite.
 If @command{gawk} successfully passes @samp{make check}, then you can
 be confident of a successful port.
 @end table
address@hidden ENDOFRANGE gawdis
 
 @node Unix Installation
 @appendixsec Compiling and Installing @command{gawk} on Unix-Like Systems
@@ -36881,9 +36543,7 @@ multibyte functionality is not available.
 
 @node PC Using
 @appendixsubsubsec Using @command{gawk} on PC Operating Systems
address@hidden STARTOFRANGE opgawx
 @cindex operating systems, PC, @command{gawk} on
address@hidden STARTOFRANGE pcgawon
 @cindex PC operating systems, @command{gawk} on
 
 Under MS-DOS and MS-Windows, the Cygwin and MinGW environments support
@@ -37391,8 +37051,6 @@ $ @kbd{gawk :== 
$sys$common:[syshlp.examples.tcpip.snmp]gawk.exe}
 This is apparently @value{PVERSION} 2.15.6, which is extremely old. We
 recommend compiling and using the current version.
 
address@hidden ENDOFRANGE opgawx
address@hidden ENDOFRANGE pcgawon
 
 @node Bugs
 @appendixsec Reporting Problems and Bugs
@@ -37403,9 +37061,7 @@ recommend compiling and using the current version.
 @end quotation
 @c the radio show, not the book. :-)
 
address@hidden STARTOFRANGE dbugg
 @cindex debugging @command{gawk}, bug reports
address@hidden STARTOFRANGE tblgawb
 @cindex troubleshooting, @command{gawk}, bug reports
 If you have problems with @command{gawk} or think that you have found a bug,
 report it to the developers; we cannot promise to do anything
@@ -37502,12 +37158,9 @@ The people maintaining the various @command{gawk} 
ports are:
 
 If your bug is also reproducible under Unix, send a copy of your
 report to the @EMAIL{bug-gawk@@gnu.org,bug-gawk at gnu dot org} email list as 
well.
address@hidden ENDOFRANGE dbugg
address@hidden ENDOFRANGE tblgawb
 
 @node Other Versions
 @appendixsec Other Freely Available @command{awk} Implementations
address@hidden STARTOFRANGE awkim
 @cindex @command{awk}, implementations
 @ignore
 From: emory!amc.com!brennan (Michael Brennan)
@@ -37728,7 +37381,6 @@ See also the ``Versions and implementations'' section 
of the
 Wikipedia article} for information on additional versions.
 
 @end table
address@hidden ENDOFRANGE awkim
 
 @node Installation summary
 @appendixsec Summary
@@ -37766,15 +37418,11 @@ implementations.  Many are POSIX compliant; others 
are less so.
 
 @end itemize
 
address@hidden ENDOFRANGE gligawk
address@hidden ENDOFRANGE ingawk
 
 @ifclear FOR_PRINT
 @node Notes
 @appendix Implementation Notes
address@hidden STARTOFRANGE gawii
 @cindex @command{gawk}, implementation issues
address@hidden STARTOFRANGE impis
 @cindex implementation issues, @command{gawk}
 
 This appendix contains information mainly of interest to implementers and
@@ -37879,11 +37527,8 @@ that has a Git plug-in for working with Git 
repositories.
 @node Adding Code
 @appendixsubsec Adding New Features
 
address@hidden STARTOFRANGE adfgaw
 @cindex adding, features to @command{gawk}
address@hidden STARTOFRANGE fadgaw
 @cindex features, adding to @command{gawk}
address@hidden STARTOFRANGE gawadf
 @cindex @command{gawk}, features, adding
 You are free to add any new features you like to @command{gawk}.
 However, if you want your changes to be incorporated into the @command{gawk}
@@ -38050,9 +37695,6 @@ Although this sounds like a lot of work, please 
remember that while you
 may write the new code, I have to maintain it and support it. If it
 isn't possible for me to do that with a minimum of extra work, then I
 probably will not.
address@hidden ENDOFRANGE adfgaw
address@hidden ENDOFRANGE gawadf
address@hidden ENDOFRANGE fadgaw
 
 @node New Ports
 @appendixsubsec Porting @command{gawk} to a New Operating System
@@ -38186,7 +37828,6 @@ coding style and brace layout that suits your taste.
 @node Derived Files
 @appendixsubsec Why Generated Files Are Kept In Git
 
address@hidden STARTOFRANGE gawkgit
 @cindex Git, use of for @command{gawk} source code
 @c From emails written March 22, 2012, to the gawk developers list.
 
@@ -38375,7 +38016,6 @@ wget 
http://git.savannah.gnu.org/cgit/gawk.git/snapshot/address@hidden
 
 @noindent
 to retrieve a snapshot of the given branch.
address@hidden ENDOFRANGE gawkgit
 
 @node Future Extensions
 @appendixsec Probable Future Extensions
@@ -38756,13 +38396,10 @@ of @command{gawk}, but it @emph{will} be removed in 
the next major release.
 
 @end itemize
 
address@hidden ENDOFRANGE impis
address@hidden ENDOFRANGE gawii
 
 @node Basic Concepts
 @appendix Basic Programming Concepts
 @cindex programming, concepts
address@hidden STARTOFRANGE procon
 @cindex programming, concepts
 
 This @value{APPENDIX} attempts to define some of the basic concepts
@@ -39000,7 +38637,6 @@ standard for C.  This standard became an ISO standard 
in 1990.
 In 1999, a revised ISO C standard was approved and released.
 Where it makes sense, POSIX @command{awk} is compatible with 1999 ISO C.
 
address@hidden ENDOFRANGE procon
 
 @node Glossary
 @unnumbered Glossary

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=1b2704c322317629cef59d247e45b3dba3c21992

commit 1b2704c322317629cef59d247e45b3dba3c21992
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Jan 21 08:44:37 2015 +0200

    More O'Reilly fixes.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index f6c1eaf..63f6cd0 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2015-01-21         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: O'Reilly fixes.
+
 2015-01-20         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: O'Reilly fixes.
diff --git a/doc/gawk.info b/doc/gawk.info
index b81c070..de00422 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 address@hidden' 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 address@hidden' 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
address@hidden' 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 address@hidden' 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 address@hidden' 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, address@hidden' 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 address@hidden'.
+always searched first for source files, before searching in `AWKPATH';
+this also applies to files named with address@hidden'.
 
 
 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 address@hidden' 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 afb9455..07630ed 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,
address@hidden Statement},
address@hidden Statement}
address@hidden
+and @DBREF{Nextfile Statement}.)
address@hidden ifdocbook
address@hidden
 and also @pxref{Nextfile Statement}.)
address@hidden 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 @address@hidden pairs.
+Programs in @command{awk} consist of @address@hidden 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,
address@hidden||}, @samp{&&}, @code{do} and @code{else}.
address@hidden||}, @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.
address@hidden Extensions}, for a summary of the extensions
address@hidden 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
address@hidden 4.1.2, this no longer happens, and if you wish to look
address@hidden 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
address@hidden, @option{-F} and @option{-v}.  @command{gawk} supplies these
address@hidden, @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), @address@hidden escape sequence
 @cindex backslash (@code{\}), @address@hidden 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 address@hidden,address@hidden
-Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy}, only.
+Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy} only.
 
 @item address@hidden,@}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)
address@hidden @code{[:punct:]} @tab Punctuation characters (characters that 
are not letters, digits
address@hidden @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
address@hidden://ftp.gnu.org/gnu/gettext/gettext-0.19.3.tar.gz,
address@hidden 0.19.3}.
address@hidden://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz,
address@hidden 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)
address@hidden Copyright (C) 1989, 1991-2014 Free Software Foundation.
address@hidden 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
address@hidden://git-scm.com/, Git distributed version control system}.
address@hidden://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 b346e21..4d11a08 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,
address@hidden Statement},
address@hidden Statement}
address@hidden
+and @DBREF{Nextfile Statement}.)
address@hidden ifdocbook
address@hidden
 and also @pxref{Nextfile Statement}.)
address@hidden 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 @address@hidden pairs.
+Programs in @command{awk} consist of @address@hidden 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,
address@hidden||}, @samp{&&}, @code{do} and @code{else}.
address@hidden||}, @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.
address@hidden Extensions}, for a summary of the extensions
address@hidden 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
address@hidden 4.1.2, this no longer happens, and if you wish to look
address@hidden 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
address@hidden, @option{-F} and @option{-v}.  @command{gawk} supplies these
address@hidden, @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), @address@hidden escape sequence
 @cindex backslash (@code{\}), @address@hidden 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 address@hidden,address@hidden
-Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy}, only.
+Matches @samp{whhhy}, @samp{whhhhy}, or @samp{whhhhhy} only.
 
 @item address@hidden,@}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)
address@hidden @code{[:punct:]} @tab Punctuation characters (characters that 
are not letters, digits
address@hidden @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
address@hidden://ftp.gnu.org/gnu/gettext/gettext-0.19.3.tar.gz,
address@hidden 0.19.3}.
address@hidden://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz,
address@hidden 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)
address@hidden Copyright (C) 1989, 1991-2014 Free Software Foundation.
address@hidden 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
address@hidden://git-scm.com/, Git distributed version control system}.
address@hidden://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:
 

-----------------------------------------------------------------------

Summary of changes:
 doc/ChangeLog   |    5 +
 doc/gawk.info   | 1161 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |  468 +++--------------------
 doc/gawktexi.in |  468 +++--------------------
 4 files changed, 696 insertions(+), 1406 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

[Prev in Thread] Current Thread [Next in Thread]