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-590


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-590-gcde2383
Date: Fri, 13 Feb 2015 09:21:24 +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  cde238397af273f91deeaadf7e87713fbcb8ffbb (commit)
       via  1d4fd43cb95fed18c9885ba5b30b28eb1f8f713b (commit)
      from  dea37a9bcb88cf1ba65c7ad5c439425352a01f40 (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=cde238397af273f91deeaadf7e87713fbcb8ffbb

commit cde238397af273f91deeaadf7e87713fbcb8ffbb
Author: Arnold D. Robbins <address@hidden>
Date:   Fri Feb 13 11:19:17 2015 +0200

    Through QC1 review of doc!

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9af9ef0..53dc566 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2015-02-13         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: O'Reilly fixes. Through QC1 review.
+
 2015-02-11         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: O'Reilly fixes.
diff --git a/doc/gawk.info b/doc/gawk.info
index 8061bbd..44fbd8d 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -26168,56 +26168,56 @@ available in System V Release 3.1 (1987).  This minor 
node summarizes
 the changes, with cross-references to further details:
 
    * The requirement for `;' to separate rules on a line (*note
-     Statements/Lines::).
+     Statements/Lines::)
 
    * User-defined functions and the `return' statement (*note
-     User-defined::).
+     User-defined::)
 
    * The `delete' statement (*note Delete::).
 
-   * The `do'-`while' statement (*note Do Statement::).
+   * The `do'-`while' statement (*note Do Statement::)
 
    * The built-in functions `atan2()', `cos()', `sin()', `rand()', and
-     `srand()' (*note Numeric Functions::).
+     `srand()' (*note Numeric Functions::)
 
    * The built-in functions `gsub()', `sub()', and `match()' (*note
-     String Functions::).
+     String Functions::)
 
    * The built-in functions `close()' and `system()' (*note I/O
-     Functions::).
+     Functions::)
 
    * The `ARGC', `ARGV', `FNR', `RLENGTH', `RSTART', and `SUBSEP'
-     predefined variables (*note Built-in Variables::).
+     predefined variables (*note Built-in Variables::)
 
-   * Assignable `$0' (*note Changing Fields::).
+   * Assignable `$0' (*note Changing Fields::)
 
    * The conditional expression using the ternary operator `?:' (*note
-     Conditional Exp::).
+     Conditional Exp::)
 
-   * The expression `INDEX-VARIABLE in ARRAY' outside of `for'
-     statements (*note Reference to Elements::).
+   * The expression `INDX in ARRAY' outside of `for' statements (*note
+     Reference to Elements::)
 
    * The exponentiation operator `^' (*note Arithmetic Ops::) and its
-     assignment operator form `^=' (*note Assignment Ops::).
+     assignment operator form `^=' (*note Assignment Ops::)
 
    * C-compatible operator precedence, which breaks some old `awk'
-     programs (*note Precedence::).
+     programs (*note Precedence::)
 
    * Regexps as the value of `FS' (*note Field Separators::) and as the
      third argument to the `split()' function (*note String
-     Functions::), rather than using only the first character of `FS'.
+     Functions::), rather than using only the first character of `FS'
 
    * Dynamic regexps as operands of the `~' and `!~' operators (*note
-     Computed Regexps::).
+     Computed Regexps::)
 
    * The escape sequences `\b', `\f', and `\r' (*note Escape
-     Sequences::).
+     Sequences::)
 
-   * Redirection of input for the `getline' function (*note Getline::).
+   * Redirection of input for the `getline' function (*note Getline::)
 
-   * Multiple `BEGIN' and `END' rules (*note BEGIN/END::).
+   * Multiple `BEGIN' and `END' rules (*note BEGIN/END::)
 
-   * Multidimensional arrays (*note Multidimensional::).
+   * Multidimensional arrays (*note Multidimensional::)
 
 
 File: gawk.info,  Node: SVR4,  Next: POSIX,  Prev: V7/SVR3.1,  Up: Language 
History
@@ -26228,37 +26228,37 @@ A.2 Changes Between SVR3.1 and SVR4
 The System V Release 4 (1989) version of Unix `awk' added these features
 (some of which originated in `gawk'):
 
-   * The `ENVIRON' array (*note Built-in Variables::).
+   * The `ENVIRON' array (*note Built-in Variables::)
 
-   * Multiple `-f' options on the command line (*note Options::).
+   * Multiple `-f' options on the command line (*note Options::)
 
    * The `-v' option for assigning variables before program execution
-     begins (*note Options::).
+     begins (*note Options::)
 
-   * The `--' signal for terminating command-line options.
+   * The `--' signal for terminating command-line options
 
    * The `\a', `\v', and `\x' escape sequences (*note Escape
-     Sequences::).
+     Sequences::)
 
    * A defined return value for the `srand()' built-in function (*note
-     Numeric Functions::).
+     Numeric Functions::)
 
    * The `toupper()' and `tolower()' built-in string functions for case
-     translation (*note String Functions::).
+     translation (*note String Functions::)
 
    * A cleaner specification for the `%c' format-control letter in the
-     `printf' function (*note Control Letters::).
+     `printf' function (*note Control Letters::)
 
    * The ability to dynamically pass the field width and precision
      (`"%*.*d"') in the argument list of `printf' and `sprintf()'
-     (*note Control Letters::).
+     (*note Control Letters::)
 
    * The use of regexp constants, such as `/foo/', as expressions, where
      they are equivalent to using the matching operator, as in `$0 ~
-     /foo/' (*note Using Constant Regexps::).
+     /foo/' (*note Using Constant Regexps::)
 
    * Processing of escape sequences inside command-line variable
-     assignments (*note Assignment Options::).
+     assignments (*note Assignment Options::)
 
 
 File: gawk.info,  Node: POSIX,  Next: BTL,  Prev: SVR4,  Up: Language History
@@ -26270,30 +26270,30 @@ The POSIX Command Language and Utilities standard for 
`awk' (1992)
 introduced the following changes into the language:
 
    * The use of `-W' for implementation-specific options (*note
-     Options::).
+     Options::)
 
    * The use of `CONVFMT' for controlling the conversion of numbers to
-     strings (*note Conversion::).
+     strings (*note Conversion::)
 
    * The concept of a numeric string and tighter comparison rules to go
-     with it (*note Typing and Comparison::).
+     with it (*note Typing and Comparison::)
 
    * The use of predefined variables as function parameter names is
-     forbidden (*note Definition Syntax::).
+     forbidden (*note Definition Syntax::)
 
    * More complete documentation of many of the previously undocumented
-     features of the language.
+     features of the language
 
    In 2012, a number of extensions that had been commonly available for
 many years were finally added to POSIX. They are:
 
    * The `fflush()' built-in function for flushing buffered output
-     (*note I/O Functions::).
+     (*note I/O Functions::)
 
-   * The `nextfile' statement (*note Nextfile Statement::).
+   * The `nextfile' statement (*note Nextfile Statement::)
 
    * The ability to delete all of an array at once with `delete ARRAY'
-     (*note Delete::).
+     (*note Delete::)
 
 
    *Note Common Extensions::, for a list of common extensions not
@@ -26315,13 +26315,13 @@ Other Versions::).
 in his version of `awk':
 
    * The `**' and `**=' operators (*note Arithmetic Ops:: and *note
-     Assignment Ops::).
+     Assignment Ops::)
 
    * The use of `func' as an abbreviation for `function' (*note
-     Definition Syntax::).
+     Definition Syntax::)
 
    * The `fflush()' built-in function for flushing buffered output
-     (*note I/O Functions::).
+     (*note I/O Functions::)
 
 
    *Note Common Extensions::, for a full list of the extensions
@@ -26343,104 +26343,102 @@ the current version of `gawk'.
 
    * Additional predefined variables:
 
-        - The `ARGIND' `BINMODE', `ERRNO', `FIELDWIDTHS', `FPAT',
+        - The `ARGIND', `BINMODE', `ERRNO', `FIELDWIDTHS', `FPAT',
           `IGNORECASE', `LINT', `PROCINFO', `RT', and `TEXTDOMAIN'
-          variables (*note Built-in Variables::).
+          variables (*note Built-in Variables::)
 
    * Special files in I/O redirections:
 
-        - The `/dev/stdin', `/dev/stdout', `/dev/stderr' and
-          `/dev/fd/N' special file names (*note Special Files::).
+        - The `/dev/stdin', `/dev/stdout', `/dev/stderr', and
+          `/dev/fd/N' special file names (*note Special Files::)
 
         - The `/inet', `/inet4', and `/inet6' special files for TCP/IP
           networking using `|&' to specify which version of the IP
-          protocol to use (*note TCP/IP Networking::).
+          protocol to use (*note TCP/IP Networking::)
 
    * Changes and/or additions to the language:
 
-        - The `\x' escape sequence (*note Escape Sequences::).
+        - The `\x' escape sequence (*note Escape Sequences::)
 
-        - Full support for both POSIX and GNU regexps (*note Regexp::).
+        - Full support for both POSIX and GNU regexps (*note Regexp::)
 
         - The ability for `FS' and for the third argument to `split()'
-          to be null strings (*note Single Character Fields::).
+          to be null strings (*note Single Character Fields::)
 
-        - The ability for `RS' to be a regexp (*note Records::).
+        - The ability for `RS' to be a regexp (*note Records::)
 
         - The ability to use octal and hexadecimal constants in `awk'
-          program source code (*note Nondecimal-numbers::).
+          program source code (*note Nondecimal-numbers::)
 
         - The `|&' operator for two-way I/O to a coprocess (*note
-          Two-way I/O::).
+          Two-way I/O::)
 
-        - Indirect function calls (*note Indirect Calls::).
+        - Indirect function calls (*note Indirect Calls::)
 
         - Directories on the command line produce a warning and are
-          skipped (*note Command-line directories::).
+          skipped (*note Command-line directories::)
 
    * New keywords:
 
         - The `BEGINFILE' and `ENDFILE' special patterns (*note
-          BEGINFILE/ENDFILE::).
+          BEGINFILE/ENDFILE::)
 
-        - The `switch' statement (*note Switch Statement::).
+        - The `switch' statement (*note Switch Statement::)
 
    * Changes to standard `awk' functions:
 
         - The optional second argument to `close()' that allows closing
-          one end of a two-way pipe to a coprocess (*note Two-way
-          I/O::).
+          one end of a two-way pipe to a coprocess (*note Two-way I/O::)
 
-        - POSIX compliance for `gsub()' and `sub()' with `--posix'.
+        - POSIX compliance for `gsub()' and `sub()' with `--posix'
 
         - The `length()' function accepts an array argument and returns
-          the number of elements in the array (*note String
-          Functions::).
+          the number of elements in the array (*note String Functions::)
 
         - The optional third argument to the `match()' function for
           capturing text-matching subexpressions within a regexp (*note
-          String Functions::).
+          String Functions::)
 
         - Positional specifiers in `printf' formats for making
-          translations easier (*note Printf Ordering::).
+          translations easier (*note Printf Ordering::)
 
-        - The `split()' function's additional optional fourth argument
+        - The `split()' function's additional optional fourth argument,
           which is an array to hold the text of the field separators
-          (*note String Functions::).
+          (*note String Functions::)
 
    * Additional functions only in `gawk':
 
         - The `gensub()', `patsplit()', and `strtonum()' functions for
-          more powerful text manipulation (*note String Functions::).
+          more powerful text manipulation (*note String Functions::)
 
         - The `asort()' and `asorti()' functions for sorting arrays
-          (*note Array Sorting::).
+          (*note Array Sorting::)
 
         - The `mktime()', `systime()', and `strftime()' functions for
-          working with timestamps (*note Time Functions::).
+          working with timestamps (*note Time Functions::)
 
         - The `and()', `compl()', `lshift()', `or()', `rshift()', and
           `xor()' functions for bit manipulation (*note Bitwise
-          Functions::).
+          Functions::)
 
         - The `isarray()' function to check if a variable is an array
-          or not (*note Type Functions::).
+          or not (*note Type Functions::)
 
-        - The `bindtextdomain()', `dcgettext()' and `dcngettext()'
-          functions for internationalization (*note Programmer i18n::).
+        - The `bindtextdomain()', `dcgettext()', and `dcngettext()'
+          functions for internationalization (*note Programmer i18n::)
 
    * Changes and/or additions in the command-line options:
 
         - The `AWKPATH' environment variable for specifying a path
-          search for the `-f' command-line option (*note Options::).
+          search for the `-f' command-line option (*note Options::)
 
         - The `AWKLIBPATH' environment variable for specifying a path
-          search for the `-l' command-line option (*note Options::).
+          search for the `-l' command-line option (*note Options::)
 
         - The `-b', `-c', `-C', `-d', `-D', `-e', `-E', `-g', `-h',
           `-i', `-l', `-L', `-M', `-n', `-N', `-o', `-O', `-p', `-P',
           `-r', `-S', `-t', and `-V' short options. Also, the ability
-          to use GNU-style long-named options that start with `--' and
+          to use GNU-style long-named options that start with `--', and
           the `--assign', `--bignum', `--characters-as-bytes',
           `--copyright', `--debug', `--dump-variables', `--exec',
           `--field-separator', `--file', `--gen-pot', `--help',
@@ -26478,8 +26476,8 @@ the current version of `gawk'.
         - GCC for VAX and Alpha has not been tested for a while.
 
 
-   * Support for the following obsolete systems was removed from the
-     code for `gawk' version 4.1:
+   * Support for the following obsolete system was removed from the code
+     for `gawk' version 4.1:
 
         - Ultrix
 
@@ -26879,22 +26877,22 @@ The following table summarizes the common extensions 
supported by
 `gawk', Brian Kernighan's `awk', and `mawk', the three most widely used
 freely available versions of `awk' (*note Other Versions::).
 
-Feature                      BWK Awk   Mawk   GNU Awk   Now standard
------------------------------------------------------------------------ 
-`\x' Escape sequence         X         X      X         
-`FS' as null string          X         X      X         
-`/dev/stdin' special file    X         X      X         
-`/dev/stdout' special file   X         X      X         
-`/dev/stderr' special file   X         X      X         
-`delete' without subscript   X         X      X         X
-`fflush()' function          X         X      X         X
-`length()' of an array       X         X      X         
-`nextfile' statement         X         X      X         X
-`**' and `**=' operators     X                X         
-`func' keyword               X                X         
-`BINMODE' variable                     X      X         
-`RS' as regexp                         X      X         
-Time-related functions                 X      X         
+Feature                      BWK `awk'   `mawk'   `gawk'   Now standard
+-------------------------------------------------------------------------- 
+`\x' escape sequence         X           X        X        
+`FS' as null string          X           X        X        
+`/dev/stdin' special file    X           X        X        
+`/dev/stdout' special file   X           X        X        
+`/dev/stderr' special file   X           X        X        
+`delete' without subscript   X           X        X        X
+`fflush()' function          X           X        X        X
+`length()' of an array       X           X        X        
+`nextfile' statement         X           X        X        X
+`**' and `**=' operators     X                    X        
+`func' keyword               X                    X        
+`BINMODE' variable                       X        X        
+`RS' as regexp                           X        X        
+Time-related functions                   X        X        
 
 
 File: gawk.info,  Node: Ranges and Locales,  Next: Contributors,  Prev: Common 
Extensions,  Up: Language History
@@ -26914,7 +26912,7 @@ in the machine's native character set.  Thus, on 
ASCII-based systems,
 `[a-z]' matched all the lowercase letters, and only the lowercase
 letters, as the numeric values for the letters from `a' through `z'
 were contiguous.  (On an EBCDIC system, the range `[a-z]' includes
-additional, non-alphabetic characters as well.)
+additional nonalphabetic characters as well.)
 
    Almost all introductory Unix literature explained range expressions
 as working in this fashion, and in particular, would teach that the
@@ -26938,7 +26936,7 @@ outside those locales, the ordering was defined to be 
based on
    What does that mean?  In many locales, `A' and `a' are both less
 than `B'.  In other words, these locales sort characters in dictionary
 order, and `[a-dx-z]' is typically not equivalent to `[abcdxyz]';
-instead it might be equivalent to `[ABCXYabcdxyz]', for example.
+instead, it might be equivalent to `[ABCXYabcdxyz]', for example.
 
    This point needs to be emphasized: much literature teaches that you
 should use `[a-z]' to match a lowercase character.  But on systems with
@@ -26962,17 +26960,17 @@ is perfectly valid in ASCII, but is not valid in many 
Unicode locales,
 such as `en_US.UTF-8'.
 
    Early versions of `gawk' used regexp matching code that was not
-locale aware, so ranges had their traditional interpretation.
+locale-aware, so ranges had their traditional interpretation.
 
    When `gawk' switched to using locale-aware regexp matchers, the
 problems began; especially as both GNU/Linux and commercial Unix
 vendors started implementing non-ASCII locales, _and making them the
 default_.  Perhaps the most frequently asked question became something
-like "why does `[A-Z]' match lowercase letters?!?"
+like, "Why does `[A-Z]' match lowercase letters?!?"
 
    This situation existed for close to 10 years, if not more, and the
 `gawk' maintainer grew weary of trying to explain that `gawk' was being
-nicely standards compliant, and that the issue was in the user's
+nicely standards-compliant, and that the issue was in the user's
 locale.  During the development of version 4.0, he modified `gawk' to
 always treat ranges in the original, pre-POSIX fashion, unless
 `--posix' was used (*note Options::).(2)
@@ -26984,18 +26982,18 @@ of range expressions was _undefined_.(3)
 
    By using this lovely technical term, the standard gives license to
 implementors to implement ranges in whatever way they choose.  The
-`gawk' maintainer chose to apply the pre-POSIX meaning in all cases:
-the default regexp matching; with `--traditional' and with `--posix';
-in all cases, `gawk' remains POSIX compliant.
+`gawk' maintainer chose to apply the pre-POSIX meaning both with the
+default regexp matching and when `--traditional' or `--posix' are used.
+In all cases `gawk' remains POSIX-compliant.
 
    ---------- Footnotes ----------
 
    (1) And Life was good.
 
    (2) And thus was born the Campaign for Rational Range Interpretation
-(or RRI). A number of GNU tools have either implemented this change, or
-will soon.  Thanks to Karl Berry for coining the phrase "Rational Range
-Interpretation."
+(or RRI). A number of GNU tools have already implemented this change,
+or will soon.  Thanks to Karl Berry for coining the phrase "Rational
+Range Interpretation."
 
    (3) See the standard
 
(http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03_05)
@@ -27027,7 +27025,7 @@ Info file, in approximate chronological order:
 
    * Richard Stallman helped finish the implementation and the initial
      draft of this Info file.  He is also the founder of the FSF and
-     the GNU project.
+     the GNU Project.
 
    * John Woods contributed parts of the code (mostly fixes) in the
      initial version of `gawk'.
@@ -27113,22 +27111,22 @@ Info file, in approximate chronological order:
    * John Haque made the following contributions:
 
         - The modifications to convert `gawk' into a byte-code
-          interpreter, including the debugger.
+          interpreter, including the debugger
 
-        - The addition of true arrays of arrays.
+        - The addition of true arrays of arrays
 
         - The additional modifications for support of
-          arbitrary-precision arithmetic.
+          arbitrary-precision arithmetic
 
-        - The initial text of *note Arbitrary Precision Arithmetic::.
+        - The initial text of *note Arbitrary Precision Arithmetic::
 
         - The work to merge the three versions of `gawk' into one, for
-          the 4.1 release.
+          the 4.1 release
 
-        - Improved array internals for arrays indexed by integers.
+        - Improved array internals for arrays indexed by integers
 
-        - The improved array sorting features were driven by John
-          together with Pat Rankin.
+        - The improved array sorting features were also driven by John,
+          together with Pat Rankin
 
    * Panos Papadopoulos contributed the original text for *note Include
      Files::.
@@ -27157,11 +27155,11 @@ A.10 Summary
 ============
 
    * The `awk' language has evolved over time. The first release was
-     with V7 Unix circa 1978.  In 1987, for System V Release 3.1, major
-     additions, including user-defined functions, were made to the
-     language.  Additional changes were made for System V Release 4, in
-     1989.  Since then, further minor changes happen under the auspices
-     of the POSIX standard.
+     with V7 Unix, circa 1978.  In 1987, for System V Release 3.1,
+     major additions, including user-defined functions, were made to
+     the language.  Additional changes were made for System V Release
+     4, in 1989.  Since then, further minor changes have happened under
+     the auspices of the POSIX standard.
 
    * Brian Kernighan's `awk' provides a small number of extensions that
      are implemented in common with other versions of `awk'.
@@ -27174,7 +27172,7 @@ A.10 Summary
      been confusing over the years. Today, `gawk' implements Rational
      Range Interpretation, where ranges of the form `[a-z]' match
      _only_ the characters numerically between `a' through `z' in the
-     machine's native character set.  Usually this is ASCII but it can
+     machine's native character set.  Usually this is ASCII, but it can
      be EBCDIC on IBM S/390 systems.
 
    * Many people have contributed to `gawk' development over the years.
@@ -27252,7 +27250,7 @@ B.1.2 Extracting the Distribution
 `gawk' is distributed as several `tar' files compressed with different
 compression programs: `gzip', `bzip2', and `xz'. For simplicity, the
 rest of these instructions assume you are using the one compressed with
-the GNU Zip program, `gzip'.
+the GNU Gzip program (`gzip').
 
    Once you have the distribution (e.g., `gawk-4.1.2.tar.gz'), use
 `gzip' to expand the file and then use `tar' to extract it.  You can
@@ -27292,10 +27290,10 @@ files, subdirectories, and files related to the 
configuration process
 to different non-Unix operating systems:
 
 Various `.c', `.y', and `.h' files
-     The actual `gawk' source code.
+     These files contain the actual `gawk' source code.
 
 `ABOUT-NLS'
-     Information about GNU `gettext' and translations.
+     A file containing information about GNU `gettext' and translations.
 
 `AUTHORS'
      A file with some information about the authorship of `gawk'.  It
@@ -27327,7 +27325,7 @@ Various `.c', `.y', and `.h' files
      The GNU General Public License.
 
 `POSIX.STD'
-     A description of behaviors in the POSIX standard for `awk' which
+     A description of behaviors in the POSIX standard for `awk' that
      are left undefined, or where `gawk' may not comply fully, as well
      as a list of things that the POSIX standard should describe but
      does not.
@@ -27548,14 +27546,16 @@ command line when compiling `gawk' from scratch, 
including:
      do nothing.  Similarly, setting the `LINT' variable (*note
      User-modified::) has no effect on the running `awk' program.
 
-     When used with GCC's automatic dead-code-elimination, this option
-     cuts almost 23K bytes off the size of the `gawk' executable on
-     GNU/Linux x86_64 systems.  Results on other systems and with other
-     compilers are likely to vary.  Using this option may bring you
-     some slight performance improvement.
+     When used with the GNU Compiler Collection's (GCC's) automatic
+     dead-code-elimination, this option cuts almost 23K bytes off the
+     size of the `gawk' executable on GNU/Linux x86_64 systems.
+     Results on other systems and with other compilers are likely to
+     vary.  Using this option may bring you some slight performance
+     improvement.
 
-     Using this option will cause some of the tests in the test suite
-     to fail.  This option may be removed at a later date.
+          CAUTION: Using this option will cause some of the tests in
+          the test suite to fail.  This option may be removed at a
+          later date.
 
 `--disable-nls'
      Disable all message-translation facilities.  This is usually not
@@ -27639,10 +27639,10 @@ B.3.1 Installation on PC Operating Systems
 This minor node covers installation and usage of `gawk' on Intel
 architecture machines running MS-DOS, any version of MS-Windows, or
 OS/2.  In this minor node, the term "Windows32" refers to any of
-Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8.
+Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8.
 
    The limitations of MS-DOS (and MS-DOS shells under the other
-operating systems) has meant that various "DOS extenders" are often
+operating systems) have meant that various "DOS extenders" are often
 used with programs such as `gawk'.  The varying capabilities of
 Microsoft Windows 3.1 and Windows32 can add to the confusion.  For an
 overview of the considerations, refer to `README_d/README.pc' in the
@@ -27837,7 +27837,7 @@ The DJGPP collection of tools includes an MS-DOS port 
of Bash, and
 several shells are available for OS/2, including `ksh'.
 
    Under MS-Windows, OS/2 and MS-DOS, `gawk' (and many other text
-programs) silently translate end-of-line `\r\n' to `\n' on input and
+programs) silently translates end-of-line `\r\n' to `\n' on input and
 `\n' to `\r\n' on output.  A special `BINMODE' variable (c.e.)  allows
 control over these translations and is interpreted as follows:
 
@@ -27859,7 +27859,7 @@ The modes for standard input and standard output are 
set one time only
 program).  Setting `BINMODE' for standard input or standard output is
 accomplished by using an appropriate `-v BINMODE=N' option on the
 command line.  `BINMODE' is set at the time a file or pipe is opened
-and cannot be changed mid-stream.
+and cannot be changed midstream.
 
    The name `BINMODE' was chosen to match `mawk' (*note Other
 Versions::).  `mawk' and `gawk' handle `BINMODE' similarly; however,
@@ -27903,10 +27903,9 @@ B.3.1.5 Using `gawk' In The Cygwin Environment
 
 `gawk' can be built and used "out of the box" under MS-Windows if you
 are using the Cygwin environment (http://www.cygwin.com).  This
-environment provides an excellent simulation of GNU/Linux, using the
-GNU tools, such as Bash, the GNU Compiler Collection (GCC), GNU Make,
-and other GNU programs.  Compilation and installation for Cygwin is the
-same as for a Unix system:
+environment provides an excellent simulation of GNU/Linux, using Bash,
+GCC, GNU Make, and other GNU programs.  Compilation and installation
+for Cygwin is the same as for a Unix system:
 
      tar -xvpzf gawk-4.1.2.tar.gz
      cd gawk-4.1.2
@@ -27924,7 +27923,7 @@ B.3.1.6 Using `gawk' In The MSYS Environment
 ............................................
 
 In the MSYS environment under MS-Windows, `gawk' automatically uses
-binary mode for reading and writing files.  Thus there is no need to
+binary mode for reading and writing files.  Thus, there is no need to
 use the `BINMODE' variable.
 
    This can cause problems with other Unix-like components that have
@@ -27979,9 +27978,9 @@ available from `https://github.com/endlesssoftware/mmk'.
 target parameter may need to be exact.
 
    `gawk' has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1 using
-Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
-The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both Alpha
-and IA64 VMS 8.4 used HP C 7.3.(1)
+Compaq C V6.4, and under Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS
+8.3.  The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both
+Alpha and IA64 VMS 8.4 used HP C 7.3.(1)
 
    *Note VMS GNV::, for information on building `gawk' as a PCSI kit
 that is compatible with the GNV product.
@@ -28024,7 +28023,7 @@ than 32 bits.
 
      /name=(as_is,short)
 
-   Compile time macros need to be defined before the first VMS-supplied
+   Compile-time macros need to be defined before the first VMS-supplied
 header file is included, as follows:
 
      #if (__CRTL_VER >= 70200000) && !defined (__VAX)
@@ -28068,14 +28067,14 @@ directory tree, the program will be known as
 `GNV$GNU:[vms_help]gawk.hlp'.
 
    The PCSI kit also installs a `GNV$GNU:[vms_bin]gawk_verb.cld' file
-which can be used to add `gawk' and `awk' as DCL commands.
+that can be used to add `gawk' and `awk' as DCL commands.
 
    For just the current process you can use:
 
      $ set command gnv$gnu:[vms_bin]gawk_verb.cld
 
    Or the system manager can use `GNV$GNU:[vms_bin]gawk_verb.cld' to
-add the `gawk' and `awk' to the system wide `DCLTABLES'.
+add the `gawk' and `awk' to the system-wide `DCLTABLES'.
 
    The DCL syntax is documented in the `gawk.hlp' file.
 
@@ -28135,14 +28134,14 @@ process) are present, there is no ambiguity and `--' 
can be omitted.
 status value when the program exits.
 
    The VMS severity bits will be set based on the `exit' value.  A
-failure is indicated by 1 and VMS sets the `ERROR' status.  A fatal
-error is indicated by 2 and VMS sets the `FATAL' status.  All other
+failure is indicated by 1, and VMS sets the `ERROR' status.  A fatal
+error is indicated by 2, and VMS sets the `FATAL' status.  All other
 values will have the `SUCCESS' status.  The exit value is encoded to
 comply with VMS coding standards and will have the `C_FACILITY_NO' of
 `0x350000' with the constant `0xA000' added to the number shifted over
 by 3 bits to make room for the severity codes.
 
-   To extract the actual `gawk' exit code from the VMS status use:
+   To extract the actual `gawk' exit code from the VMS status, use:
 
      unix_status = (vms_status .and. &x7f8) / 8
 
@@ -28158,7 +28157,7 @@ Function::.
 
    VMS reports time values in GMT unless one of the `SYS$TIMEZONE_RULE'
 or `TZ' logical names is set.  Older versions of VMS, such as VAX/VMS
-7.3 do not set these logical names.
+7.3, do not set these logical names.
 
    The default search path, when looking for `awk' program files
 specified by the `-f' option, is `"SYS$DISK:[],AWK_LIBRARY:"'.  The
@@ -28175,7 +28174,7 @@ B.3.2.5 The VMS GNV Project
 
 The VMS GNV package provides a build environment similar to POSIX with
 ports of a collection of open source tools.  The `gawk' found in the GNV
-base kit is an older port.  Currently the GNV project is being
+base kit is an older port.  Currently, the GNV project is being
 reorganized to supply individual PCSI packages for each component.  See
 `https://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/'.
 
@@ -28209,7 +28208,7 @@ B.4 Reporting Problems and Bugs
      Douglas Adams, `The Hitchhiker's Guide to the Galaxy'
 
    If you have problems with `gawk' or think that you have found a bug,
-report it to the developers; we cannot promise to do anything but we
+report it to the developers; we cannot promise to do anything, but we
 might well want to fix it.
 
    Before reporting a bug, make sure you have really found a genuine
@@ -28220,7 +28219,7 @@ documentation!
 
    Before reporting a bug or trying to fix it yourself, try to isolate
 it to the smallest possible `awk' program and input data file that
-reproduces the problem.  Then send us the program and data file, some
+reproduce the problem.  Then send us the program and data file, some
 idea of what kind of Unix system you're using, the compiler you used to
 compile `gawk', and the exact results `gawk' gave you.  Also say what
 you expected to occur; this helps us decide whether the problem is
@@ -28232,7 +28231,7 @@ You can get this information with the command `gawk 
--version'.
    Once you have a precise problem description, send email to
 <address@hidden>.
 
-   The `gawk' maintainers subscribe to this address and thus they will
+   The `gawk' maintainers subscribe to this address, and thus they will
 receive your bug report.  Although you can send mail to the maintainers
 directly, the bug reporting address is preferred because the email list
 is archived at the GNU Project.  _All email must be in English. This is
@@ -28253,8 +28252,8 @@ the only language understood in common by all the 
maintainers._
      forward bug reports "upstream" to the GNU mailing list, many
      don't, so there is a good chance that the `gawk'  maintainers
      won't even see the bug report!  Second, mail to the GNU list is
-     archived, and having everything at the GNU project keeps things
-     self-contained and not dependant on other organizations.
+     archived, and having everything at the GNU Project keeps things
+     self-contained and not dependent on other organizations.
 
    Non-bug suggestions are always welcome as well.  If you have
 questions about things that are unclear in the documentation or are
@@ -28263,18 +28262,19 @@ if we can.
 
    If you find bugs in one of the non-Unix ports of `gawk', send an
 email to the bug list, with a copy to the person who maintains that
-port.  They are named in the following list, as well as in the `README'
-file in the `gawk' distribution.  Information in the `README' file
-should be considered authoritative if it conflicts with this Info file.
+port.  The maintainers are named in the following list, as well as in
+the `README' file in the `gawk' distribution.  Information in the
+`README' file should be considered authoritative if it conflicts with
+this Info file.
 
    The people maintaining the various `gawk' ports are:
 
-Unix and POSIX systems  Arnold Robbins, <address@hidden>.
-MS-DOS with DJGPP       Scott Deifik, <address@hidden>.
-MS-Windows with MinGW   Eli Zaretskii, <address@hidden>.
-OS/2                    Andreas Buening, <address@hidden>.
-VMS                     John Malmberg, <address@hidden>.
-z/OS (OS/390)           Dave Pitts, <address@hidden>.
+Unix and POSIX systems  Arnold Robbins, <address@hidden>
+MS-DOS with DJGPP       Scott Deifik, <address@hidden>
+MS-Windows with MinGW   Eli Zaretskii, <address@hidden>
+OS/2                    Andreas Buening, <address@hidden>
+VMS                     John Malmberg, <address@hidden>
+z/OS (OS/390)           Dave Pitts, <address@hidden>
 
    If your bug is also reproducible under Unix, send a copy of your
 report to the <address@hidden> email list as well.
@@ -28285,7 +28285,7 @@ File: gawk.info,  Node: Other Versions,  Next: 
Installation summary,  Prev: Bugs
 B.5 Other Freely Available `awk' Implementations
 ================================================
 
-     It's kind of fun to put comments like this in your awk code.
+     It's kind of fun to put comments like this in your awk code:
      `// Do C++ comments work? answer: yes! of course' -- Michael
      Brennan
 
@@ -28308,7 +28308,7 @@ Unix `awk'
     Zip file
           `http://www.cs.princeton.edu/~bwk/btl.mirror/awk.zip'
 
-     You can also retrieve it from Git Hub:
+     You can also retrieve it from GitHub:
 
           git clone git://github.com/onetrueawk/awk bwkawk
 
@@ -28350,7 +28350,7 @@ Unix `awk'
 `awka'
      Written by Andrew Sumner, `awka' translates `awk' programs into C,
      compiles them, and links them with a library of functions that
-     provides the core `awk' functionality.  It also has a number of
+     provide the core `awk' functionality.  It also has a number of
      extensions.
 
      The `awk' translator is released under the GPL, and the library is
@@ -28364,14 +28364,14 @@ Unix `awk'
 `pawk'
      Nelson H.F. Beebe at the University of Utah has modified BWK `awk'
      to provide timing and profiling information.  It is different from
-     `gawk' with the `--profile' option (*note Profiling::), in that it
+     `gawk' with the `--profile' option (*note Profiling::) in that it
      uses CPU-based profiling, not line-count profiling.  You may find
      it at either
      `ftp://ftp.math.utah.edu/pub/pawk/pawk-20030606.tar.gz' or
      `http://www.math.utah.edu/pub/pawk/pawk-20030606.tar.gz'.
 
-Busybox Awk
-     Busybox is a GPL-licensed program providing small versions of many
+BusyBox `awk'
+     BusyBox is a GPL-licensed program providing small versions of many
      applications within a single executable. It is aimed at embedded
      systems.  It includes a full implementation of POSIX `awk'.  When
      building it, be careful not to do `make install' as it will
@@ -28381,7 +28381,7 @@ Busybox Awk
 
 The OpenSolaris POSIX `awk'
      The versions of `awk' in `/usr/xpg4/bin' and `/usr/xpg6/bin' on
-     Solaris are more-or-less POSIX-compliant.  They are based on the
+     Solaris are more or less POSIX-compliant.  They are based on the
      `awk' from Mortice Kern Systems for PCs.  We were able to make
      this code compile and work under GNU/Linux with 1-2 hours of work.
      Making it more generally portable (using GNU Autoconf and/or
@@ -28413,7 +28413,7 @@ Libmawk
      information. (This is not related to Nelson Beebe's modified
      version of BWK `awk', described earlier.)
 
-QSE Awk
+QSE `awk'
      This is an embeddable `awk' interpreter. For more information, see
      `http://code.google.com/p/qse/' and `http://awk.info/?tools/qse'.
 
@@ -28431,7 +28431,7 @@ Other versions
      See also the "Versions and implementations" section of the
      Wikipedia article
      (http://en.wikipedia.org/wiki/Awk_language#Versions_and_implementations)
-     for information on additional versions.
+     on `awk' for information on additional versions.
 
 
 
@@ -28440,7 +28440,7 @@ File: gawk.info,  Node: Installation summary,  Prev: 
Other Versions,  Up: Instal
 B.6 Summary
 ===========
 
-   * The `gawk' distribution is available from GNU project's main
+   * The `gawk' distribution is available from the GNU Project's main
      distribution site, `ftp.gnu.org'.  The canonical build recipe is:
 
           wget http://ftp.gnu.org/gnu/gawk/gawk-4.1.2.tar.gz
@@ -28449,17 +28449,17 @@ B.6 Summary
           ./configure && make && make check
 
    * `gawk' may be built on non-POSIX systems as well. The currently
-     supported systems are MS-Windows using DJGPP, MSYS, MinGW and
+     supported systems are MS-Windows using DJGPP, MSYS, MinGW, and
      Cygwin, OS/2 using EMX, and both Vax/VMS and OpenVMS.
      Instructions for each system are included in this major node.
 
    * Bug reports should be sent via email to <address@hidden>.  Bug
-     reports should be in English, and should include the version of
+     reports should be in English and should include the version of
      `gawk', how it was compiled, and a short program and data file
-     which demonstrate the problem.
+     that demonstrate the problem.
 
    * There are a number of other freely available `awk'
-     implementations.  Many are POSIX compliant; others are less so.
+     implementations.  Many are POSIX-compliant; others are less so.
 
 
 
@@ -31511,7 +31511,7 @@ Index
 * --disable-lint configuration option:   Additional Configuration Options.
                                                               (line  15)
 * --disable-nls configuration option:    Additional Configuration Options.
-                                                              (line  30)
+                                                              (line  32)
 * --dump-variables option:               Options.             (line  93)
 * --dump-variables option, using for library functions: Library Names.
                                                               (line  45)
@@ -31549,7 +31549,7 @@ Index
 * --use-lc-numeric option:               Options.             (line 220)
 * --version option:                      Options.             (line 302)
 * --with-whiny-user-strftime configuration option: Additional Configuration 
Options.
-                                                              (line  35)
+                                                              (line  37)
 * -b option:                             Options.             (line  68)
 * -C option:                             Options.             (line  88)
 * -c option:                             Options.             (line  81)
@@ -32070,7 +32070,7 @@ Index
 * Brown, Martin:                         Contributors.        (line  82)
 * BSD-based operating systems:           Glossary.            (line 753)
 * bt debugger command (alias for backtrace): Execution Stack. (line  13)
-* Buening, Andreas <1>:                  Bugs.                (line  70)
+* Buening, Andreas <1>:                  Bugs.                (line  71)
 * Buening, Andreas <2>:                  Contributors.        (line  92)
 * Buening, Andreas:                      Acknowledgments.     (line  60)
 * buffering, input/output <1>:           Two-way I/O.         (line  52)
@@ -32083,7 +32083,7 @@ Index
 * address@hidden bug reporting address: Bugs.               (line  30)
 * built-in functions:                    Functions.           (line   6)
 * built-in functions, evaluation order:  Calling Built-in.    (line  30)
-* Busybox Awk:                           Other Versions.      (line  92)
+* BusyBox Awk:                           Other Versions.      (line  92)
 * c.e., See common extensions:           Conventions.         (line  51)
 * call by reference:                     Pass By Value/Reference.
                                                               (line  44)
@@ -32215,9 +32215,9 @@ Index
 * configuration option, --disable-lint:  Additional Configuration Options.
                                                               (line  15)
 * configuration option, --disable-nls:   Additional Configuration Options.
-                                                              (line  30)
+                                                              (line  32)
 * configuration option, --with-whiny-user-strftime: Additional Configuration 
Options.
-                                                              (line  35)
+                                                              (line  37)
 * configuration options, gawk:           Additional Configuration Options.
                                                               (line   6)
 * constant regexps:                      Regexp Usage.        (line  57)
@@ -32443,7 +32443,7 @@ Index
 * decimal point character, locale specific: Options.          (line 272)
 * decrement operators:                   Increment Ops.       (line  35)
 * default keyword:                       Switch Statement.    (line   6)
-* Deifik, Scott <1>:                     Bugs.                (line  70)
+* Deifik, Scott <1>:                     Bugs.                (line  71)
 * Deifik, Scott <2>:                     Contributors.        (line  53)
 * Deifik, Scott:                         Acknowledgments.     (line  60)
 * delete ARRAY:                          Delete.              (line  39)
@@ -33374,7 +33374,7 @@ Index
 * mail-list file:                        Sample Data Files.   (line   6)
 * mailing labels, printing:              Labels Program.      (line   6)
 * mailing list, GNITS:                   Acknowledgments.     (line  52)
-* Malmberg, John <1>:                    Bugs.                (line  70)
+* Malmberg, John <1>:                    Bugs.                (line  71)
 * Malmberg, John:                        Acknowledgments.     (line  60)
 * Malmberg, John E.:                     Contributors.        (line 137)
 * mark parity:                           Ordinal Functions.   (line  45)
@@ -33613,7 +33613,7 @@ Index
                                                               (line   6)
 * pipe, input:                           Getline/Pipe.        (line   9)
 * pipe, output:                          Redirection.         (line  57)
-* Pitts, Dave <1>:                       Bugs.                (line  70)
+* Pitts, Dave <1>:                       Bugs.                (line  71)
 * Pitts, Dave:                           Acknowledgments.     (line  60)
 * Plauger, P.J.:                         Library Functions.   (line  12)
 * plug-in:                               Extension Intro.     (line   6)
@@ -33791,7 +33791,7 @@ Index
 * pwcat program:                         Passwd Functions.    (line  23)
 * q debugger command (alias for quit):   Miscellaneous Debugger Commands.
                                                               (line  99)
-* QSE Awk:                               Other Versions.      (line 135)
+* QSE awk:                               Other Versions.      (line 135)
 * Quanstrom, Erik:                       Alarm Program.       (line   8)
 * question mark (?), ?: operator:        Precedence.          (line  92)
 * question mark (?), regexp operator <1>: GNU Regexp Operators.
@@ -33926,7 +33926,7 @@ Index
 * RLENGTH variable:                      Auto-set.            (line 252)
 * RLENGTH variable, match() function and: String Functions.   (line 228)
 * Robbins, Arnold <1>:                   Future Extensions.   (line   6)
-* Robbins, Arnold <2>:                   Bugs.                (line  70)
+* Robbins, Arnold <2>:                   Bugs.                (line  71)
 * Robbins, Arnold <3>:                   Contributors.        (line 144)
 * Robbins, Arnold <4>:                   General Data Types.  (line   6)
 * Robbins, Arnold <5>:                   Alarm Program.       (line   6)
@@ -34117,7 +34117,7 @@ Index
                                                               (line  94)
 * source code, awka:                     Other Versions.      (line  68)
 * source code, Brian Kernighan's awk:    Other Versions.      (line  13)
-* source code, Busybox Awk:              Other Versions.      (line  92)
+* source code, BusyBox Awk:              Other Versions.      (line  92)
 * source code, gawk:                     Gawk Distribution.   (line   6)
 * source code, Illumos awk:              Other Versions.      (line 109)
 * source code, jawk:                     Other Versions.      (line 117)
@@ -34126,7 +34126,7 @@ Index
 * source code, mixing:                   Options.             (line 117)
 * source code, pawk:                     Other Versions.      (line  82)
 * source code, pawk (Python version):    Other Versions.      (line 129)
-* source code, QSE Awk:                  Other Versions.      (line 135)
+* source code, QSE awk:                  Other Versions.      (line 135)
 * source code, QuikTrim Awk:             Other Versions.      (line 139)
 * source code, Solaris awk:              Other Versions.      (line 100)
 * source files, search path for:         Programs Exercises.  (line  70)
@@ -34455,7 +34455,7 @@ Index
 * xor:                                   Bitwise Functions.   (line  56)
 * XOR bitwise operation:                 Bitwise Functions.   (line   6)
 * Yawitz, Efraim:                        Contributors.        (line 131)
-* Zaretskii, Eli <1>:                    Bugs.                (line  70)
+* Zaretskii, Eli <1>:                    Bugs.                (line  71)
 * Zaretskii, Eli <2>:                    Contributors.        (line  55)
 * Zaretskii, Eli:                        Acknowledgments.     (line  60)
 * zerofile.awk program:                  Empty Files.         (line  21)
@@ -34970,77 +34970,77 @@ Node: Extension summary1046798
 Node: Extension Exercises1050487
 Node: Language History1051209
 Node: V7/SVR3.11052865
-Node: SVR41055046
-Node: POSIX1056491
-Node: BTL1057880
-Node: POSIX/GNU1058614
-Node: Feature History1064178
-Node: Common Extensions1077276
-Node: Ranges and Locales1078600
-Ref: Ranges and Locales-Footnote-11083218
-Ref: Ranges and Locales-Footnote-21083245
-Ref: Ranges and Locales-Footnote-31083479
-Node: Contributors1083700
-Node: History summary1089241
-Node: Installation1090611
-Node: Gawk Distribution1091557
-Node: Getting1092041
-Node: Extracting1092864
-Node: Distribution contents1094499
-Node: Unix Installation1100216
-Node: Quick Installation1100833
-Node: Additional Configuration Options1103257
-Node: Configuration Philosophy1104995
-Node: Non-Unix Installation1107364
-Node: PC Installation1107822
-Node: PC Binary Installation1109141
-Node: PC Compiling1110989
-Ref: PC Compiling-Footnote-11114010
-Node: PC Testing1114119
-Node: PC Using1115295
-Node: Cygwin1119410
-Node: MSYS1120233
-Node: VMS Installation1120733
-Node: VMS Compilation1121525
-Ref: VMS Compilation-Footnote-11122747
-Node: VMS Dynamic Extensions1122805
-Node: VMS Installation Details1124489
-Node: VMS Running1126741
-Node: VMS GNV1129577
-Node: VMS Old Gawk1130311
-Node: Bugs1130781
-Node: Other Versions1134664
-Node: Installation summary1141088
-Node: Notes1142144
-Node: Compatibility Mode1143009
-Node: Additions1143791
-Node: Accessing The Source1144716
-Node: Adding Code1146151
-Node: New Ports1152308
-Node: Derived Files1156790
-Ref: Derived Files-Footnote-11162265
-Ref: Derived Files-Footnote-21162299
-Ref: Derived Files-Footnote-31162895
-Node: Future Extensions1163009
-Node: Implementation Limitations1163615
-Node: Extension Design1164863
-Node: Old Extension Problems1166017
-Ref: Old Extension Problems-Footnote-11167534
-Node: Extension New Mechanism Goals1167591
-Ref: Extension New Mechanism Goals-Footnote-11170951
-Node: Extension Other Design Decisions1171140
-Node: Extension Future Growth1173248
-Node: Old Extension Mechanism1174084
-Node: Notes summary1175846
-Node: Basic Concepts1177032
-Node: Basic High Level1177713
-Ref: figure-general-flow1177985
-Ref: figure-process-flow1178584
-Ref: Basic High Level-Footnote-11181813
-Node: Basic Data Typing1181998
-Node: Glossary1185326
-Node: Copying1217255
-Node: GNU Free Documentation License1254811
-Node: Index1279947
+Node: SVR41055018
+Node: POSIX1056452
+Node: BTL1057833
+Node: POSIX/GNU1058564
+Node: Feature History1064085
+Node: Common Extensions1077183
+Node: Ranges and Locales1078555
+Ref: Ranges and Locales-Footnote-11083174
+Ref: Ranges and Locales-Footnote-21083201
+Ref: Ranges and Locales-Footnote-31083436
+Node: Contributors1083657
+Node: History summary1089197
+Node: Installation1090576
+Node: Gawk Distribution1091522
+Node: Getting1092006
+Node: Extracting1092829
+Node: Distribution contents1094466
+Node: Unix Installation1100220
+Node: Quick Installation1100837
+Node: Additional Configuration Options1103261
+Node: Configuration Philosophy1105064
+Node: Non-Unix Installation1107433
+Node: PC Installation1107891
+Node: PC Binary Installation1109211
+Node: PC Compiling1111059
+Ref: PC Compiling-Footnote-11114080
+Node: PC Testing1114189
+Node: PC Using1115365
+Node: Cygwin1119480
+Node: MSYS1120250
+Node: VMS Installation1120751
+Node: VMS Compilation1121543
+Ref: VMS Compilation-Footnote-11122772
+Node: VMS Dynamic Extensions1122830
+Node: VMS Installation Details1124514
+Node: VMS Running1126765
+Node: VMS GNV1129605
+Node: VMS Old Gawk1130340
+Node: Bugs1130810
+Node: Other Versions1134699
+Node: Installation summary1141133
+Node: Notes1142192
+Node: Compatibility Mode1143057
+Node: Additions1143839
+Node: Accessing The Source1144764
+Node: Adding Code1146199
+Node: New Ports1152356
+Node: Derived Files1156838
+Ref: Derived Files-Footnote-11162313
+Ref: Derived Files-Footnote-21162347
+Ref: Derived Files-Footnote-31162943
+Node: Future Extensions1163057
+Node: Implementation Limitations1163663
+Node: Extension Design1164911
+Node: Old Extension Problems1166065
+Ref: Old Extension Problems-Footnote-11167582
+Node: Extension New Mechanism Goals1167639
+Ref: Extension New Mechanism Goals-Footnote-11170999
+Node: Extension Other Design Decisions1171188
+Node: Extension Future Growth1173296
+Node: Old Extension Mechanism1174132
+Node: Notes summary1175894
+Node: Basic Concepts1177080
+Node: Basic High Level1177761
+Ref: figure-general-flow1178033
+Ref: figure-process-flow1178632
+Ref: Basic High Level-Footnote-11181861
+Node: Basic Data Typing1182046
+Node: Glossary1185374
+Node: Copying1217303
+Node: GNU Free Documentation License1254859
+Node: Index1279995
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 76d0c54..1ca6880 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -35206,81 +35206,81 @@ cross-references to further details:
 @itemize @value{BULLET}
 @item
 The requirement for @samp{;} to separate rules on a line
-(@pxref{Statements/Lines}).
+(@pxref{Statements/Lines})
 
 @item
 User-defined functions and the @code{return} statement
-(@pxref{User-defined}).
+(@pxref{User-defined})
 
 @item
 The @code{delete} statement (@pxref{Delete}).
 
 @item
 The @address@hidden statement
-(@pxref{Do Statement}).
+(@pxref{Do Statement})
 
 @item
 The built-in functions @code{atan2()}, @code{cos()}, @code{sin()}, 
@code{rand()}, and
address@hidden()} (@pxref{Numeric Functions}).
address@hidden()} (@pxref{Numeric Functions})
 
 @item
 The built-in functions @code{gsub()}, @code{sub()}, and @code{match()}
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 The built-in functions @code{close()} and @code{system()}
-(@pxref{I/O Functions}).
+(@pxref{I/O Functions})
 
 @item
 The @code{ARGC}, @code{ARGV}, @code{FNR}, @code{RLENGTH}, @code{RSTART},
-and @code{SUBSEP} predefined variables (@pxref{Built-in Variables}).
+and @code{SUBSEP} predefined variables (@pxref{Built-in Variables})
 
 @item
-Assignable @code{$0} (@pxref{Changing Fields}).
+Assignable @code{$0} (@pxref{Changing Fields})
 
 @item
 The conditional expression using the ternary operator @samp{?:}
-(@pxref{Conditional Exp}).
+(@pxref{Conditional Exp})
 
 @item
-The expression @address@hidden in @var{array}} outside of @code{for}
-statements (@pxref{Reference to Elements}).
+The expression @address@hidden in @var{array}} outside of @code{for}
+statements (@pxref{Reference to Elements})
 
 @item
 The exponentiation operator @samp{^}
 (@pxref{Arithmetic Ops}) and its assignment operator
-form @samp{^=} (@pxref{Assignment Ops}).
+form @samp{^=} (@pxref{Assignment Ops})
 
 @item
 C-compatible operator precedence, which breaks some old @command{awk}
-programs (@pxref{Precedence}).
+programs (@pxref{Precedence})
 
 @item
 Regexps as the value of @code{FS}
 (@pxref{Field Separators}) and as the
 third argument to the @code{split()} function
 (@pxref{String Functions}), rather than using only the first character
-of @code{FS}.
+of @code{FS}
 
 @item
 Dynamic regexps as operands of the @samp{~} and @samp{!~} operators
-(@pxref{Computed Regexps}).
+(@pxref{Computed Regexps})
 
 @item
 The escape sequences @samp{\b}, @samp{\f}, and @samp{\r}
-(@pxref{Escape Sequences}).
+(@pxref{Escape Sequences})
 
 @item
 Redirection of input for the @code{getline} function
-(@pxref{Getline}).
+(@pxref{Getline})
 
 @item
 Multiple @code{BEGIN} and @code{END} rules
-(@pxref{BEGIN/END}).
+(@pxref{BEGIN/END})
 
 @item
 Multidimensional arrays
-(@pxref{Multidimensional}).
+(@pxref{Multidimensional})
 @end itemize
 
 @node SVR4
@@ -35292,54 +35292,54 @@ The System V Release 4 (1989) version of Unix 
@command{awk} added these features
 
 @itemize @value{BULLET}
 @item
-The @code{ENVIRON} array (@pxref{Built-in Variables}).
+The @code{ENVIRON} array (@pxref{Built-in Variables})
 @c gawk and MKS awk
 
 @item
 Multiple @option{-f} options on the command line
-(@pxref{Options}).
+(@pxref{Options})
 @c MKS awk
 
 @item
 The @option{-v} option for assigning variables before program execution begins
-(@pxref{Options}).
+(@pxref{Options})
 @c GNU, Bell Laboratories & MKS together
 
 @item
-The @option{--} signal for terminating command-line options.
+The @option{--} signal for terminating command-line options
 
 @item
 The @samp{\a}, @samp{\v}, and @samp{\x} escape sequences
-(@pxref{Escape Sequences}).
+(@pxref{Escape Sequences})
 @c GNU, for ANSI C compat
 
 @item
 A defined return value for the @code{srand()} built-in function
-(@pxref{Numeric Functions}).
+(@pxref{Numeric Functions})
 
 @item
 The @code{toupper()} and @code{tolower()} built-in string functions
 for case translation
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 A cleaner specification for the @samp{%c} format-control letter in the
 @code{printf} function
-(@pxref{Control Letters}).
+(@pxref{Control Letters})
 
 @item
 The ability to dynamically pass the field width and precision (@code{"%*.*d"})
 in the argument list of @code{printf} and @code{sprintf()}
-(@pxref{Control Letters}).
+(@pxref{Control Letters})
 
 @item
 The use of regexp constants, such as @code{/foo/}, as expressions, where
 they are equivalent to using the matching operator, as in @samp{$0 ~ /foo/}
-(@pxref{Using Constant Regexps}).
+(@pxref{Using Constant Regexps})
 
 @item
 Processing of escape sequences inside command-line variable assignments
-(@pxref{Assignment Options}).
+(@pxref{Assignment Options})
 @end itemize
 
 @node POSIX
@@ -35353,23 +35353,23 @@ introduced the following changes into the language:
 @itemize @value{BULLET}
 @item
 The use of @option{-W} for implementation-specific options
-(@pxref{Options}).
+(@pxref{Options})
 
 @item
 The use of @code{CONVFMT} for controlling the conversion of numbers
-to strings (@pxref{Conversion}).
+to strings (@pxref{Conversion})
 
 @item
 The concept of a numeric string and tighter comparison rules to go
-with it (@pxref{Typing and Comparison}).
+with it (@pxref{Typing and Comparison})
 
 @item
 The use of predefined variables as function parameter names is forbidden
-(@pxref{Definition Syntax}).
+(@pxref{Definition Syntax})
 
 @item
 More complete documentation of many of the previously undocumented
-features of the language.
+features of the language
 @end itemize
 
 In 2012, a number of extensions that had been commonly available for
@@ -35378,15 +35378,15 @@ many years were finally added to POSIX. They are:
 @itemize @value{BULLET}
 @item
 The @code{fflush()} built-in function for flushing buffered output
-(@pxref{I/O Functions}).
+(@pxref{I/O Functions})
 
 @item
 The @code{nextfile} statement
-(@pxref{Nextfile Statement}).
+(@pxref{Nextfile Statement})
 
 @item
 The ability to delete all of an array at once with @samp{delete @var{array}}
-(@pxref{Delete}).
+(@pxref{Delete})
 
 @end itemize
 
@@ -35416,22 +35416,22 @@ originally appeared in his version of @command{awk}:
 The @samp{**} and @samp{**=} operators
 (@pxref{Arithmetic Ops}
 and
address@hidden Ops}).
address@hidden Ops})
 
 @item
 The use of @code{func} as an abbreviation for @code{function}
-(@pxref{Definition Syntax}).
+(@pxref{Definition Syntax})
 
 @item
 The @code{fflush()} built-in function for flushing buffered output
-(@pxref{I/O Functions}).
+(@pxref{I/O Functions})
 
 @ignore
 @item
 The @code{SYMTAB} array, that allows access to @command{awk}'s internal symbol
 table. This feature was never documented for his @command{awk}, largely because
 it is somewhat shakily implemented. For instance, you cannot access arrays
-or array elements through it.
+or array elements through it
 @end ignore
 @end itemize
 
@@ -35461,7 +35461,7 @@ Additional predefined variables:
 @itemize @value{MINUS}
 @item
 The
address@hidden
address@hidden,
 @code{BINMODE},
 @code{ERRNO},
 @code{FIELDWIDTHS},
@@ -35473,7 +35473,7 @@ The
 and
 @code{TEXTDOMAIN}
 variables
-(@pxref{Built-in Variables}).
+(@pxref{Built-in Variables})
 @end itemize
 
 @item
@@ -35481,15 +35481,15 @@ Special files in I/O redirections:
 
 @itemize @value{MINUS}
 @item
-The @file{/dev/stdin}, @file{/dev/stdout}, @file{/dev/stderr} and
+The @file{/dev/stdin}, @file{/dev/stdout}, @file{/dev/stderr}, and
 @file{/dev/fd/@var{N}} special @value{FN}s
-(@pxref{Special Files}).
+(@pxref{Special Files})
 
 @item
 The @file{/inet}, @file{/inet4}, and @samp{/inet6} special files for
 TCP/IP networking using @samp{|&} to specify which version of the
 IP protocol to use
-(@pxref{TCP/IP Networking}).
+(@pxref{TCP/IP Networking})
 @end itemize
 
 @item
@@ -35498,37 +35498,37 @@ Changes and/or additions to the language:
 @itemize @value{MINUS}
 @item
 The @samp{\x} escape sequence
-(@pxref{Escape Sequences}).
+(@pxref{Escape Sequences})
 
 @item
 Full support for both POSIX and GNU regexps
-(@pxref{Regexp}).
+(@pxref{Regexp})
 
 @item
 The ability for @code{FS} and for the third
 argument to @code{split()} to be null strings
-(@pxref{Single Character Fields}).
+(@pxref{Single Character Fields})
 
 @item
 The ability for @code{RS} to be a regexp
-(@pxref{Records}).
+(@pxref{Records})
 
 @item
 The ability to use octal and hexadecimal constants in @command{awk}
 program source code
-(@pxref{Nondecimal-numbers}).
+(@pxref{Nondecimal-numbers})
 
 @item
 The @samp{|&} operator for two-way I/O to a coprocess
-(@pxref{Two-way I/O}).
+(@pxref{Two-way I/O})
 
 @item
 Indirect function calls
-(@pxref{Indirect Calls}).
+(@pxref{Indirect Calls})
 
 @item
 Directories on the command line produce a warning and are skipped
-(@pxref{Command-line directories}).
+(@pxref{Command-line directories})
 @end itemize
 
 @item
@@ -35537,11 +35537,11 @@ New keywords:
 @itemize @value{MINUS}
 @item
 The @code{BEGINFILE} and @code{ENDFILE} special patterns
-(@pxref{BEGINFILE/ENDFILE}).
+(@pxref{BEGINFILE/ENDFILE})
 
 @item
 The @code{switch} statement
-(@pxref{Switch Statement}).
+(@pxref{Switch Statement})
 @end itemize
 
 @item
@@ -35551,30 +35551,30 @@ Changes to standard @command{awk} functions:
 @item
 The optional second argument to @code{close()} that allows closing one end
 of a two-way pipe to a coprocess
-(@pxref{Two-way I/O}).
+(@pxref{Two-way I/O})
 
 @item
-POSIX compliance for @code{gsub()} and @code{sub()} with @option{--posix}.
+POSIX compliance for @code{gsub()} and @code{sub()} with @option{--posix}
 
 @item
 The @code{length()} function accepts an array argument
 and returns the number of elements in the array
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 The optional third argument to the @code{match()} function
 for capturing text-matching subexpressions within a regexp
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 Positional specifiers in @code{printf} formats for
 making translations easier
-(@pxref{Printf Ordering}).
+(@pxref{Printf Ordering})
 
 @item
 The @code{split()} function's additional optional fourth
-argument which is an array to hold the text of the field separators
-(@pxref{String Functions}).
+argument, which is an array to hold the text of the field separators
+(@pxref{String Functions})
 @end itemize
 
 @item
@@ -35584,16 +35584,16 @@ Additional functions only in @command{gawk}:
 @item
 The @code{gensub()}, @code{patsplit()}, and @code{strtonum()} functions
 for more powerful text manipulation
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 The @code{asort()} and @code{asorti()} functions for sorting arrays
-(@pxref{Array Sorting}).
+(@pxref{Array Sorting})
 
 @item
 The @code{mktime()}, @code{systime()}, and @code{strftime()}
 functions for working with timestamps
-(@pxref{Time Functions}).
+(@pxref{Time Functions})
 
 @item
 The
@@ -35605,17 +35605,17 @@ The
 and
 @code{xor()}
 functions for bit manipulation
-(@pxref{Bitwise Functions}).
+(@pxref{Bitwise Functions})
 @c In 4.1, and(), or() and xor() grew the ability to take > 2 arguments
 
 @item
 The @code{isarray()} function to check if a variable is an array or not
-(@pxref{Type Functions}).
+(@pxref{Type Functions})
 
 @item
-The @code{bindtextdomain()}, @code{dcgettext()} and @code{dcngettext()}
+The @code{bindtextdomain()}, @code{dcgettext()}, and @code{dcngettext()}
 functions for internationalization
-(@pxref{Programmer i18n}).
+(@pxref{Programmer i18n})
 @end itemize
 
 @item
@@ -35625,12 +35625,12 @@ Changes and/or additions in the command-line options:
 @item
 The @env{AWKPATH} environment variable for specifying a path search for
 the @option{-f} command-line option
-(@pxref{Options}).
+(@pxref{Options})
 
 @item
 The @env{AWKLIBPATH} environment variable for specifying a path search for
 the @option{-l} command-line option
-(@pxref{Options}).
+(@pxref{Options})
 
 @item
 The
@@ -35659,7 +35659,7 @@ The
 and
 @option{-V}
 short options. Also, the
-ability to use GNU-style long-named options that start with @option{--}
+ability to use GNU-style long-named options that start with @option{--},
 and the
 @option{--assign},
 @option{--bignum},
@@ -35739,7 +35739,7 @@ GCC for VAX and Alpha has not been tested for a while.
 @end itemize
 
 @item
-Support for the following obsolete systems was removed from the code
+Support for the following obsolete system was removed from the code
 for @command{gawk} @value{PVERSION} 4.1:
 
 @c nested table
@@ -36375,9 +36375,9 @@ by @command{gawk}, Brian Kernighan's @command{awk}, and 
@command{mawk},
 the three most widely used freely available versions of @command{awk}
 (@pxref{Other Versions}).
 
address@hidden address@hidden/dev/stderr} special file} {BWK Awk} {Mawk} {GNU 
Awk} {Now standard}
address@hidden Feature @tab BWK Awk @tab Mawk @tab GNU Awk @tab Now standard
address@hidden @samp{\x} Escape sequence @tab X @tab X @tab X @tab
address@hidden address@hidden/dev/stderr} special file} {BWK @command{awk}} 
address@hidden address@hidden {Now standard}
address@hidden Feature @tab BWK @command{awk} @tab @command{mawk} @tab 
@command{gawk} @tab Now standard
address@hidden @samp{\x} escape sequence @tab X @tab X @tab X @tab
 @item @code{FS} as null string @tab X @tab X @tab X @tab
 @item @file{/dev/stdin} special file @tab X @tab X @tab X @tab
 @item @file{/dev/stdout} special file @tab X @tab X @tab X @tab
@@ -36408,7 +36408,7 @@ in the machine's native character set.  Thus, on 
ASCII-based systems,
 @samp{[a-z]} matched all the lowercase letters, and only the lowercase
 letters, as the numeric values for the letters from @samp{a} through
 @samp{z} were contiguous.  (On an EBCDIC system, the range @samp{[a-z]}
-includes additional, non-alphabetic characters as well.)
+includes additional nonalphabetic characters as well.)
 
 Almost all introductory Unix literature explained range expressions
 as working in this fashion, and in particular, would teach that the
@@ -36433,7 +36433,7 @@ What does that mean?
 In many locales, @samp{A} and @samp{a} are both less than @samp{B}.
 In other words, these locales sort characters in dictionary order,
 and @samp{[a-dx-z]} is typically not equivalent to @samp{[abcdxyz]};
-instead it might be equivalent to @samp{[ABCXYabcdxyz]}, for example.
+instead, it might be equivalent to @samp{[ABCXYabcdxyz]}, for example.
 
 This point needs to be emphasized: much literature teaches that you should
 use @samp{[a-z]} to match a lowercase character.  But on systems with
@@ -36462,23 +36462,23 @@ is perfectly valid in ASCII, but is not valid in many 
Unicode locales,
 such as @code{en_US.UTF-8}.
 
 Early versions of @command{gawk} used regexp matching code that was not
-locale aware, so ranges had their traditional interpretation.
+locale-aware, so ranges had their traditional interpretation.
 
 When @command{gawk} switched to using locale-aware regexp matchers,
 the problems began; especially as both GNU/Linux and commercial Unix
 vendors started implementing non-ASCII locales, @emph{and making them
 the default}.  Perhaps the most frequently asked question became something
-like ``why does @samp{[A-Z]} match lowercase letters?!?''
+like, ``Why does @samp{[A-Z]} match lowercase letters?!?''
 
 @cindex Berry, Karl
 This situation existed for close to 10 years, if not more, and
 the @command{gawk} maintainer grew weary of trying to explain that
address@hidden was being nicely standards compliant, and that the issue
address@hidden was being nicely standards-compliant, and that the issue
 was in the user's locale.  During the development of @value{PVERSION} 4.0,
 he modified @command{gawk} to always treat ranges in the original,
 pre-POSIX fashion, unless @option{--posix} was used 
(@pxref{Options})address@hidden
 thus was born the Campaign for Rational Range Interpretation (or
-RRI). A number of GNU tools have either implemented this change,
+RRI). A number of GNU tools have already implemented this change,
 or will soon.  Thanks to Karl Berry for coining the phrase ``Rational
 Range Interpretation.''}
 
@@ -36492,9 +36492,10 @@ and
 
 By using this lovely technical term, the standard gives license
 to implementors to implement ranges in whatever way they choose.
-The @command{gawk} maintainer chose to apply the pre-POSIX meaning in all
-cases: the default regexp matching; with @option{--traditional} and with
address@hidden; in all cases, @command{gawk} remains POSIX compliant.
+The @command{gawk} maintainer chose to apply the pre-POSIX meaning
+both with the default regexp matching and when @option{--traditional} or
address@hidden are used.
+In all cases @command{gawk} remains POSIX-compliant.
 
 @node Contributors
 @appendixsec Major Contributors to @command{gawk}
@@ -36540,7 +36541,7 @@ to around 90 pages.
 Richard Stallman
 helped finish the implementation and the initial draft of this
 @value{DOCUMENT}.
-He is also the founder of the FSF and the GNU project.
+He is also the founder of the FSF and the GNU Project.
 
 @item
 @cindex Woods, John
@@ -36704,28 +36705,28 @@ John Haque made the following contributions:
 @itemize @value{MINUS}
 @item
 The modifications to convert @command{gawk}
-into a byte-code interpreter, including the debugger.
+into a byte-code interpreter, including the debugger
 
 @item
-The addition of true arrays of arrays.
+The addition of true arrays of arrays
 
 @item
-The additional modifications for support of arbitrary-precision arithmetic.
+The additional modifications for support of arbitrary-precision arithmetic
 
 @item
 The initial text of
address@hidden Precision Arithmetic}.
address@hidden Precision Arithmetic}
 
 @item
 The work to merge the three versions of @command{gawk}
-into one, for the 4.1 release.
+into one, for the 4.1 release
 
 @item
-Improved array internals for arrays indexed by integers.
+Improved array internals for arrays indexed by integers
 
 @item
-The improved array sorting features were driven by John together
-with Pat Rankin.
+The improved array sorting features were also driven by John, together
+with Pat Rankin
 @end itemize
 
 @cindex Papadopoulos, Panos
@@ -36766,10 +36767,10 @@ helping David Trueman, and as the primary maintainer 
since around 1994.
 @itemize @value{BULLET}
 @item
 The @command{awk} language has evolved over time. The first release
-was with V7 Unix circa 1978.  In 1987, for System V Release 3.1,
+was with V7 Unix, circa 1978.  In 1987, for System V Release 3.1,
 major additions, including user-defined functions, were made to the language.
 Additional changes were made for System V Release 4, in 1989.
-Since then, further minor changes happen under the auspices of the
+Since then, further minor changes have happened under the auspices of the
 POSIX standard.
 
 @item
@@ -36785,7 +36786,7 @@ options.
 The interaction of POSIX locales and regexp matching in @command{gawk} has 
been confusing over
 the years. Today, @command{gawk} implements Rational Range Interpretation, 
where
 ranges of the form @samp{[a-z]} match @emph{only} the characters numerically 
between
address@hidden through @samp{z} in the machine's native character set.  Usually 
this is ASCII
address@hidden through @samp{z} in the machine's native character set.  Usually 
this is ASCII,
 but it can be EBCDIC on IBM S/390 systems.
 
 @item
@@ -36870,7 +36871,7 @@ will be less busy, and you can usually find one closer 
to your site.
 @command{gawk} is distributed as several @code{tar} files compressed with
 different compression programs: @command{gzip}, @command{bzip2},
 and @command{xz}. For simplicity, the rest of these instructions assume
-you are using the one compressed with the GNU Zip program, @code{gzip}.
+you are using the one compressed with the GNU Gzip program (@command{gzip}).
 
 Once you have the distribution (e.g.,
 @address@hidden@value{PATCHLEVEL}.tar.gz}),
@@ -36921,12 +36922,12 @@ operating systems:
 
 @table @asis
 @item Various @samp{.c}, @samp{.y}, and @samp{.h} files
-The actual @command{gawk} source code.
+These files contain the actual @command{gawk} source code.
 @end table
 
 @table @file
 @item ABOUT-NLS
-Information about GNU @command{gettext} and translations.
+A file containing information about GNU @command{gettext} and translations.
 
 @item AUTHORS
 A file with some information about the authorship of @command{gawk}.
@@ -36956,7 +36957,7 @@ An older list of changes to @command{gawk}.
 The GNU General Public License.
 
 @item POSIX.STD
-A description of behaviors in the POSIX standard for @command{awk} which
+A description of behaviors in the POSIX standard for @command{awk} that
 are left undefined, or where @command{gawk} may not comply fully, as well
 as a list of things that the POSIX standard should describe but does not.
 
@@ -37221,14 +37222,17 @@ Similarly, setting the @code{LINT} variable
 (@pxref{User-modified})
 has no effect on the running @command{awk} program.
 
-When used with GCC's automatic dead-code-elimination, this option
+When used with the GNU Compiler Collection's (GCC's)
+automatic dead-code-elimination, this option
 cuts almost 23K bytes off the size of the @command{gawk}
 executable on GNU/Linux x86_64 systems.  Results on other systems and
 with other compilers are likely to vary.
 Using this option may bring you some slight performance improvement.
 
address@hidden CAUTION
 Using this option will cause some of the tests in the test suite
 to fail.  This option may be removed at a later date.
address@hidden quotation
 
 @cindex @option{--disable-nls} configuration option
 @cindex configuration option, @code{--disable-nls}
@@ -37325,10 +37329,10 @@ running MS-DOS, any version of MS-Windows, or OS/2.
 running MS-DOS and any version of MS-Windows.
 @end ifset
 In this @value{SECTION}, the term ``Windows32''
-refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8.
+refers to any of Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8.
 
 The limitations of MS-DOS (and MS-DOS shells under the other operating
-systems) has meant that various ``DOS extenders'' are often used with
+systems) have meant that various ``DOS extenders'' are often used with
 programs such as @command{gawk}.  The varying capabilities of Microsoft
 Windows 3.1 and Windows32 can add to the confusion.  For an overview
 of the considerations, refer to @file{README_d/README.pc} in
@@ -37587,7 +37591,7 @@ Under MS-Windows, OS/2 and MS-DOS,
 Under MS-Windows and MS-DOS,
 @end ifset
 @command{gawk} (and many other text programs) silently
-translate end-of-line @samp{\r\n} to @samp{\n} on input and @samp{\n}
+translates end-of-line @samp{\r\n} to @samp{\n} on input and @samp{\n}
 to @samp{\r\n} on output.  A special @code{BINMODE} variable @value{COMMONEXT}
 allows control over these translations and is interpreted as follows:
 
@@ -37621,7 +37625,7 @@ Setting @code{BINMODE} for standard input or
 standard output is accomplished by using an
 appropriate @samp{-v address@hidden option on the command line.
 @code{BINMODE} is set at the time a file or pipe is opened and cannot be
-changed mid-stream.
+changed midstream.
 
 The name @code{BINMODE} was chosen to match @command{mawk}
 (@pxref{Other Versions}).
@@ -37677,8 +37681,8 @@ moved into the @code{BEGIN} rule.
 
 @command{gawk} can be built and used ``out of the box'' under MS-Windows
 if you are using the @uref{http://www.cygwin.com, Cygwin environment}.
-This environment provides an excellent simulation of GNU/Linux, using the
-GNU tools, such as Bash, the GNU Compiler Collection (GCC), GNU Make,
+This environment provides an excellent simulation of GNU/Linux, using
+Bash, GCC, GNU Make,
 and other GNU programs.  Compilation and installation for Cygwin is the
 same as for a Unix system:
 
@@ -37697,7 +37701,7 @@ and then the @samp{make} proceeds as usual.
 @appendixsubsubsec Using @command{gawk} In The MSYS Environment
 
 In the MSYS environment under MS-Windows, @command{gawk} automatically
-uses binary mode for reading and writing files.  Thus there is no
+uses binary mode for reading and writing files.  Thus, there is no
 need to use the @code{BINMODE} variable.
 
 This can cause problems with other Unix-like components that have
@@ -37761,7 +37765,7 @@ With ODS-5 volumes and extended parsing enabled, the 
case of the target
 parameter may need to be exact.
 
 @command{gawk} has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1
-using Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
+using Compaq C V6.4, and under Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 
8.3.
 The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both
 Alpha and IA64 VMS 8.4 used HP C address@hidden IA64 architecture
 is also known as ``Itanium.''}
@@ -37809,7 +37813,7 @@ For VAX:
 /name=(as_is,short)
 @end example
 
-Compile time macros need to be defined before the first VMS-supplied
+Compile-time macros need to be defined before the first VMS-supplied
 header file is included, as follows:
 
 @example
@@ -37856,7 +37860,7 @@ If your @command{gawk} was installed by a PCSI kit into 
the
 @file{GNV$GNU:[vms_help]gawk.hlp}.
 
 The PCSI kit also installs a @file{GNV$GNU:[vms_bin]gawk_verb.cld} file
-which can be used to add @command{gawk} and @command{awk} as DCL commands.
+that can be used to add @command{gawk} and @command{awk} as DCL commands.
 
 For just the current process you can use:
 
@@ -37865,7 +37869,7 @@ $ @kbd{set command gnv$gnu:[vms_bin]gawk_verb.cld}
 @end example
 
 Or the system manager can use @file{GNV$GNU:[vms_bin]gawk_verb.cld} to
-add the @command{gawk} and @command{awk} to the system wide @samp{DCLTABLES}.
+add the @command{gawk} and @command{awk} to the system-wide @samp{DCLTABLES}.
 
 The DCL syntax is documented in the @file{gawk.hlp} file.
 
@@ -37931,14 +37935,14 @@ The @code{exit} value is a Unix-style value and is 
encoded into a VMS exit
 status value when the program exits.
 
 The VMS severity bits will be set based on the @code{exit} value.
-A failure is indicated by 1 and VMS sets the @code{ERROR} status.
-A fatal error is indicated by 2 and VMS sets the @code{FATAL} status.
+A failure is indicated by 1, and VMS sets the @code{ERROR} status.
+A fatal error is indicated by 2, and VMS sets the @code{FATAL} status.
 All other values will have the @code{SUCCESS} status.  The exit value is
 encoded to comply with VMS coding standards and will have the
 @code{C_FACILITY_NO} of @code{0x350000} with the constant @code{0xA000}
 added to the number shifted over by 3 bits to make room for the severity codes.
 
-To extract the actual @command{gawk} exit code from the VMS status use:
+To extract the actual @command{gawk} exit code from the VMS status, use:
 
 @example
 unix_status = (vms_status .and. &x7f8) / 8
@@ -37957,7 +37961,7 @@ VAX/VMS floating point uses unbiased rounding. 
@xref{Round Function}.
 
 VMS reports time values in GMT unless one of the @code{SYS$TIMEZONE_RULE}
 or @code{TZ} logical names is set.  Older versions of VMS, such as VAX/VMS
-7.3 do not set these logical names.
+7.3, do not set these logical names.
 
 @c @cindex directory search
 @c @cindex path, search
@@ -37975,7 +37979,7 @@ translation and not a multitranslation @code{RMS} 
searchlist.
 
 The VMS GNV package provides a build environment similar to POSIX with ports
 of a collection of open source tools.  The @command{gawk} found in the GNV
-base kit is an older port.  Currently the GNV project is being reorganized
+base kit is an older port.  Currently, the GNV project is being reorganized
 to supply individual PCSI packages for each component.
 See @address@hidden://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.}
 
@@ -38048,7 +38052,7 @@ recommend compiling and using the current version.
 @cindex debugging @command{gawk}, bug reports
 @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
+report it to the developers; we cannot promise to do anything,
 but we might well want to fix it.
 
 Before reporting a bug, make sure you have really found a genuine bug.
@@ -38058,7 +38062,7 @@ to do something or not, report that too; it's a bug in 
the documentation!
 
 Before reporting a bug or trying to fix it yourself, try to isolate it
 to the smallest possible @command{awk} program and input @value{DF} that
-reproduces the problem.  Then send us the program and @value{DF},
+reproduce the problem.  Then send us the program and @value{DF},
 some idea of what kind of Unix system you're using,
 the compiler you used to compile @command{gawk}, and the exact results
 @command{gawk} gave you.  Also say what you expected to occur; this helps
@@ -38073,7 +38077,7 @@ You can get this information with the command 
@samp{gawk --version}.
 Once you have a precise problem description, send email to
 @EMAIL{bug-gawk@@gnu.org,bug-gawk at gnu dot org}.
 
-The @command{gawk} maintainers subscribe to this address and
+The @command{gawk} maintainers subscribe to this address, and
 thus they will receive your bug report.
 Although you can send mail to the maintainers directly,
 the bug reporting address is preferred because the
@@ -38100,8 +38104,8 @@ bug reporting system, you should also send a copy to
 This is for two reasons.  First, although some distributions forward
 bug reports ``upstream'' to the GNU mailing list, many don't, so there is a 
good
 chance that the @command{gawk}  maintainers won't even see the bug report!  
Second,
-mail to the GNU list is archived, and having everything at the GNU project
-keeps things self-contained and not dependant on other organizations.
+mail to the GNU list is archived, and having everything at the GNU Project
+keeps things self-contained and not dependent on other organizations.
 @end quotation
 
 Non-bug suggestions are always welcome as well.  If you have questions
@@ -38110,7 +38114,7 @@ features, ask on the bug list; we will try to help you 
out if we can.
 
 If you find bugs in one of the non-Unix ports of @command{gawk},
 send an email to the bug list, with a copy to the
-person who maintains that port.  They are named in the following list,
+person who maintains that port.  The maintainers are named in the following 
list,
 as well as in the @file{README} file in the @command{gawk} distribution.
 Information in the @file{README} file should be considered authoritative
 if it conflicts with this @value{DOCUMENT}.
@@ -38125,19 +38129,19 @@ The people maintaining the various @command{gawk} 
ports are:
 @cindex Robbins, Arnold
 @cindex Zaretskii, Eli
 @multitable {MS-Windows with MinGW} 
{123456789012345678901234567890123456789001234567890}
address@hidden Unix and POSIX systems @tab Arnold Robbins, 
@EMAIL{arnold@@skeeve.com,arnold at skeeve dot com}.
address@hidden Unix and POSIX systems @tab Arnold Robbins, 
@EMAIL{arnold@@skeeve.com,arnold at skeeve dot com}
 
address@hidden MS-DOS with DJGPP @tab Scott Deifik, 
@EMAIL{scottd.mail@@sbcglobal.net,scottd dot mail at sbcglobal dot net}.
address@hidden MS-DOS with DJGPP @tab Scott Deifik, 
@EMAIL{scottd.mail@@sbcglobal.net,scottd dot mail at sbcglobal dot net}
 
address@hidden MS-Windows with MinGW @tab Eli Zaretskii, 
@EMAIL{eliz@@gnu.org,eliz at gnu dot org}.
address@hidden MS-Windows with MinGW @tab Eli Zaretskii, 
@EMAIL{eliz@@gnu.org,eliz at gnu dot org}
 
 @c Leave this in the print version on purpose.
 @c OS/2 is not mentioned anywhere else in the print version though.
address@hidden OS/2 @tab Andreas Buening, 
@EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}.
address@hidden OS/2 @tab Andreas Buening, 
@EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}
 
address@hidden VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at 
qsl.net}.
address@hidden VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl.net}
 
address@hidden z/OS (OS/390) @tab Dave Pitts, @EMAIL{dpitts@@cozx.com,dpitts at 
cozx dot com}.
address@hidden z/OS (OS/390) @tab Dave Pitts, @EMAIL{dpitts@@cozx.com,dpitts at 
cozx dot com}
 @end multitable
 
 If your bug is also reproducible under Unix, send a copy of your
@@ -38156,7 +38160,7 @@ Date: Wed, 4 Sep 1996 08:11:48 -0700 (PDT)
 @cindex Brennan, Michael
 @ifnotdocbook
 @quotation
address@hidden's kind of fun to put comments like this in your awk 
address@hidden
address@hidden's kind of fun to put comments like this in your awk 
code:address@hidden
 @ @ @ @ @ @ @code{// Do C++ comments work? answer: yes! of course}
 @author Michael Brennan
 @end quotation
@@ -38197,7 +38201,7 @@ It is available in several archive formats:
 @end table
 
 @cindex @command{git} utility
-You can also retrieve it from Git Hub:
+You can also retrieve it from GitHub:
 
 @example
 git clone git://github.com/onetrueawk/awk bwkawk
@@ -38257,7 +38261,7 @@ for a list of extensions in @command{mawk} that are not 
in POSIX @command{awk}.
 @item @command{awka}
 Written by Andrew Sumner,
 @command{awka} translates @command{awk} programs into C, compiles them,
-and links them with a library of functions that provides the core
+and links them with a library of functions that provide the core
 @command{awk} functionality.
 It also has a number of extensions.
 
@@ -38278,17 +38282,17 @@ since approximately 2001.
 Nelson H.F.@: Beebe at the University of Utah has modified
 BWK @command{awk} to provide timing and profiling information.
 It is different from @command{gawk} with the @option{--profile} option
-(@pxref{Profiling}),
+(@pxref{Profiling})
 in that it uses CPU-based profiling, not line-count
 profiling.  You may find it at either
 @uref{ftp://ftp.math.utah.edu/pub/pawk/pawk-20030606.tar.gz}
 or
 @uref{http://www.math.utah.edu/pub/pawk/pawk-20030606.tar.gz}.
 
address@hidden Busybox Awk
address@hidden Busybox Awk
address@hidden source code, Busybox Awk
-Busybox is a GPL-licensed program providing small versions of many
address@hidden BusyBox @command{awk}
address@hidden BusyBox Awk
address@hidden source code, BusyBox Awk
+BusyBox is a GPL-licensed program providing small versions of many
 applications within a single executable. It is aimed at embedded systems.
 It includes a full implementation of POSIX @command{awk}.  When building
 it, be careful not to do @samp{make install} as it will overwrite
@@ -38300,7 +38304,7 @@ information, see the @uref{http://busybox.net, 
project's home page}.
 @cindex source code, Solaris @command{awk}
 @item The OpenSolaris POSIX @command{awk}
 The versions of @command{awk} in @file{/usr/xpg4/bin} and
address@hidden/usr/xpg6/bin} on Solaris are more-or-less POSIX-compliant.
address@hidden/usr/xpg6/bin} on Solaris are more or less POSIX-compliant.
 They are based on the @command{awk} from Mortice Kern Systems for PCs.
 We were able to make this code compile and work under GNU/Linux
 with 1--2 hours of work.  Making it more generally portable (using
@@ -38341,9 +38345,9 @@ features to Python. See 
@uref{https://github.com/alecthomas/pawk}
 for more information. (This is not related to Nelson Beebe's
 modified version of BWK @command{awk}, described earlier.)
 
address@hidden @w{QSE Awk}
address@hidden QSE Awk
address@hidden source code, QSE Awk
address@hidden @w{QSE @command{awk}}
address@hidden QSE @command{awk}
address@hidden source code, QSE @command{awk}
 This is an embeddable @command{awk} interpreter. For more information,
 see @uref{http://code.google.com/p/qse/} and @uref{http://awk.info/?tools/qse}.
 
@@ -38362,7 +38366,7 @@ since approximately 2008.
 @item Other versions
 See also the ``Versions and implementations'' section of the
 @uref{http://en.wikipedia.org/wiki/Awk_language#Versions_and_implementations,
-Wikipedia article} for information on additional versions.
+Wikipedia article} on @command{awk} for information on additional versions.
 
 @end table
 
@@ -38371,7 +38375,7 @@ Wikipedia article} for information on additional 
versions.
 
 @itemize @value{BULLET}
 @item
-The @command{gawk} distribution is available from GNU project's main
+The @command{gawk} distribution is available from the GNU Project's main
 distribution site, @code{ftp.gnu.org}.  The canonical build recipe is:
 
 @example
@@ -38383,22 +38387,22 @@ cd address@hidden@value{PATCHLEVEL}
 
 @item
 @command{gawk} may be built on non-POSIX systems as well. The currently
-supported systems are MS-Windows using DJGPP, MSYS, MinGW and Cygwin,
+supported systems are MS-Windows using DJGPP, MSYS, MinGW, and Cygwin,
 @ifclear FOR_PRINT
 OS/2 using EMX,
 @end ifclear
 and both Vax/VMS and OpenVMS.
-Instructions for each system are included in this @value{CHAPTER}.
+Instructions for each system are included in this @value{APPENDIX}.
 
 @item
 Bug reports should be sent via email to @email{bug-gawk@@gnu.org}.
-Bug reports should be in English, and should include the version of 
@command{gawk},
-how it was compiled, and a short program and @value{DF} which demonstrate
+Bug reports should be in English and should include the version of 
@command{gawk},
+how it was compiled, and a short program and @value{DF} that demonstrate
 the problem.
 
 @item
 There are a number of other freely available @command{awk}
-implementations.  Many are POSIX compliant; others are less so.
+implementations.  Many are POSIX-compliant; others are less so.
 
 @end itemize
 
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 16847eb..724a559 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -34297,81 +34297,81 @@ cross-references to further details:
 @itemize @value{BULLET}
 @item
 The requirement for @samp{;} to separate rules on a line
-(@pxref{Statements/Lines}).
+(@pxref{Statements/Lines})
 
 @item
 User-defined functions and the @code{return} statement
-(@pxref{User-defined}).
+(@pxref{User-defined})
 
 @item
 The @code{delete} statement (@pxref{Delete}).
 
 @item
 The @address@hidden statement
-(@pxref{Do Statement}).
+(@pxref{Do Statement})
 
 @item
 The built-in functions @code{atan2()}, @code{cos()}, @code{sin()}, 
@code{rand()}, and
address@hidden()} (@pxref{Numeric Functions}).
address@hidden()} (@pxref{Numeric Functions})
 
 @item
 The built-in functions @code{gsub()}, @code{sub()}, and @code{match()}
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 The built-in functions @code{close()} and @code{system()}
-(@pxref{I/O Functions}).
+(@pxref{I/O Functions})
 
 @item
 The @code{ARGC}, @code{ARGV}, @code{FNR}, @code{RLENGTH}, @code{RSTART},
-and @code{SUBSEP} predefined variables (@pxref{Built-in Variables}).
+and @code{SUBSEP} predefined variables (@pxref{Built-in Variables})
 
 @item
-Assignable @code{$0} (@pxref{Changing Fields}).
+Assignable @code{$0} (@pxref{Changing Fields})
 
 @item
 The conditional expression using the ternary operator @samp{?:}
-(@pxref{Conditional Exp}).
+(@pxref{Conditional Exp})
 
 @item
-The expression @address@hidden in @var{array}} outside of @code{for}
-statements (@pxref{Reference to Elements}).
+The expression @address@hidden in @var{array}} outside of @code{for}
+statements (@pxref{Reference to Elements})
 
 @item
 The exponentiation operator @samp{^}
 (@pxref{Arithmetic Ops}) and its assignment operator
-form @samp{^=} (@pxref{Assignment Ops}).
+form @samp{^=} (@pxref{Assignment Ops})
 
 @item
 C-compatible operator precedence, which breaks some old @command{awk}
-programs (@pxref{Precedence}).
+programs (@pxref{Precedence})
 
 @item
 Regexps as the value of @code{FS}
 (@pxref{Field Separators}) and as the
 third argument to the @code{split()} function
 (@pxref{String Functions}), rather than using only the first character
-of @code{FS}.
+of @code{FS}
 
 @item
 Dynamic regexps as operands of the @samp{~} and @samp{!~} operators
-(@pxref{Computed Regexps}).
+(@pxref{Computed Regexps})
 
 @item
 The escape sequences @samp{\b}, @samp{\f}, and @samp{\r}
-(@pxref{Escape Sequences}).
+(@pxref{Escape Sequences})
 
 @item
 Redirection of input for the @code{getline} function
-(@pxref{Getline}).
+(@pxref{Getline})
 
 @item
 Multiple @code{BEGIN} and @code{END} rules
-(@pxref{BEGIN/END}).
+(@pxref{BEGIN/END})
 
 @item
 Multidimensional arrays
-(@pxref{Multidimensional}).
+(@pxref{Multidimensional})
 @end itemize
 
 @node SVR4
@@ -34383,54 +34383,54 @@ The System V Release 4 (1989) version of Unix 
@command{awk} added these features
 
 @itemize @value{BULLET}
 @item
-The @code{ENVIRON} array (@pxref{Built-in Variables}).
+The @code{ENVIRON} array (@pxref{Built-in Variables})
 @c gawk and MKS awk
 
 @item
 Multiple @option{-f} options on the command line
-(@pxref{Options}).
+(@pxref{Options})
 @c MKS awk
 
 @item
 The @option{-v} option for assigning variables before program execution begins
-(@pxref{Options}).
+(@pxref{Options})
 @c GNU, Bell Laboratories & MKS together
 
 @item
-The @option{--} signal for terminating command-line options.
+The @option{--} signal for terminating command-line options
 
 @item
 The @samp{\a}, @samp{\v}, and @samp{\x} escape sequences
-(@pxref{Escape Sequences}).
+(@pxref{Escape Sequences})
 @c GNU, for ANSI C compat
 
 @item
 A defined return value for the @code{srand()} built-in function
-(@pxref{Numeric Functions}).
+(@pxref{Numeric Functions})
 
 @item
 The @code{toupper()} and @code{tolower()} built-in string functions
 for case translation
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 A cleaner specification for the @samp{%c} format-control letter in the
 @code{printf} function
-(@pxref{Control Letters}).
+(@pxref{Control Letters})
 
 @item
 The ability to dynamically pass the field width and precision (@code{"%*.*d"})
 in the argument list of @code{printf} and @code{sprintf()}
-(@pxref{Control Letters}).
+(@pxref{Control Letters})
 
 @item
 The use of regexp constants, such as @code{/foo/}, as expressions, where
 they are equivalent to using the matching operator, as in @samp{$0 ~ /foo/}
-(@pxref{Using Constant Regexps}).
+(@pxref{Using Constant Regexps})
 
 @item
 Processing of escape sequences inside command-line variable assignments
-(@pxref{Assignment Options}).
+(@pxref{Assignment Options})
 @end itemize
 
 @node POSIX
@@ -34444,23 +34444,23 @@ introduced the following changes into the language:
 @itemize @value{BULLET}
 @item
 The use of @option{-W} for implementation-specific options
-(@pxref{Options}).
+(@pxref{Options})
 
 @item
 The use of @code{CONVFMT} for controlling the conversion of numbers
-to strings (@pxref{Conversion}).
+to strings (@pxref{Conversion})
 
 @item
 The concept of a numeric string and tighter comparison rules to go
-with it (@pxref{Typing and Comparison}).
+with it (@pxref{Typing and Comparison})
 
 @item
 The use of predefined variables as function parameter names is forbidden
-(@pxref{Definition Syntax}).
+(@pxref{Definition Syntax})
 
 @item
 More complete documentation of many of the previously undocumented
-features of the language.
+features of the language
 @end itemize
 
 In 2012, a number of extensions that had been commonly available for
@@ -34469,15 +34469,15 @@ many years were finally added to POSIX. They are:
 @itemize @value{BULLET}
 @item
 The @code{fflush()} built-in function for flushing buffered output
-(@pxref{I/O Functions}).
+(@pxref{I/O Functions})
 
 @item
 The @code{nextfile} statement
-(@pxref{Nextfile Statement}).
+(@pxref{Nextfile Statement})
 
 @item
 The ability to delete all of an array at once with @samp{delete @var{array}}
-(@pxref{Delete}).
+(@pxref{Delete})
 
 @end itemize
 
@@ -34507,22 +34507,22 @@ originally appeared in his version of @command{awk}:
 The @samp{**} and @samp{**=} operators
 (@pxref{Arithmetic Ops}
 and
address@hidden Ops}).
address@hidden Ops})
 
 @item
 The use of @code{func} as an abbreviation for @code{function}
-(@pxref{Definition Syntax}).
+(@pxref{Definition Syntax})
 
 @item
 The @code{fflush()} built-in function for flushing buffered output
-(@pxref{I/O Functions}).
+(@pxref{I/O Functions})
 
 @ignore
 @item
 The @code{SYMTAB} array, that allows access to @command{awk}'s internal symbol
 table. This feature was never documented for his @command{awk}, largely because
 it is somewhat shakily implemented. For instance, you cannot access arrays
-or array elements through it.
+or array elements through it
 @end ignore
 @end itemize
 
@@ -34552,7 +34552,7 @@ Additional predefined variables:
 @itemize @value{MINUS}
 @item
 The
address@hidden
address@hidden,
 @code{BINMODE},
 @code{ERRNO},
 @code{FIELDWIDTHS},
@@ -34564,7 +34564,7 @@ The
 and
 @code{TEXTDOMAIN}
 variables
-(@pxref{Built-in Variables}).
+(@pxref{Built-in Variables})
 @end itemize
 
 @item
@@ -34572,15 +34572,15 @@ Special files in I/O redirections:
 
 @itemize @value{MINUS}
 @item
-The @file{/dev/stdin}, @file{/dev/stdout}, @file{/dev/stderr} and
+The @file{/dev/stdin}, @file{/dev/stdout}, @file{/dev/stderr}, and
 @file{/dev/fd/@var{N}} special @value{FN}s
-(@pxref{Special Files}).
+(@pxref{Special Files})
 
 @item
 The @file{/inet}, @file{/inet4}, and @samp{/inet6} special files for
 TCP/IP networking using @samp{|&} to specify which version of the
 IP protocol to use
-(@pxref{TCP/IP Networking}).
+(@pxref{TCP/IP Networking})
 @end itemize
 
 @item
@@ -34589,37 +34589,37 @@ Changes and/or additions to the language:
 @itemize @value{MINUS}
 @item
 The @samp{\x} escape sequence
-(@pxref{Escape Sequences}).
+(@pxref{Escape Sequences})
 
 @item
 Full support for both POSIX and GNU regexps
-(@pxref{Regexp}).
+(@pxref{Regexp})
 
 @item
 The ability for @code{FS} and for the third
 argument to @code{split()} to be null strings
-(@pxref{Single Character Fields}).
+(@pxref{Single Character Fields})
 
 @item
 The ability for @code{RS} to be a regexp
-(@pxref{Records}).
+(@pxref{Records})
 
 @item
 The ability to use octal and hexadecimal constants in @command{awk}
 program source code
-(@pxref{Nondecimal-numbers}).
+(@pxref{Nondecimal-numbers})
 
 @item
 The @samp{|&} operator for two-way I/O to a coprocess
-(@pxref{Two-way I/O}).
+(@pxref{Two-way I/O})
 
 @item
 Indirect function calls
-(@pxref{Indirect Calls}).
+(@pxref{Indirect Calls})
 
 @item
 Directories on the command line produce a warning and are skipped
-(@pxref{Command-line directories}).
+(@pxref{Command-line directories})
 @end itemize
 
 @item
@@ -34628,11 +34628,11 @@ New keywords:
 @itemize @value{MINUS}
 @item
 The @code{BEGINFILE} and @code{ENDFILE} special patterns
-(@pxref{BEGINFILE/ENDFILE}).
+(@pxref{BEGINFILE/ENDFILE})
 
 @item
 The @code{switch} statement
-(@pxref{Switch Statement}).
+(@pxref{Switch Statement})
 @end itemize
 
 @item
@@ -34642,30 +34642,30 @@ Changes to standard @command{awk} functions:
 @item
 The optional second argument to @code{close()} that allows closing one end
 of a two-way pipe to a coprocess
-(@pxref{Two-way I/O}).
+(@pxref{Two-way I/O})
 
 @item
-POSIX compliance for @code{gsub()} and @code{sub()} with @option{--posix}.
+POSIX compliance for @code{gsub()} and @code{sub()} with @option{--posix}
 
 @item
 The @code{length()} function accepts an array argument
 and returns the number of elements in the array
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 The optional third argument to the @code{match()} function
 for capturing text-matching subexpressions within a regexp
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 Positional specifiers in @code{printf} formats for
 making translations easier
-(@pxref{Printf Ordering}).
+(@pxref{Printf Ordering})
 
 @item
 The @code{split()} function's additional optional fourth
-argument which is an array to hold the text of the field separators
-(@pxref{String Functions}).
+argument, which is an array to hold the text of the field separators
+(@pxref{String Functions})
 @end itemize
 
 @item
@@ -34675,16 +34675,16 @@ Additional functions only in @command{gawk}:
 @item
 The @code{gensub()}, @code{patsplit()}, and @code{strtonum()} functions
 for more powerful text manipulation
-(@pxref{String Functions}).
+(@pxref{String Functions})
 
 @item
 The @code{asort()} and @code{asorti()} functions for sorting arrays
-(@pxref{Array Sorting}).
+(@pxref{Array Sorting})
 
 @item
 The @code{mktime()}, @code{systime()}, and @code{strftime()}
 functions for working with timestamps
-(@pxref{Time Functions}).
+(@pxref{Time Functions})
 
 @item
 The
@@ -34696,17 +34696,17 @@ The
 and
 @code{xor()}
 functions for bit manipulation
-(@pxref{Bitwise Functions}).
+(@pxref{Bitwise Functions})
 @c In 4.1, and(), or() and xor() grew the ability to take > 2 arguments
 
 @item
 The @code{isarray()} function to check if a variable is an array or not
-(@pxref{Type Functions}).
+(@pxref{Type Functions})
 
 @item
-The @code{bindtextdomain()}, @code{dcgettext()} and @code{dcngettext()}
+The @code{bindtextdomain()}, @code{dcgettext()}, and @code{dcngettext()}
 functions for internationalization
-(@pxref{Programmer i18n}).
+(@pxref{Programmer i18n})
 @end itemize
 
 @item
@@ -34716,12 +34716,12 @@ Changes and/or additions in the command-line options:
 @item
 The @env{AWKPATH} environment variable for specifying a path search for
 the @option{-f} command-line option
-(@pxref{Options}).
+(@pxref{Options})
 
 @item
 The @env{AWKLIBPATH} environment variable for specifying a path search for
 the @option{-l} command-line option
-(@pxref{Options}).
+(@pxref{Options})
 
 @item
 The
@@ -34750,7 +34750,7 @@ The
 and
 @option{-V}
 short options. Also, the
-ability to use GNU-style long-named options that start with @option{--}
+ability to use GNU-style long-named options that start with @option{--},
 and the
 @option{--assign},
 @option{--bignum},
@@ -34830,7 +34830,7 @@ GCC for VAX and Alpha has not been tested for a while.
 @end itemize
 
 @item
-Support for the following obsolete systems was removed from the code
+Support for the following obsolete system was removed from the code
 for @command{gawk} @value{PVERSION} 4.1:
 
 @c nested table
@@ -35466,9 +35466,9 @@ by @command{gawk}, Brian Kernighan's @command{awk}, and 
@command{mawk},
 the three most widely used freely available versions of @command{awk}
 (@pxref{Other Versions}).
 
address@hidden address@hidden/dev/stderr} special file} {BWK Awk} {Mawk} {GNU 
Awk} {Now standard}
address@hidden Feature @tab BWK Awk @tab Mawk @tab GNU Awk @tab Now standard
address@hidden @samp{\x} Escape sequence @tab X @tab X @tab X @tab
address@hidden address@hidden/dev/stderr} special file} {BWK @command{awk}} 
address@hidden address@hidden {Now standard}
address@hidden Feature @tab BWK @command{awk} @tab @command{mawk} @tab 
@command{gawk} @tab Now standard
address@hidden @samp{\x} escape sequence @tab X @tab X @tab X @tab
 @item @code{FS} as null string @tab X @tab X @tab X @tab
 @item @file{/dev/stdin} special file @tab X @tab X @tab X @tab
 @item @file{/dev/stdout} special file @tab X @tab X @tab X @tab
@@ -35499,7 +35499,7 @@ in the machine's native character set.  Thus, on 
ASCII-based systems,
 @samp{[a-z]} matched all the lowercase letters, and only the lowercase
 letters, as the numeric values for the letters from @samp{a} through
 @samp{z} were contiguous.  (On an EBCDIC system, the range @samp{[a-z]}
-includes additional, non-alphabetic characters as well.)
+includes additional nonalphabetic characters as well.)
 
 Almost all introductory Unix literature explained range expressions
 as working in this fashion, and in particular, would teach that the
@@ -35524,7 +35524,7 @@ What does that mean?
 In many locales, @samp{A} and @samp{a} are both less than @samp{B}.
 In other words, these locales sort characters in dictionary order,
 and @samp{[a-dx-z]} is typically not equivalent to @samp{[abcdxyz]};
-instead it might be equivalent to @samp{[ABCXYabcdxyz]}, for example.
+instead, it might be equivalent to @samp{[ABCXYabcdxyz]}, for example.
 
 This point needs to be emphasized: much literature teaches that you should
 use @samp{[a-z]} to match a lowercase character.  But on systems with
@@ -35553,23 +35553,23 @@ is perfectly valid in ASCII, but is not valid in many 
Unicode locales,
 such as @code{en_US.UTF-8}.
 
 Early versions of @command{gawk} used regexp matching code that was not
-locale aware, so ranges had their traditional interpretation.
+locale-aware, so ranges had their traditional interpretation.
 
 When @command{gawk} switched to using locale-aware regexp matchers,
 the problems began; especially as both GNU/Linux and commercial Unix
 vendors started implementing non-ASCII locales, @emph{and making them
 the default}.  Perhaps the most frequently asked question became something
-like ``why does @samp{[A-Z]} match lowercase letters?!?''
+like, ``Why does @samp{[A-Z]} match lowercase letters?!?''
 
 @cindex Berry, Karl
 This situation existed for close to 10 years, if not more, and
 the @command{gawk} maintainer grew weary of trying to explain that
address@hidden was being nicely standards compliant, and that the issue
address@hidden was being nicely standards-compliant, and that the issue
 was in the user's locale.  During the development of @value{PVERSION} 4.0,
 he modified @command{gawk} to always treat ranges in the original,
 pre-POSIX fashion, unless @option{--posix} was used 
(@pxref{Options})address@hidden
 thus was born the Campaign for Rational Range Interpretation (or
-RRI). A number of GNU tools have either implemented this change,
+RRI). A number of GNU tools have already implemented this change,
 or will soon.  Thanks to Karl Berry for coining the phrase ``Rational
 Range Interpretation.''}
 
@@ -35583,9 +35583,10 @@ and
 
 By using this lovely technical term, the standard gives license
 to implementors to implement ranges in whatever way they choose.
-The @command{gawk} maintainer chose to apply the pre-POSIX meaning in all
-cases: the default regexp matching; with @option{--traditional} and with
address@hidden; in all cases, @command{gawk} remains POSIX compliant.
+The @command{gawk} maintainer chose to apply the pre-POSIX meaning
+both with the default regexp matching and when @option{--traditional} or
address@hidden are used.
+In all cases @command{gawk} remains POSIX-compliant.
 
 @node Contributors
 @appendixsec Major Contributors to @command{gawk}
@@ -35631,7 +35632,7 @@ to around 90 pages.
 Richard Stallman
 helped finish the implementation and the initial draft of this
 @value{DOCUMENT}.
-He is also the founder of the FSF and the GNU project.
+He is also the founder of the FSF and the GNU Project.
 
 @item
 @cindex Woods, John
@@ -35795,28 +35796,28 @@ John Haque made the following contributions:
 @itemize @value{MINUS}
 @item
 The modifications to convert @command{gawk}
-into a byte-code interpreter, including the debugger.
+into a byte-code interpreter, including the debugger
 
 @item
-The addition of true arrays of arrays.
+The addition of true arrays of arrays
 
 @item
-The additional modifications for support of arbitrary-precision arithmetic.
+The additional modifications for support of arbitrary-precision arithmetic
 
 @item
 The initial text of
address@hidden Precision Arithmetic}.
address@hidden Precision Arithmetic}
 
 @item
 The work to merge the three versions of @command{gawk}
-into one, for the 4.1 release.
+into one, for the 4.1 release
 
 @item
-Improved array internals for arrays indexed by integers.
+Improved array internals for arrays indexed by integers
 
 @item
-The improved array sorting features were driven by John together
-with Pat Rankin.
+The improved array sorting features were also driven by John, together
+with Pat Rankin
 @end itemize
 
 @cindex Papadopoulos, Panos
@@ -35857,10 +35858,10 @@ helping David Trueman, and as the primary maintainer 
since around 1994.
 @itemize @value{BULLET}
 @item
 The @command{awk} language has evolved over time. The first release
-was with V7 Unix circa 1978.  In 1987, for System V Release 3.1,
+was with V7 Unix, circa 1978.  In 1987, for System V Release 3.1,
 major additions, including user-defined functions, were made to the language.
 Additional changes were made for System V Release 4, in 1989.
-Since then, further minor changes happen under the auspices of the
+Since then, further minor changes have happened under the auspices of the
 POSIX standard.
 
 @item
@@ -35876,7 +35877,7 @@ options.
 The interaction of POSIX locales and regexp matching in @command{gawk} has 
been confusing over
 the years. Today, @command{gawk} implements Rational Range Interpretation, 
where
 ranges of the form @samp{[a-z]} match @emph{only} the characters numerically 
between
address@hidden through @samp{z} in the machine's native character set.  Usually 
this is ASCII
address@hidden through @samp{z} in the machine's native character set.  Usually 
this is ASCII,
 but it can be EBCDIC on IBM S/390 systems.
 
 @item
@@ -35961,7 +35962,7 @@ will be less busy, and you can usually find one closer 
to your site.
 @command{gawk} is distributed as several @code{tar} files compressed with
 different compression programs: @command{gzip}, @command{bzip2},
 and @command{xz}. For simplicity, the rest of these instructions assume
-you are using the one compressed with the GNU Zip program, @code{gzip}.
+you are using the one compressed with the GNU Gzip program (@command{gzip}).
 
 Once you have the distribution (e.g.,
 @address@hidden@value{PATCHLEVEL}.tar.gz}),
@@ -36012,12 +36013,12 @@ operating systems:
 
 @table @asis
 @item Various @samp{.c}, @samp{.y}, and @samp{.h} files
-The actual @command{gawk} source code.
+These files contain the actual @command{gawk} source code.
 @end table
 
 @table @file
 @item ABOUT-NLS
-Information about GNU @command{gettext} and translations.
+A file containing information about GNU @command{gettext} and translations.
 
 @item AUTHORS
 A file with some information about the authorship of @command{gawk}.
@@ -36047,7 +36048,7 @@ An older list of changes to @command{gawk}.
 The GNU General Public License.
 
 @item POSIX.STD
-A description of behaviors in the POSIX standard for @command{awk} which
+A description of behaviors in the POSIX standard for @command{awk} that
 are left undefined, or where @command{gawk} may not comply fully, as well
 as a list of things that the POSIX standard should describe but does not.
 
@@ -36312,14 +36313,17 @@ Similarly, setting the @code{LINT} variable
 (@pxref{User-modified})
 has no effect on the running @command{awk} program.
 
-When used with GCC's automatic dead-code-elimination, this option
+When used with the GNU Compiler Collection's (GCC's)
+automatic dead-code-elimination, this option
 cuts almost 23K bytes off the size of the @command{gawk}
 executable on GNU/Linux x86_64 systems.  Results on other systems and
 with other compilers are likely to vary.
 Using this option may bring you some slight performance improvement.
 
address@hidden CAUTION
 Using this option will cause some of the tests in the test suite
 to fail.  This option may be removed at a later date.
address@hidden quotation
 
 @cindex @option{--disable-nls} configuration option
 @cindex configuration option, @code{--disable-nls}
@@ -36416,10 +36420,10 @@ running MS-DOS, any version of MS-Windows, or OS/2.
 running MS-DOS and any version of MS-Windows.
 @end ifset
 In this @value{SECTION}, the term ``Windows32''
-refers to any of Microsoft Windows-95/98/ME/NT/2000/XP/Vista/7/8.
+refers to any of Microsoft Windows 95/98/ME/NT/2000/XP/Vista/7/8.
 
 The limitations of MS-DOS (and MS-DOS shells under the other operating
-systems) has meant that various ``DOS extenders'' are often used with
+systems) have meant that various ``DOS extenders'' are often used with
 programs such as @command{gawk}.  The varying capabilities of Microsoft
 Windows 3.1 and Windows32 can add to the confusion.  For an overview
 of the considerations, refer to @file{README_d/README.pc} in
@@ -36678,7 +36682,7 @@ Under MS-Windows, OS/2 and MS-DOS,
 Under MS-Windows and MS-DOS,
 @end ifset
 @command{gawk} (and many other text programs) silently
-translate end-of-line @samp{\r\n} to @samp{\n} on input and @samp{\n}
+translates end-of-line @samp{\r\n} to @samp{\n} on input and @samp{\n}
 to @samp{\r\n} on output.  A special @code{BINMODE} variable @value{COMMONEXT}
 allows control over these translations and is interpreted as follows:
 
@@ -36712,7 +36716,7 @@ Setting @code{BINMODE} for standard input or
 standard output is accomplished by using an
 appropriate @samp{-v address@hidden option on the command line.
 @code{BINMODE} is set at the time a file or pipe is opened and cannot be
-changed mid-stream.
+changed midstream.
 
 The name @code{BINMODE} was chosen to match @command{mawk}
 (@pxref{Other Versions}).
@@ -36768,8 +36772,8 @@ moved into the @code{BEGIN} rule.
 
 @command{gawk} can be built and used ``out of the box'' under MS-Windows
 if you are using the @uref{http://www.cygwin.com, Cygwin environment}.
-This environment provides an excellent simulation of GNU/Linux, using the
-GNU tools, such as Bash, the GNU Compiler Collection (GCC), GNU Make,
+This environment provides an excellent simulation of GNU/Linux, using
+Bash, GCC, GNU Make,
 and other GNU programs.  Compilation and installation for Cygwin is the
 same as for a Unix system:
 
@@ -36788,7 +36792,7 @@ and then the @samp{make} proceeds as usual.
 @appendixsubsubsec Using @command{gawk} In The MSYS Environment
 
 In the MSYS environment under MS-Windows, @command{gawk} automatically
-uses binary mode for reading and writing files.  Thus there is no
+uses binary mode for reading and writing files.  Thus, there is no
 need to use the @code{BINMODE} variable.
 
 This can cause problems with other Unix-like components that have
@@ -36852,7 +36856,7 @@ With ODS-5 volumes and extended parsing enabled, the 
case of the target
 parameter may need to be exact.
 
 @command{gawk} has been tested under VAX/VMS 7.3 and Alpha/VMS 7.3-1
-using Compaq C V6.4, and Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 8.3.
+using Compaq C V6.4, and under Alpha/VMS 7.3, Alpha/VMS 7.3-2, and IA64/VMS 
8.3.
 The most recent builds used HP C V7.3 on Alpha VMS 8.3 and both
 Alpha and IA64 VMS 8.4 used HP C address@hidden IA64 architecture
 is also known as ``Itanium.''}
@@ -36900,7 +36904,7 @@ For VAX:
 /name=(as_is,short)
 @end example
 
-Compile time macros need to be defined before the first VMS-supplied
+Compile-time macros need to be defined before the first VMS-supplied
 header file is included, as follows:
 
 @example
@@ -36947,7 +36951,7 @@ If your @command{gawk} was installed by a PCSI kit into 
the
 @file{GNV$GNU:[vms_help]gawk.hlp}.
 
 The PCSI kit also installs a @file{GNV$GNU:[vms_bin]gawk_verb.cld} file
-which can be used to add @command{gawk} and @command{awk} as DCL commands.
+that can be used to add @command{gawk} and @command{awk} as DCL commands.
 
 For just the current process you can use:
 
@@ -36956,7 +36960,7 @@ $ @kbd{set command gnv$gnu:[vms_bin]gawk_verb.cld}
 @end example
 
 Or the system manager can use @file{GNV$GNU:[vms_bin]gawk_verb.cld} to
-add the @command{gawk} and @command{awk} to the system wide @samp{DCLTABLES}.
+add the @command{gawk} and @command{awk} to the system-wide @samp{DCLTABLES}.
 
 The DCL syntax is documented in the @file{gawk.hlp} file.
 
@@ -37022,14 +37026,14 @@ The @code{exit} value is a Unix-style value and is 
encoded into a VMS exit
 status value when the program exits.
 
 The VMS severity bits will be set based on the @code{exit} value.
-A failure is indicated by 1 and VMS sets the @code{ERROR} status.
-A fatal error is indicated by 2 and VMS sets the @code{FATAL} status.
+A failure is indicated by 1, and VMS sets the @code{ERROR} status.
+A fatal error is indicated by 2, and VMS sets the @code{FATAL} status.
 All other values will have the @code{SUCCESS} status.  The exit value is
 encoded to comply with VMS coding standards and will have the
 @code{C_FACILITY_NO} of @code{0x350000} with the constant @code{0xA000}
 added to the number shifted over by 3 bits to make room for the severity codes.
 
-To extract the actual @command{gawk} exit code from the VMS status use:
+To extract the actual @command{gawk} exit code from the VMS status, use:
 
 @example
 unix_status = (vms_status .and. &x7f8) / 8
@@ -37048,7 +37052,7 @@ VAX/VMS floating point uses unbiased rounding. 
@xref{Round Function}.
 
 VMS reports time values in GMT unless one of the @code{SYS$TIMEZONE_RULE}
 or @code{TZ} logical names is set.  Older versions of VMS, such as VAX/VMS
-7.3 do not set these logical names.
+7.3, do not set these logical names.
 
 @c @cindex directory search
 @c @cindex path, search
@@ -37066,7 +37070,7 @@ translation and not a multitranslation @code{RMS} 
searchlist.
 
 The VMS GNV package provides a build environment similar to POSIX with ports
 of a collection of open source tools.  The @command{gawk} found in the GNV
-base kit is an older port.  Currently the GNV project is being reorganized
+base kit is an older port.  Currently, the GNV project is being reorganized
 to supply individual PCSI packages for each component.
 See @address@hidden://sourceforge.net/p/gnv/wiki/InstallingGNVPackages/}.}
 
@@ -37139,7 +37143,7 @@ recommend compiling and using the current version.
 @cindex debugging @command{gawk}, bug reports
 @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
+report it to the developers; we cannot promise to do anything,
 but we might well want to fix it.
 
 Before reporting a bug, make sure you have really found a genuine bug.
@@ -37149,7 +37153,7 @@ to do something or not, report that too; it's a bug in 
the documentation!
 
 Before reporting a bug or trying to fix it yourself, try to isolate it
 to the smallest possible @command{awk} program and input @value{DF} that
-reproduces the problem.  Then send us the program and @value{DF},
+reproduce the problem.  Then send us the program and @value{DF},
 some idea of what kind of Unix system you're using,
 the compiler you used to compile @command{gawk}, and the exact results
 @command{gawk} gave you.  Also say what you expected to occur; this helps
@@ -37164,7 +37168,7 @@ You can get this information with the command 
@samp{gawk --version}.
 Once you have a precise problem description, send email to
 @EMAIL{bug-gawk@@gnu.org,bug-gawk at gnu dot org}.
 
-The @command{gawk} maintainers subscribe to this address and
+The @command{gawk} maintainers subscribe to this address, and
 thus they will receive your bug report.
 Although you can send mail to the maintainers directly,
 the bug reporting address is preferred because the
@@ -37191,8 +37195,8 @@ bug reporting system, you should also send a copy to
 This is for two reasons.  First, although some distributions forward
 bug reports ``upstream'' to the GNU mailing list, many don't, so there is a 
good
 chance that the @command{gawk}  maintainers won't even see the bug report!  
Second,
-mail to the GNU list is archived, and having everything at the GNU project
-keeps things self-contained and not dependant on other organizations.
+mail to the GNU list is archived, and having everything at the GNU Project
+keeps things self-contained and not dependent on other organizations.
 @end quotation
 
 Non-bug suggestions are always welcome as well.  If you have questions
@@ -37201,7 +37205,7 @@ features, ask on the bug list; we will try to help you 
out if we can.
 
 If you find bugs in one of the non-Unix ports of @command{gawk},
 send an email to the bug list, with a copy to the
-person who maintains that port.  They are named in the following list,
+person who maintains that port.  The maintainers are named in the following 
list,
 as well as in the @file{README} file in the @command{gawk} distribution.
 Information in the @file{README} file should be considered authoritative
 if it conflicts with this @value{DOCUMENT}.
@@ -37216,19 +37220,19 @@ The people maintaining the various @command{gawk} 
ports are:
 @cindex Robbins, Arnold
 @cindex Zaretskii, Eli
 @multitable {MS-Windows with MinGW} 
{123456789012345678901234567890123456789001234567890}
address@hidden Unix and POSIX systems @tab Arnold Robbins, 
@EMAIL{arnold@@skeeve.com,arnold at skeeve dot com}.
address@hidden Unix and POSIX systems @tab Arnold Robbins, 
@EMAIL{arnold@@skeeve.com,arnold at skeeve dot com}
 
address@hidden MS-DOS with DJGPP @tab Scott Deifik, 
@EMAIL{scottd.mail@@sbcglobal.net,scottd dot mail at sbcglobal dot net}.
address@hidden MS-DOS with DJGPP @tab Scott Deifik, 
@EMAIL{scottd.mail@@sbcglobal.net,scottd dot mail at sbcglobal dot net}
 
address@hidden MS-Windows with MinGW @tab Eli Zaretskii, 
@EMAIL{eliz@@gnu.org,eliz at gnu dot org}.
address@hidden MS-Windows with MinGW @tab Eli Zaretskii, 
@EMAIL{eliz@@gnu.org,eliz at gnu dot org}
 
 @c Leave this in the print version on purpose.
 @c OS/2 is not mentioned anywhere else in the print version though.
address@hidden OS/2 @tab Andreas Buening, 
@EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}.
address@hidden OS/2 @tab Andreas Buening, 
@EMAIL{andreas.buening@@nexgo.de,andreas dot buening at nexgo dot de}
 
address@hidden VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at 
qsl.net}.
address@hidden VMS @tab John Malmberg, @EMAIL{wb8tyw@@qsl.net,wb8tyw at qsl.net}
 
address@hidden z/OS (OS/390) @tab Dave Pitts, @EMAIL{dpitts@@cozx.com,dpitts at 
cozx dot com}.
address@hidden z/OS (OS/390) @tab Dave Pitts, @EMAIL{dpitts@@cozx.com,dpitts at 
cozx dot com}
 @end multitable
 
 If your bug is also reproducible under Unix, send a copy of your
@@ -37247,7 +37251,7 @@ Date: Wed, 4 Sep 1996 08:11:48 -0700 (PDT)
 @cindex Brennan, Michael
 @ifnotdocbook
 @quotation
address@hidden's kind of fun to put comments like this in your awk 
address@hidden
address@hidden's kind of fun to put comments like this in your awk 
code:address@hidden
 @ @ @ @ @ @ @code{// Do C++ comments work? answer: yes! of course}
 @author Michael Brennan
 @end quotation
@@ -37288,7 +37292,7 @@ It is available in several archive formats:
 @end table
 
 @cindex @command{git} utility
-You can also retrieve it from Git Hub:
+You can also retrieve it from GitHub:
 
 @example
 git clone git://github.com/onetrueawk/awk bwkawk
@@ -37348,7 +37352,7 @@ for a list of extensions in @command{mawk} that are not 
in POSIX @command{awk}.
 @item @command{awka}
 Written by Andrew Sumner,
 @command{awka} translates @command{awk} programs into C, compiles them,
-and links them with a library of functions that provides the core
+and links them with a library of functions that provide the core
 @command{awk} functionality.
 It also has a number of extensions.
 
@@ -37369,17 +37373,17 @@ since approximately 2001.
 Nelson H.F.@: Beebe at the University of Utah has modified
 BWK @command{awk} to provide timing and profiling information.
 It is different from @command{gawk} with the @option{--profile} option
-(@pxref{Profiling}),
+(@pxref{Profiling})
 in that it uses CPU-based profiling, not line-count
 profiling.  You may find it at either
 @uref{ftp://ftp.math.utah.edu/pub/pawk/pawk-20030606.tar.gz}
 or
 @uref{http://www.math.utah.edu/pub/pawk/pawk-20030606.tar.gz}.
 
address@hidden Busybox Awk
address@hidden Busybox Awk
address@hidden source code, Busybox Awk
-Busybox is a GPL-licensed program providing small versions of many
address@hidden BusyBox @command{awk}
address@hidden BusyBox Awk
address@hidden source code, BusyBox Awk
+BusyBox is a GPL-licensed program providing small versions of many
 applications within a single executable. It is aimed at embedded systems.
 It includes a full implementation of POSIX @command{awk}.  When building
 it, be careful not to do @samp{make install} as it will overwrite
@@ -37391,7 +37395,7 @@ information, see the @uref{http://busybox.net, 
project's home page}.
 @cindex source code, Solaris @command{awk}
 @item The OpenSolaris POSIX @command{awk}
 The versions of @command{awk} in @file{/usr/xpg4/bin} and
address@hidden/usr/xpg6/bin} on Solaris are more-or-less POSIX-compliant.
address@hidden/usr/xpg6/bin} on Solaris are more or less POSIX-compliant.
 They are based on the @command{awk} from Mortice Kern Systems for PCs.
 We were able to make this code compile and work under GNU/Linux
 with 1--2 hours of work.  Making it more generally portable (using
@@ -37432,9 +37436,9 @@ features to Python. See 
@uref{https://github.com/alecthomas/pawk}
 for more information. (This is not related to Nelson Beebe's
 modified version of BWK @command{awk}, described earlier.)
 
address@hidden @w{QSE Awk}
address@hidden QSE Awk
address@hidden source code, QSE Awk
address@hidden @w{QSE @command{awk}}
address@hidden QSE @command{awk}
address@hidden source code, QSE @command{awk}
 This is an embeddable @command{awk} interpreter. For more information,
 see @uref{http://code.google.com/p/qse/} and @uref{http://awk.info/?tools/qse}.
 
@@ -37453,7 +37457,7 @@ since approximately 2008.
 @item Other versions
 See also the ``Versions and implementations'' section of the
 @uref{http://en.wikipedia.org/wiki/Awk_language#Versions_and_implementations,
-Wikipedia article} for information on additional versions.
+Wikipedia article} on @command{awk} for information on additional versions.
 
 @end table
 
@@ -37462,7 +37466,7 @@ Wikipedia article} for information on additional 
versions.
 
 @itemize @value{BULLET}
 @item
-The @command{gawk} distribution is available from GNU project's main
+The @command{gawk} distribution is available from the GNU Project's main
 distribution site, @code{ftp.gnu.org}.  The canonical build recipe is:
 
 @example
@@ -37474,22 +37478,22 @@ cd address@hidden@value{PATCHLEVEL}
 
 @item
 @command{gawk} may be built on non-POSIX systems as well. The currently
-supported systems are MS-Windows using DJGPP, MSYS, MinGW and Cygwin,
+supported systems are MS-Windows using DJGPP, MSYS, MinGW, and Cygwin,
 @ifclear FOR_PRINT
 OS/2 using EMX,
 @end ifclear
 and both Vax/VMS and OpenVMS.
-Instructions for each system are included in this @value{CHAPTER}.
+Instructions for each system are included in this @value{APPENDIX}.
 
 @item
 Bug reports should be sent via email to @email{bug-gawk@@gnu.org}.
-Bug reports should be in English, and should include the version of 
@command{gawk},
-how it was compiled, and a short program and @value{DF} which demonstrate
+Bug reports should be in English and should include the version of 
@command{gawk},
+how it was compiled, and a short program and @value{DF} that demonstrate
 the problem.
 
 @item
 There are a number of other freely available @command{awk}
-implementations.  Many are POSIX compliant; others are less so.
+implementations.  Many are POSIX-compliant; others are less so.
 
 @end itemize
 

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

commit 1d4fd43cb95fed18c9885ba5b30b28eb1f8f713b
Author: Arnold D. Robbins <address@hidden>
Date:   Fri Feb 13 09:40:28 2015 +0200

    Improve regexp collection on Solaris, maybe others.

diff --git a/ChangeLog b/ChangeLog
index cf2a25f..18e7e90 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2015-02-13         Arnold D. Robbins     <address@hidden>
+
+       * awkgram.y (yylex): Be more careful about passing true to
+       nextc() when collecting a regexp.  Some systems' iscntrl()
+       are not as forgiving as GLIBC's. E.g., Solaris.
+       Thanks to Dagobert Michelsen <address@hidden> for
+       the bug report and access to systems to check the fix.
+
 2015-02-12         Arnold D. Robbins     <address@hidden>
 
        * POSIX.STD: Update with info about function parameters.
diff --git a/awkgram.c b/awkgram.c
index 20d3506..b3283eb 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -5337,7 +5337,7 @@ yylex(void)
        if (lasttok == LEX_EOF)         /* error earlier in current source, 
must give up !! */
                return 0;
 
-       c = nextc(true);
+       c = nextc(! want_regexp);
        if (c == END_SRC)
                return 0;
        if (c == END_FILE)
@@ -5379,12 +5379,12 @@ yylex(void)
                want_regexp = false;
                tok = tokstart;
                for (;;) {
-                       c = nextc(true);
+                       c = nextc(false);
 
                        if (gawk_mb_cur_max == 1 || nextc_is_1stbyte) switch 
(c) {
                        case '[':
                                /* one day check for `.' and `=' too */
-                               if (nextc(true) == ':' || in_brack == 0)
+                               if (nextc(false) == ':' || in_brack == 0)
                                        in_brack++;
                                pushback();
                                break;
@@ -5396,7 +5396,7 @@ yylex(void)
                                        in_brack--;
                                break;
                        case '\\':
-                               if ((c = nextc(true)) == END_FILE) {
+                               if ((c = nextc(false)) == END_FILE) {
                                        pushback();
                                        yyerror(_("unterminated regexp ends 
with `\\' at end of file"));
                                        goto end_regexp; /* kludge */
@@ -5596,7 +5596,7 @@ retry:
                return lasttok = '*';
 
        case '/':
-               if (nextc(true) == '=') {
+               if (nextc(false) == '=') {
                        pushback();
                        return lasttok = SLASH_BEFORE_EQUAL;
                }
diff --git a/awkgram.y b/awkgram.y
index ef7c139..0df72b4 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -2998,7 +2998,7 @@ yylex(void)
        if (lasttok == LEX_EOF)         /* error earlier in current source, 
must give up !! */
                return 0;
 
-       c = nextc(true);
+       c = nextc(! want_regexp);
        if (c == END_SRC)
                return 0;
        if (c == END_FILE)
@@ -3040,12 +3040,12 @@ yylex(void)
                want_regexp = false;
                tok = tokstart;
                for (;;) {
-                       c = nextc(true);
+                       c = nextc(false);
 
                        if (gawk_mb_cur_max == 1 || nextc_is_1stbyte) switch 
(c) {
                        case '[':
                                /* one day check for `.' and `=' too */
-                               if (nextc(true) == ':' || in_brack == 0)
+                               if (nextc(false) == ':' || in_brack == 0)
                                        in_brack++;
                                pushback();
                                break;
@@ -3057,7 +3057,7 @@ yylex(void)
                                        in_brack--;
                                break;
                        case '\\':
-                               if ((c = nextc(true)) == END_FILE) {
+                               if ((c = nextc(false)) == END_FILE) {
                                        pushback();
                                        yyerror(_("unterminated regexp ends 
with `\\' at end of file"));
                                        goto end_regexp; /* kludge */
@@ -3257,7 +3257,7 @@ retry:
                return lasttok = '*';
 
        case '/':
-               if (nextc(true) == '=') {
+               if (nextc(false) == '=') {
                        pushback();
                        return lasttok = SLASH_BEFORE_EQUAL;
                }

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

Summary of changes:
 ChangeLog       |    8 +
 awkgram.c       |   10 +-
 awkgram.y       |   10 +-
 doc/ChangeLog   |    4 +
 doc/gawk.info   |  528 +++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |  306 ++++++++++++++++----------------
 doc/gawktexi.in |  306 ++++++++++++++++----------------
 7 files changed, 596 insertions(+), 576 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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