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


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-581-gefbd4b7
Date: Sun, 08 Feb 2015 06:58:53 +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  efbd4b724d239fa3c2d2929dc50e4bb4703489b9 (commit)
      from  840a7fd39249c6680e74dd72d1ba0c55174a4996 (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=efbd4b724d239fa3c2d2929dc50e4bb4703489b9

commit efbd4b724d239fa3c2d2929dc50e4bb4703489b9
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Feb 8 08:58:37 2015 +0200

    More edits. Through Chapter 14.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 9fc7bdc..319ecb2 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2015-02-08         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: O'Reilly fixes.
+
 2015-02-06         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: O'Reilly fixes.
diff --git a/doc/gawk.info b/doc/gawk.info
index 9381b50..5bfdd43 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -20043,7 +20043,7 @@ File: gawk.info,  Node: I18N and L10N,  Next: 
Explaining gettext,  Up: Internati
 
 "Internationalization" means writing (or modifying) a program once, in
 such a way that it can use multiple languages without requiring further
-source-code changes.  "Localization" means providing the data necessary
+source code changes.  "Localization" means providing the data necessary
 for an internationalized program to work in a particular language.
 Most typically, these terms refer to features such as the language used
 for printing error messages, the language used to read responses, and
@@ -20057,7 +20057,7 @@ File: gawk.info,  Node: Explaining gettext,  Next: 
Programmer i18n,  Prev: I18N
 ==================
 
 `gawk' uses GNU `gettext' to provide its internationalization features.
-The facilities in GNU `gettext' focus on messages; strings printed by a
+The facilities in GNU `gettext' focus on messages: strings printed by a
 program, either directly or via formatting with `printf' or
 `sprintf()'.(1)
 
@@ -20186,8 +20186,7 @@ File: gawk.info,  Node: Programmer i18n,  Next: 
Translator i18n,  Prev: Explaini
 13.3 Internationalizing `awk' Programs
 ======================================
 
-`gawk' provides the following variables and functions for
-internationalization:
+`gawk' provides the following variables for internationalization:
 
 `TEXTDOMAIN'
      This variable indicates the application's text domain.  For
@@ -20199,6 +20198,8 @@ internationalization:
      for translation at runtime.  String constants without a leading
      underscore are not translated.
 
+   `gawk' provides the following functions for internationalization:
+
 ``dcgettext(STRING' [`,' DOMAIN [`,' CATEGORY]]`)''
      Return the translation of STRING in text domain DOMAIN for locale
      category CATEGORY.  The default value for DOMAIN is the current
@@ -20237,8 +20238,7 @@ internationalization:
      the null string (`""'), then `bindtextdomain()' returns the
      current binding for the given DOMAIN.
 
-   To use these facilities in your `awk' program, follow the steps
-outlined in *note Explaining gettext::, like so:
+   To use these facilities in your `awk' program, follow these steps:
 
   1. Set the variable `TEXTDOMAIN' to the text domain of your program.
      This is best done in a `BEGIN' rule (*note BEGIN/END::), or it can
@@ -20460,7 +20460,7 @@ actually almost portable, requiring very little change:
      its value, leaving the original string constant as the result.
 
    * By defining "dummy" functions to replace `dcgettext()',
-     `dcngettext()' and `bindtextdomain()', the `awk' program can be
+     `dcngettext()', and `bindtextdomain()', the `awk' program can be
      made to run, but all the messages are output in the original
      language.  For example:
 
@@ -20595,8 +20595,8 @@ File: gawk.info,  Node: Gawk I18N,  Next: I18N Summary, 
 Prev: I18N Example,  Up
 
 `gawk' itself has been internationalized using the GNU `gettext'
 package.  (GNU `gettext' is described in complete detail in *note (GNU
-`gettext' utilities)Top:: gettext, GNU gettext tools.)  As of this
-writing, the latest version of GNU `gettext' is version 0.19.4
+`gettext' utilities)Top:: gettext, GNU `gettext' utilities.)  As of
+this writing, the latest version of GNU `gettext' is version 0.19.4
 (ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz).
 
    If a translation of `gawk''s messages exists, then `gawk' produces
@@ -20609,7 +20609,7 @@ File: gawk.info,  Node: I18N Summary,  Prev: Gawk I18N, 
 Up: Internationalizatio
 ============
 
    * Internationalization means writing a program such that it can use
-     multiple languages without requiring source-code changes.
+     multiple languages without requiring source code changes.
      Localization means providing the data necessary for an
      internationalized program to work in a particular language.
 
@@ -20623,10 +20623,10 @@ File: gawk.info,  Node: I18N Summary,  Prev: Gawk 
I18N,  Up: Internationalizatio
      file, and the `.po' files are compiled into `.gmo' files for use
      at runtime.
 
-   * You can use position specifications with `sprintf()' and `printf'
-     to rearrange the placement of argument values in formatted strings
-     and output. This is useful for the translations of format control
-     strings.
+   * You can use positional specifications with `sprintf()' and
+     `printf' to rearrange the placement of argument values in formatted
+     strings and output. This is useful for the translation of format
+     control strings.
 
    * The internationalization features have been designed so that they
      can be easily worked around in a standard `awk'.
@@ -20682,8 +20682,7 @@ File: gawk.info,  Node: Debugging Concepts,  Next: 
Debugging Terms,  Up: Debuggi
 ---------------------------
 
 (If you have used debuggers in other languages, you may want to skip
-ahead to the next section on the specific features of the `gawk'
-debugger.)
+ahead to *note Awk Debugging::.)
 
    Of course, a debugging program cannot remove bugs for you, because
 it has no way of knowing what you or your users consider a "bug" versus
@@ -20770,11 +20769,11 @@ defines terms used throughout the rest of this major 
node:
 
 File: gawk.info,  Node: Awk Debugging,  Prev: Debugging Terms,  Up: Debugging
 
-14.1.3 Awk Debugging
---------------------
+14.1.3 `awk' Debugging
+----------------------
 
 Debugging an `awk' program has some specific aspects that are not
-shared with other programming languages.
+shared with programs written in other languages.
 
    First of all, the fact that `awk' programs usually take input line
 by line from a file or files and operate on those lines using specific
@@ -20792,8 +20791,8 @@ commands.
 
 File: gawk.info,  Node: Sample Debugging Session,  Next: List of Debugger 
Commands,  Prev: Debugging,  Up: Debugger
 
-14.2 Sample Debugging Session
-=============================
+14.2 Sample `gawk' Debugging Session
+====================================
 
 In order to illustrate the use of `gawk' as a debugger, let's look at a
 sample debugging session.  We will use the `awk' implementation of the
@@ -20812,8 +20811,8 @@ File: gawk.info,  Node: Debugger Invocation,  Next: 
Finding The Bug,  Up: Sample
 --------------------------------
 
 Starting the debugger is almost exactly like running `gawk' normally,
-except you have to pass an additional option `--debug', or the
-corresponding short option `-D'.  The file(s) containing the program
+except you have to pass an additional option, `--debug', or the
+corresponding short option, `-D'.  The file(s) containing the program
 and any supporting code are given on the command line as arguments to
 one or more `-f' options. (`gawk' is not designed to debug command-line
 programs, only programs contained in files.)  In our case, we invoke
@@ -20823,7 +20822,7 @@ the debugger like this:
 
 where both `getopt.awk' and `uniq.awk' are in `$AWKPATH'.  (Experienced
 users of GDB or similar debuggers should note that this syntax is
-slightly different from what they are used to.  With the `gawk'
+slightly different from what you are used to.  With the `gawk'
 debugger, you give the arguments for running the program in the command
 line to the debugger rather than as part of the `run' command at the
 debugger prompt.)  The `-1' is an option to `uniq.awk'.
@@ -20947,10 +20946,10 @@ typing `n' (for "next"):
      -| 66          if (fcount > 0) {
 
    This tells us that `gawk' is now ready to execute line 66, which
-decides whether to give the lines the special "field skipping" treatment
+decides whether to give the lines the special "field-skipping" treatment
 indicated by the `-1' command-line option.  (Notice that we skipped
-from where we were before at line 63 to here, because the condition in
-line 63 `if (fcount == 0 && charcount == 0)' was false.)
+from where we were before, at line 63, to here, because the condition
+in line 63, `if (fcount == 0 && charcount == 0)', was false.)
 
    Continuing to step, we now get to the splitting of the current and
 last records:
@@ -21008,15 +21007,15 @@ mentioned):
 
    Well, here we are at our error (sorry to spoil the suspense).  What
 we had in mind was to join the fields starting from the second one to
-make the virtual record to compare, and if the first field was numbered
-zero, this would work.  Let's look at what we've got:
+make the virtual record to compare, and if the first field were
+numbered zero, this would work.  Let's look at what we've got:
 
      gawk> p cline clast
      -| cline = "gawk is a wonderful program!"
      -| clast = "awk is a wonderful program!"
 
    Hey, those look pretty familiar!  They're just our original,
-unaltered, input records.  A little thinking (the human brain is still
+unaltered input records.  A little thinking (the human brain is still
 the best debugging tool), and we realize that we were off by one!
 
    We get out of the debugger:
@@ -21053,11 +21052,11 @@ categories:
    * Miscellaneous
 
    Each of these are discussed in the following subsections.  In the
-following descriptions, commands which may be abbreviated show the
+following descriptions, commands that may be abbreviated show the
 abbreviation on a second description line.  A debugger command name may
 also be truncated if that partial name is unambiguous. The debugger has
 the built-in capability to automatically repeat the previous command
-just by hitting <Enter>.  This works for the commands `list', `next',
+just by hitting `Enter'.  This works for the commands `list', `next',
 `nexti', `step', `stepi', and `continue' executed without any argument.
 
 * Menu:
@@ -21097,8 +21096,8 @@ The commands for controlling breakpoints are:
           Set a breakpoint at entry to (the first instruction of)
           function FUNCTION.
 
-     Each breakpoint is assigned a number which can be used to delete
-     it from the breakpoint list using the `delete' command.
+     Each breakpoint is assigned a number that can be used to delete it
+     from the breakpoint list using the `delete' command.
 
      With a breakpoint, you may also supply a condition.  This is an
      `awk' expression (enclosed in double quotes) that the debugger
@@ -21136,26 +21135,26 @@ The commands for controlling breakpoints are:
 
 `delete' [N1 N2 ...] [N-M]
 `d' [N1 N2 ...] [N-M]
-     Delete specified breakpoints or a range of breakpoints. Deletes
-     all defined breakpoints if no argument is supplied.
+     Delete specified breakpoints or a range of breakpoints. Delete all
+     defined breakpoints if no argument is supplied.
 
 `disable' [N1 N2 ... | N-M]
      Disable specified breakpoints or a range of breakpoints. Without
-     any argument, disables all breakpoints.
+     any argument, disable all breakpoints.
 
 `enable' [`del' | `once'] [N1 N2 ...] [N-M]
 `e' [`del' | `once'] [N1 N2 ...] [N-M]
      Enable specified breakpoints or a range of breakpoints. Without
-     any argument, enables all breakpoints.  Optionally, you can
-     specify how to enable the breakpoint:
+     any argument, enable all breakpoints.  Optionally, you can specify
+     how to enable the breakpoints:
 
     `del'
-          Enable the breakpoint(s) temporarily, then delete it when the
-          program stops at the breakpoint.
+          Enable the breakpoints temporarily, then delete each one when
+          the program stops at it.
 
     `once'
-          Enable the breakpoint(s) temporarily, then disable it when
-          the program stops at the breakpoint.
+          Enable the breakpoints temporarily, then disable each one when
+          the program stops at it.
 
 `ignore' N COUNT
      Ignore breakpoint number N the next COUNT times it is hit.
@@ -21201,7 +21200,7 @@ execution of the program than we saw in our earlier 
example:
 `continue' [COUNT]
 `c' [COUNT]
      Resume program execution. If continued from a breakpoint and COUNT
-     is specified, ignores the breakpoint at that location the next
+     is specified, ignore the breakpoint at that location the next
      COUNT times before stopping.
 
 `finish'
@@ -21236,10 +21235,10 @@ execution of the program than we saw in our earlier 
example:
 `step' [COUNT]
 `s' [COUNT]
      Continue execution until control reaches a different source line
-     in the current stack frame. `step' steps inside any function
-     called within the line.  If the argument COUNT is supplied, steps
-     that many times before stopping, unless it encounters a breakpoint
-     or watchpoint.
+     in the current stack frame, stepping inside any function called
+     within the line.  If the argument COUNT is supplied, steps that
+     many times before stopping, unless it encounters a breakpoint or
+     watchpoint.
 
 `stepi' [COUNT]
 `si' [COUNT]
@@ -21320,13 +21319,13 @@ AWK STATEMENTS
      (`"'...`"').
 
      You can also set special `awk' variables, such as `FS', `NF',
-     `NR', and son on.
+     `NR', and so on.
 
 `watch' VAR | `$'N [`"EXPRESSION"']
 `w' VAR | `$'N [`"EXPRESSION"']
      Add variable VAR (or field `$N') to the watch list.  The debugger
      then stops whenever the value of the variable or field changes.
-     Each watched item is assigned a number which can be used to delete
+     Each watched item is assigned a number that can be used to delete
      it from the watch list using the `unwatch' command.
 
      With a watchpoint, you may also supply a condition.  This is an
@@ -21350,11 +21349,11 @@ File: gawk.info,  Node: Execution Stack,  Next: 
Debugger Info,  Prev: Viewing An
 14.3.4 Working with the Stack
 -----------------------------
 
-Whenever you run a program which contains any function calls, `gawk'
+Whenever you run a program that contains any function calls, `gawk'
 maintains a stack of all of the function calls leading up to where the
 program is right now.  You can see how you got to where you are, and
 also move around in the stack to see what the state of things was in the
-functions which called the one you are in.  The commands for doing this
+functions that called the one you are in.  The commands for doing this
 are:
 
 `backtrace' [COUNT]
@@ -21374,8 +21373,8 @@ are:
 `frame' [N]
 `f' [N]
      Select and print stack frame N.  Frame 0 is the currently
-     executing, or "innermost", frame (function call), frame 1 is the
-     frame that called the innermost one. The highest numbered frame is
+     executing, or "innermost", frame (function call); frame 1 is the
+     frame that called the innermost one. The highest-numbered frame is
      the one for the main program.  The printed information consists of
      the frame number, function and argument names, source file, and
      the source line.
@@ -21392,7 +21391,7 @@ File: gawk.info,  Node: Debugger Info,  Next: 
Miscellaneous Debugger Commands,
 
 Besides looking at the values of variables, there is often a need to get
 other sorts of information about the state of your program and of the
-debugging environment itself.  The `gawk' debugger has one command which
+debugging environment itself.  The `gawk' debugger has one command that
 provides this information, appropriately called `info'.  `info' is used
 with one of a number of arguments that tell it exactly what you want to
 know:
@@ -21449,11 +21448,12 @@ from a file.  The commands are:
      option.  The available options are:
 
     `history_size'
-          The maximum number of lines to keep in the history file
+          Set the maximum number of lines to keep in the history file
           `./.gawk_history'.  The default is 100.
 
     `listsize'
-          The number of lines that `list' prints. The default is 15.
+          Specify the number of lines that `list' prints. The default
+          is 15.
 
     `outfile'
           Send `gawk' output to a file; debugger output still goes to
@@ -21461,7 +21461,7 @@ from a file.  The commands are:
           standard output.
 
     `prompt'
-          The debugger prompt. The default is `gawk> '.
+          Change the debugger prompt. The default is `gawk> '.
 
     `save_history' [`on' | `off']
           Save command history to file `./.gawk_history'.  The default
@@ -21469,8 +21469,8 @@ from a file.  The commands are:
 
     `save_options' [`on' | `off']
           Save current options to file `./.gawkrc' upon exit.  The
-          default is `on'.  Options are read back in to the next
-          session upon startup.
+          default is `on'.  Options are read back into the next session
+          upon startup.
 
     `trace' [`on' | `off']
           Turn instruction tracing on or off. The default is `off'.
@@ -21489,7 +21489,7 @@ from a file.  The commands are:
      commands; however, the `gawk' debugger will not source the same
      file more than once in order to avoid infinite recursion.
 
-     In addition to, or instead of the `source' command, you can use
+     In addition to, or instead of, the `source' command, you can use
      the `-D FILE' or `--debug=FILE' command-line options to execute
      commands from a file non-interactively (*note Options::).
 
@@ -21499,13 +21499,13 @@ File: gawk.info,  Node: Miscellaneous Debugger 
Commands,  Prev: Debugger Info,
 14.3.6 Miscellaneous Commands
 -----------------------------
 
-There are a few more commands which do not fit into the previous
+There are a few more commands that do not fit into the previous
 categories, as follows:
 
 `dump' [FILENAME]
-     Dump bytecode of the program to standard output or to the file
+     Dump byte code of the program to standard output or to the file
      named in FILENAME.  This prints a representation of the internal
-     instructions which `gawk' executes to implement the `awk' commands
+     instructions that `gawk' executes to implement the `awk' commands
      in a program.  This can be very enlightening, as the following
      partial dump of Davide Brini's obfuscated code (*note Signature
      Program::) demonstrates:
@@ -21589,22 +21589,21 @@ categories, as follows:
           FILENAME. This command may change the current source file.
 
     FUNCTION
-          Print lines centered around beginning of the function
+          Print lines centered around the beginning of the function
           FUNCTION. This command may change the current source file.
 
 `quit'
 `q'
      Exit the debugger.  Debugging is great fun, but sometimes we all
      have to tend to other obligations in life, and sometimes we find
-     the bug, and are free to go on to the next one!  As we saw
-     earlier, if you are running a program, the debugger warns you if
-     you accidentally type `q' or `quit', to make sure you really want
-     to quit.
+     the bug and are free to go on to the next one!  As we saw earlier,
+     if you are running a program, the debugger warns you when you type
+     `q' or `quit', to make sure you really want to quit.
 
 `trace' [`on' | `off']
-     Turn on or off a continuous printing of instructions which are
-     about to be executed, along with printing the `awk' line which they
-     implement.  The default is `off'.
+     Turn on or off continuous printing of the instructions that are
+     about to be executed, along with the `awk' lines they implement.
+     The default is `off'.
 
      It is to be hoped that most of the "opcodes" in these instructions
      are fairly self-explanatory, and using `stepi' and `nexti' while
@@ -21617,7 +21616,7 @@ File: gawk.info,  Node: Readline Support,  Next: 
Limitations,  Prev: List of Deb
 14.4 Readline Support
 =====================
 
-If `gawk' is compiled with the `readline' library
+If `gawk' is compiled with the GNU Readline library
 (http://cnswww.cns.cwru.edu/php/chet/readline/readline.html), you can
 take advantage of that library's command completion and history
 expansion features. The following types of completion are available:
@@ -21647,7 +21646,7 @@ File: gawk.info,  Node: Limitations,  Next: Debugging 
Summary,  Prev: Readline S
 
 We hope you find the `gawk' debugger useful and enjoyable to work with,
 but as with any program, especially in its early releases, it still has
-some limitations.  A few which are worth being aware of are:
+some limitations.  A few that it's worth being aware of are:
 
    * At this point, the debugger does not give a detailed explanation of
      what you did wrong when you type in something it doesn't like.
@@ -21658,13 +21657,13 @@ some limitations.  A few which are worth being aware 
of are:
      Commands:: (or if you are already familiar with `gawk' internals),
      you will realize that much of the internal manipulation of data in
      `gawk', as in many interpreters, is done on a stack.  `Op_push',
-     `Op_pop', and the like, are the "bread and butter" of most `gawk'
+     `Op_pop', and the like are the "bread and butter" of most `gawk'
      code.
 
      Unfortunately, as of now, the `gawk' debugger does not allow you
      to examine the stack's contents.  That is, the intermediate
      results of expression evaluation are on the stack, but cannot be
-     printed.  Rather, only variables which are defined in the program
+     printed.  Rather, only variables that are defined in the program
      can be printed.  Of course, a workaround for this is to use more
      explicit variables at the debugging stage and then change back to
      obscure, perhaps more optimal code later.
@@ -21676,12 +21675,12 @@ some limitations.  A few which are worth being aware 
of are:
    * The `gawk' debugger is designed to be used by running a program
      (with all its parameters) on the command line, as described in
      *note Debugger Invocation::.  There is no way (as of now) to
-     attach or "break in" to a running program.  This seems reasonable
-     for a language which is used mainly for quickly executing, short
+     attach or "break into" a running program.  This seems reasonable
+     for a language that is used mainly for quickly executing, short
      programs.
 
-   * The `gawk' debugger only accepts source supplied with the `-f'
-     option.
+   * The `gawk' debugger only accepts source code supplied with the
+     `-f' option.
 
 
 File: gawk.info,  Node: Debugging Summary,  Prev: Limitations,  Up: Debugger
@@ -21690,8 +21689,8 @@ File: gawk.info,  Node: Debugging Summary,  Prev: 
Limitations,  Up: Debugger
 ============
 
    * Programs rarely work correctly the first time.  Finding bugs is
-     "debugging" and a program that helps you find bugs is a
-     "debugger".  `gawk' has a built-in debugger that works very
+     called debugging, and a program that helps you find bugs is a
+     debugger.  `gawk' has a built-in debugger that works very
      similarly to the GNU Debugger, GDB.
 
    * Debuggers let you step through your program one statement at a
@@ -21707,8 +21706,8 @@ File: gawk.info,  Node: Debugging Summary,  Prev: 
Limitations,  Up: Debugger
      breakpoints, execution, viewing and changing data, working with
      the stack, getting information, and other tasks.
 
-   * If the `readline' library is available when `gawk' is compiled, it
-     is used by the debugger to provide command-line history and
+   * If the GNU Readline library is available when `gawk' is compiled,
+     it is used by the debugger to provide command-line history and
      editing.
 
 
@@ -31575,7 +31574,7 @@ Index
 * -W option:                             Options.             (line  46)
 * . (period), regexp operator:           Regexp Operators.    (line  44)
 * .gmo files:                            Explaining gettext.  (line  42)
-* .gmo files, specifying directory of <1>: Programmer i18n.   (line  47)
+* .gmo files, specifying directory of <1>: Programmer i18n.   (line  48)
 * .gmo files, specifying directory of:   Explaining gettext.  (line  54)
 * .mo files, converting from .po:        I18N Example.        (line  64)
 * .po files <1>:                         Translator i18n.     (line   6)
@@ -31981,7 +31980,7 @@ Index
 * Berry, Karl <1>:                       Ranges and Locales.  (line  74)
 * Berry, Karl:                           Acknowledgments.     (line  33)
 * binary input/output:                   User-modified.       (line  15)
-* bindtextdomain <1>:                    Programmer i18n.     (line  47)
+* bindtextdomain <1>:                    Programmer i18n.     (line  48)
 * bindtextdomain:                        I18N Functions.      (line  12)
 * bindtextdomain() function (C library): Explaining gettext.  (line  50)
 * bindtextdomain() function (gawk), portability and: I18N Portability.
@@ -32315,11 +32314,11 @@ Index
 * Davies, Stephen <1>:                   Contributors.        (line  74)
 * Davies, Stephen:                       Acknowledgments.     (line  60)
 * Day, Robert P.J.:                      Acknowledgments.     (line  78)
-* dcgettext <1>:                         Programmer i18n.     (line  19)
+* dcgettext <1>:                         Programmer i18n.     (line  20)
 * dcgettext:                             I18N Functions.      (line  22)
 * dcgettext() function (gawk), portability and: I18N Portability.
                                                               (line  33)
-* dcngettext <1>:                        Programmer i18n.     (line  36)
+* dcngettext <1>:                        Programmer i18n.     (line  37)
 * dcngettext:                            I18N Functions.      (line  28)
 * dcngettext() function (gawk), portability and: I18N Portability.
                                                               (line  33)
@@ -32406,7 +32405,7 @@ Index
 * debugger commands, t (tbreak):         Breakpoint Control.  (line  90)
 * debugger commands, tbreak:             Breakpoint Control.  (line  90)
 * debugger commands, trace:              Miscellaneous Debugger Commands.
-                                                              (line 108)
+                                                              (line 107)
 * debugger commands, u (until):          Debugger Execution Control.
                                                               (line  83)
 * debugger commands, undisplay:          Viewing And Changing Data.
@@ -32422,12 +32421,12 @@ Index
                                                               (line  67)
 * debugger commands, where (backtrace):  Execution Stack.     (line  13)
 * debugger default list amount:          Debugger Info.       (line  69)
-* debugger history file:                 Debugger Info.       (line  80)
+* debugger history file:                 Debugger Info.       (line  81)
 * debugger history size:                 Debugger Info.       (line  65)
 * debugger options:                      Debugger Info.       (line  57)
-* debugger prompt:                       Debugger Info.       (line  77)
+* debugger prompt:                       Debugger Info.       (line  78)
 * debugger, how to start:                Debugger Invocation. (line   6)
-* debugger, read commands from a file:   Debugger Info.       (line  96)
+* debugger, read commands from a file:   Debugger Info.       (line  97)
 * debugging awk programs:                Debugger.            (line   6)
 * debugging gawk, bug reports:           Bugs.                (line   9)
 * decimal point character, locale specific: Options.          (line 272)
@@ -32757,7 +32756,7 @@ Index
 * FILENAME variable, getline, setting with: Getline Notes.    (line  19)
 * filenames, assignments as:             Ignoring Assigns.    (line   6)
 * files, .gmo:                           Explaining gettext.  (line  42)
-* files, .gmo, specifying directory of <1>: Programmer i18n.  (line  47)
+* files, .gmo, specifying directory of <1>: Programmer i18n.  (line  48)
 * files, .gmo, specifying directory of:  Explaining gettext.  (line  54)
 * files, .mo, converting from .po:       I18N Example.        (line  64)
 * files, .po <1>:                        Translator i18n.     (line   6)
@@ -32784,7 +32783,7 @@ Index
 * files, message object, converting from portable object files: I18N Example.
                                                               (line  64)
 * files, message object, specifying directory of <1>: Programmer i18n.
-                                                              (line  47)
+                                                              (line  48)
 * files, message object, specifying directory of: Explaining gettext.
                                                               (line  54)
 * files, multiple passes over:           Other Arguments.     (line  56)
@@ -33190,7 +33189,7 @@ Index
 * insomnia, cure for:                    Alarm Program.       (line   6)
 * installation, VMS:                     VMS Installation.    (line   6)
 * installing gawk:                       Installation.        (line   6)
-* instruction tracing, in debugger:      Debugger Info.       (line  89)
+* instruction tracing, in debugger:      Debugger Info.       (line  90)
 * int:                                   Numeric Functions.   (line  23)
 * INT signal (MS-Windows):               Profiling.           (line 214)
 * integer array indices:                 Numeric Array Subscripts.
@@ -33211,7 +33210,7 @@ Index
 * internationalization, localization, locale categories: Explaining gettext.
                                                               (line  81)
 * internationalization, localization, marked strings: Programmer i18n.
-                                                              (line  14)
+                                                              (line  13)
 * internationalization, localization, portability and: I18N Portability.
                                                               (line   6)
 * internationalizing a program:          Explaining gettext.  (line   6)
@@ -33392,7 +33391,7 @@ Index
 * message object files, converting from portable object files: I18N Example.
                                                               (line  64)
 * message object files, specifying directory of <1>: Programmer i18n.
-                                                              (line  47)
+                                                              (line  48)
 * message object files, specifying directory of: Explaining gettext.
                                                               (line  54)
 * messages from extensions:              Printing Messages.   (line   6)
@@ -33836,7 +33835,7 @@ Index
 * records, terminating:                  awk split records.   (line 125)
 * records, treating files as:            gawk split records.  (line  93)
 * recursive functions:                   Definition Syntax.   (line  88)
-* redirect gawk output, in debugger:     Debugger Info.       (line  72)
+* redirect gawk output, in debugger:     Debugger Info.       (line  73)
 * redirection of input:                  Getline/File.        (line   6)
 * redirection of output:                 Redirection.         (line   6)
 * reference counting, sorting arrays:    Array Sorting Functions.
@@ -33955,7 +33954,7 @@ Index
 * sample debugging session:              Sample Debugging Session.
                                                               (line   6)
 * sandbox mode:                          Options.             (line 288)
-* save debugger options:                 Debugger Info.       (line  84)
+* save debugger options:                 Debugger Info.       (line  85)
 * scalar or array:                       Type Functions.      (line  11)
 * scalar values:                         Basic Data Typing.   (line  13)
 * scanning arrays:                       Scanning an Array.   (line   6)
@@ -34177,7 +34176,7 @@ Index
 * strings, converting, numbers to:       User-modified.       (line  30)
 * strings, empty, See null strings:      awk split records.   (line 115)
 * strings, extracting:                   String Extraction.   (line   6)
-* strings, for localization:             Programmer i18n.     (line  14)
+* strings, for localization:             Programmer i18n.     (line  13)
 * strings, length limitations:           Scalar Constants.    (line  20)
 * strings, merging arrays into:          Join Function.       (line   6)
 * strings, null:                         Regexp Field Splitting.
@@ -34237,7 +34236,7 @@ Index
                                                               (line   6)
 * text, printing:                        Print.               (line  22)
 * text, printing, unduplicated lines of: Uniq Program.        (line   6)
-* TEXTDOMAIN variable <1>:               Programmer i18n.     (line   9)
+* TEXTDOMAIN variable <1>:               Programmer i18n.     (line   8)
 * TEXTDOMAIN variable:                   User-modified.       (line 152)
 * TEXTDOMAIN variable, BEGIN pattern and: Programmer i18n.    (line  60)
 * TEXTDOMAIN variable, portability and:  I18N Portability.    (line  20)
@@ -34265,7 +34264,7 @@ Index
 * toupper:                               String Functions.    (line 530)
 * tr utility:                            Translate Program.   (line   6)
 * trace debugger command:                Miscellaneous Debugger Commands.
-                                                              (line 108)
+                                                              (line 107)
 * traceback, display in debugger:        Execution Stack.     (line  13)
 * translate string:                      I18N Functions.      (line  22)
 * translate.awk program:                 Translate Program.   (line  55)
@@ -34834,203 +34833,203 @@ Node: Explaining gettext811336
 Ref: Explaining gettext-Footnote-1816361
 Ref: Explaining gettext-Footnote-2816545
 Node: Programmer i18n816710
-Ref: Programmer i18n-Footnote-1821576
-Node: Translator i18n821625
-Node: String Extraction822419
-Ref: String Extraction-Footnote-1823550
-Node: Printf Ordering823636
-Ref: Printf Ordering-Footnote-1826422
-Node: I18N Portability826486
-Ref: I18N Portability-Footnote-1828941
-Node: I18N Example829004
-Ref: I18N Example-Footnote-1831807
-Node: Gawk I18N831879
-Node: I18N Summary832517
-Node: Debugger833856
-Node: Debugging834878
-Node: Debugging Concepts835319
-Node: Debugging Terms837172
-Node: Awk Debugging839744
-Node: Sample Debugging Session840638
-Node: Debugger Invocation841158
-Node: Finding The Bug842542
-Node: List of Debugger Commands849017
-Node: Breakpoint Control850350
-Node: Debugger Execution Control854046
-Node: Viewing And Changing Data857410
-Node: Execution Stack860788
-Node: Debugger Info862425
-Node: Miscellaneous Debugger Commands866442
-Node: Readline Support871471
-Node: Limitations872363
-Node: Debugging Summary874477
-Node: Arbitrary Precision Arithmetic875645
-Node: Computer Arithmetic877061
-Ref: table-numeric-ranges880659
-Ref: Computer Arithmetic-Footnote-1881518
-Node: Math Definitions881575
-Ref: table-ieee-formats884863
-Ref: Math Definitions-Footnote-1885467
-Node: MPFR features885572
-Node: FP Math Caution887243
-Ref: FP Math Caution-Footnote-1888293
-Node: Inexactness of computations888662
-Node: Inexact representation889621
-Node: Comparing FP Values890978
-Node: Errors accumulate892060
-Node: Getting Accuracy893493
-Node: Try To Round896155
-Node: Setting precision897054
-Ref: table-predefined-precision-strings897738
-Node: Setting the rounding mode899527
-Ref: table-gawk-rounding-modes899891
-Ref: Setting the rounding mode-Footnote-1903346
-Node: Arbitrary Precision Integers903525
-Ref: Arbitrary Precision Integers-Footnote-1906511
-Node: POSIX Floating Point Problems906660
-Ref: POSIX Floating Point Problems-Footnote-1910533
-Node: Floating point summary910571
-Node: Dynamic Extensions912765
-Node: Extension Intro914317
-Node: Plugin License915583
-Node: Extension Mechanism Outline916380
-Ref: figure-load-extension916808
-Ref: figure-register-new-function918288
-Ref: figure-call-new-function919292
-Node: Extension API Description921278
-Node: Extension API Functions Introduction922728
-Node: General Data Types927552
-Ref: General Data Types-Footnote-1933291
-Node: Memory Allocation Functions933590
-Ref: Memory Allocation Functions-Footnote-1936429
-Node: Constructor Functions936525
-Node: Registration Functions938259
-Node: Extension Functions938944
-Node: Exit Callback Functions941241
-Node: Extension Version String942489
-Node: Input Parsers943154
-Node: Output Wrappers953033
-Node: Two-way processors957548
-Node: Printing Messages959752
-Ref: Printing Messages-Footnote-1960828
-Node: Updating `ERRNO'960980
-Node: Requesting Values961720
-Ref: table-value-types-returned962448
-Node: Accessing Parameters963405
-Node: Symbol Table Access964636
-Node: Symbol table by name965150
-Node: Symbol table by cookie967131
-Ref: Symbol table by cookie-Footnote-1971275
-Node: Cached values971338
-Ref: Cached values-Footnote-1974837
-Node: Array Manipulation974928
-Ref: Array Manipulation-Footnote-1976026
-Node: Array Data Types976063
-Ref: Array Data Types-Footnote-1978718
-Node: Array Functions978810
-Node: Flattening Arrays982664
-Node: Creating Arrays989556
-Node: Extension API Variables994327
-Node: Extension Versioning994963
-Node: Extension API Informational Variables996864
-Node: Extension API Boilerplate997929
-Node: Finding Extensions1001738
-Node: Extension Example1002298
-Node: Internal File Description1003070
-Node: Internal File Ops1007137
-Ref: Internal File Ops-Footnote-11018807
-Node: Using Internal File Ops1018947
-Ref: Using Internal File Ops-Footnote-11021330
-Node: Extension Samples1021603
-Node: Extension Sample File Functions1023129
-Node: Extension Sample Fnmatch1030767
-Node: Extension Sample Fork1032258
-Node: Extension Sample Inplace1033473
-Node: Extension Sample Ord1035148
-Node: Extension Sample Readdir1035984
-Ref: table-readdir-file-types1036860
-Node: Extension Sample Revout1037671
-Node: Extension Sample Rev2way1038261
-Node: Extension Sample Read write array1039001
-Node: Extension Sample Readfile1040941
-Node: Extension Sample Time1042036
-Node: Extension Sample API Tests1043385
-Node: gawkextlib1043876
-Node: Extension summary1046534
-Node: Extension Exercises1050223
-Node: Language History1050945
-Node: V7/SVR3.11052601
-Node: SVR41054782
-Node: POSIX1056227
-Node: BTL1057616
-Node: POSIX/GNU1058350
-Node: Feature History1063914
-Node: Common Extensions1077012
-Node: Ranges and Locales1078336
-Ref: Ranges and Locales-Footnote-11082954
-Ref: Ranges and Locales-Footnote-21082981
-Ref: Ranges and Locales-Footnote-31083215
-Node: Contributors1083436
-Node: History summary1088977
-Node: Installation1090347
-Node: Gawk Distribution1091293
-Node: Getting1091777
-Node: Extracting1092600
-Node: Distribution contents1094235
-Node: Unix Installation1099952
-Node: Quick Installation1100569
-Node: Additional Configuration Options1102993
-Node: Configuration Philosophy1104731
-Node: Non-Unix Installation1107100
-Node: PC Installation1107558
-Node: PC Binary Installation1108877
-Node: PC Compiling1110725
-Ref: PC Compiling-Footnote-11113746
-Node: PC Testing1113855
-Node: PC Using1115031
-Node: Cygwin1119146
-Node: MSYS1119969
-Node: VMS Installation1120469
-Node: VMS Compilation1121261
-Ref: VMS Compilation-Footnote-11122483
-Node: VMS Dynamic Extensions1122541
-Node: VMS Installation Details1124225
-Node: VMS Running1126477
-Node: VMS GNV1129313
-Node: VMS Old Gawk1130047
-Node: Bugs1130517
-Node: Other Versions1134400
-Node: Installation summary1140824
-Node: Notes1141880
-Node: Compatibility Mode1142745
-Node: Additions1143527
-Node: Accessing The Source1144452
-Node: Adding Code1145887
-Node: New Ports1152044
-Node: Derived Files1156526
-Ref: Derived Files-Footnote-11162001
-Ref: Derived Files-Footnote-21162035
-Ref: Derived Files-Footnote-31162631
-Node: Future Extensions1162745
-Node: Implementation Limitations1163351
-Node: Extension Design1164599
-Node: Old Extension Problems1165753
-Ref: Old Extension Problems-Footnote-11167270
-Node: Extension New Mechanism Goals1167327
-Ref: Extension New Mechanism Goals-Footnote-11170687
-Node: Extension Other Design Decisions1170876
-Node: Extension Future Growth1172984
-Node: Old Extension Mechanism1173820
-Node: Notes summary1175582
-Node: Basic Concepts1176768
-Node: Basic High Level1177449
-Ref: figure-general-flow1177721
-Ref: figure-process-flow1178320
-Ref: Basic High Level-Footnote-11181549
-Node: Basic Data Typing1181734
-Node: Glossary1185062
-Node: Copying1216991
-Node: GNU Free Documentation License1254547
-Node: Index1279683
+Ref: Programmer i18n-Footnote-1821586
+Node: Translator i18n821635
+Node: String Extraction822429
+Ref: String Extraction-Footnote-1823560
+Node: Printf Ordering823646
+Ref: Printf Ordering-Footnote-1826432
+Node: I18N Portability826496
+Ref: I18N Portability-Footnote-1828952
+Node: I18N Example829015
+Ref: I18N Example-Footnote-1831818
+Node: Gawk I18N831890
+Node: I18N Summary832534
+Node: Debugger833874
+Node: Debugging834896
+Node: Debugging Concepts835337
+Node: Debugging Terms837147
+Node: Awk Debugging839719
+Node: Sample Debugging Session840625
+Node: Debugger Invocation841159
+Node: Finding The Bug842544
+Node: List of Debugger Commands849023
+Node: Breakpoint Control850355
+Node: Debugger Execution Control854032
+Node: Viewing And Changing Data857391
+Node: Execution Stack860767
+Node: Debugger Info862402
+Node: Miscellaneous Debugger Commands866447
+Node: Readline Support871448
+Node: Limitations872342
+Node: Debugging Summary874457
+Node: Arbitrary Precision Arithmetic875631
+Node: Computer Arithmetic877047
+Ref: table-numeric-ranges880645
+Ref: Computer Arithmetic-Footnote-1881504
+Node: Math Definitions881561
+Ref: table-ieee-formats884849
+Ref: Math Definitions-Footnote-1885453
+Node: MPFR features885558
+Node: FP Math Caution887229
+Ref: FP Math Caution-Footnote-1888279
+Node: Inexactness of computations888648
+Node: Inexact representation889607
+Node: Comparing FP Values890964
+Node: Errors accumulate892046
+Node: Getting Accuracy893479
+Node: Try To Round896141
+Node: Setting precision897040
+Ref: table-predefined-precision-strings897724
+Node: Setting the rounding mode899513
+Ref: table-gawk-rounding-modes899877
+Ref: Setting the rounding mode-Footnote-1903332
+Node: Arbitrary Precision Integers903511
+Ref: Arbitrary Precision Integers-Footnote-1906497
+Node: POSIX Floating Point Problems906646
+Ref: POSIX Floating Point Problems-Footnote-1910519
+Node: Floating point summary910557
+Node: Dynamic Extensions912751
+Node: Extension Intro914303
+Node: Plugin License915569
+Node: Extension Mechanism Outline916366
+Ref: figure-load-extension916794
+Ref: figure-register-new-function918274
+Ref: figure-call-new-function919278
+Node: Extension API Description921264
+Node: Extension API Functions Introduction922714
+Node: General Data Types927538
+Ref: General Data Types-Footnote-1933277
+Node: Memory Allocation Functions933576
+Ref: Memory Allocation Functions-Footnote-1936415
+Node: Constructor Functions936511
+Node: Registration Functions938245
+Node: Extension Functions938930
+Node: Exit Callback Functions941227
+Node: Extension Version String942475
+Node: Input Parsers943140
+Node: Output Wrappers953019
+Node: Two-way processors957534
+Node: Printing Messages959738
+Ref: Printing Messages-Footnote-1960814
+Node: Updating `ERRNO'960966
+Node: Requesting Values961706
+Ref: table-value-types-returned962434
+Node: Accessing Parameters963391
+Node: Symbol Table Access964622
+Node: Symbol table by name965136
+Node: Symbol table by cookie967117
+Ref: Symbol table by cookie-Footnote-1971261
+Node: Cached values971324
+Ref: Cached values-Footnote-1974823
+Node: Array Manipulation974914
+Ref: Array Manipulation-Footnote-1976012
+Node: Array Data Types976049
+Ref: Array Data Types-Footnote-1978704
+Node: Array Functions978796
+Node: Flattening Arrays982650
+Node: Creating Arrays989542
+Node: Extension API Variables994313
+Node: Extension Versioning994949
+Node: Extension API Informational Variables996850
+Node: Extension API Boilerplate997915
+Node: Finding Extensions1001724
+Node: Extension Example1002284
+Node: Internal File Description1003056
+Node: Internal File Ops1007123
+Ref: Internal File Ops-Footnote-11018793
+Node: Using Internal File Ops1018933
+Ref: Using Internal File Ops-Footnote-11021316
+Node: Extension Samples1021589
+Node: Extension Sample File Functions1023115
+Node: Extension Sample Fnmatch1030753
+Node: Extension Sample Fork1032244
+Node: Extension Sample Inplace1033459
+Node: Extension Sample Ord1035134
+Node: Extension Sample Readdir1035970
+Ref: table-readdir-file-types1036846
+Node: Extension Sample Revout1037657
+Node: Extension Sample Rev2way1038247
+Node: Extension Sample Read write array1038987
+Node: Extension Sample Readfile1040927
+Node: Extension Sample Time1042022
+Node: Extension Sample API Tests1043371
+Node: gawkextlib1043862
+Node: Extension summary1046520
+Node: Extension Exercises1050209
+Node: Language History1050931
+Node: V7/SVR3.11052587
+Node: SVR41054768
+Node: POSIX1056213
+Node: BTL1057602
+Node: POSIX/GNU1058336
+Node: Feature History1063900
+Node: Common Extensions1076998
+Node: Ranges and Locales1078322
+Ref: Ranges and Locales-Footnote-11082940
+Ref: Ranges and Locales-Footnote-21082967
+Ref: Ranges and Locales-Footnote-31083201
+Node: Contributors1083422
+Node: History summary1088963
+Node: Installation1090333
+Node: Gawk Distribution1091279
+Node: Getting1091763
+Node: Extracting1092586
+Node: Distribution contents1094221
+Node: Unix Installation1099938
+Node: Quick Installation1100555
+Node: Additional Configuration Options1102979
+Node: Configuration Philosophy1104717
+Node: Non-Unix Installation1107086
+Node: PC Installation1107544
+Node: PC Binary Installation1108863
+Node: PC Compiling1110711
+Ref: PC Compiling-Footnote-11113732
+Node: PC Testing1113841
+Node: PC Using1115017
+Node: Cygwin1119132
+Node: MSYS1119955
+Node: VMS Installation1120455
+Node: VMS Compilation1121247
+Ref: VMS Compilation-Footnote-11122469
+Node: VMS Dynamic Extensions1122527
+Node: VMS Installation Details1124211
+Node: VMS Running1126463
+Node: VMS GNV1129299
+Node: VMS Old Gawk1130033
+Node: Bugs1130503
+Node: Other Versions1134386
+Node: Installation summary1140810
+Node: Notes1141866
+Node: Compatibility Mode1142731
+Node: Additions1143513
+Node: Accessing The Source1144438
+Node: Adding Code1145873
+Node: New Ports1152030
+Node: Derived Files1156512
+Ref: Derived Files-Footnote-11161987
+Ref: Derived Files-Footnote-21162021
+Ref: Derived Files-Footnote-31162617
+Node: Future Extensions1162731
+Node: Implementation Limitations1163337
+Node: Extension Design1164585
+Node: Old Extension Problems1165739
+Ref: Old Extension Problems-Footnote-11167256
+Node: Extension New Mechanism Goals1167313
+Ref: Extension New Mechanism Goals-Footnote-11170673
+Node: Extension Other Design Decisions1170862
+Node: Extension Future Growth1172970
+Node: Old Extension Mechanism1173806
+Node: Notes summary1175568
+Node: Basic Concepts1176754
+Node: Basic High Level1177435
+Ref: figure-general-flow1177707
+Ref: figure-process-flow1178306
+Ref: Basic High Level-Footnote-11181535
+Node: Basic Data Typing1181720
+Node: Glossary1185048
+Node: Copying1216977
+Node: GNU Free Documentation License1254533
+Node: Index1279669
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 59f11ca..ed7f461 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -27922,7 +27922,7 @@ a requirement.
 @cindex localization
 @dfn{Internationalization} means writing (or modifying) a program once,
 in such a way that it can use multiple languages without requiring
-further source-code changes.
+further source code changes.
 @dfn{Localization} means providing the data necessary for an
 internationalized program to work in a particular language.
 Most typically, these terms refer to features such as the language
@@ -27937,7 +27937,7 @@ monetary values are printed and read.
 @cindex @command{gettext} library
 @command{gawk} uses GNU @command{gettext} to provide its internationalization
 features.
-The facilities in GNU @command{gettext} focus on messages; strings printed
+The facilities in GNU @command{gettext} focus on messages: strings printed
 by a program, either directly or via formatting with @code{printf} or
 @code{sprintf()address@hidden some operating systems, the @command{gawk}
 port doesn't support GNU @command{gettext}.
@@ -28128,7 +28128,7 @@ All of the above.  (Not too useful in the context of 
@command{gettext}.)
 @section Internationalizing @command{awk} Programs
 @cindex @command{awk} programs, internationalizing
 
address@hidden provides the following variables and functions for
address@hidden provides the following variables for
 internationalization:
 
 @table @code
@@ -28144,7 +28144,12 @@ value is @code{"messages"}.
 String constants marked with a leading underscore
 are candidates for translation at runtime.
 String constants without a leading underscore are not translated.
address@hidden table
 
address@hidden provides the following functions for
+internationalization:
+
address@hidden @code
 @cindexgawkfunc{dcgettext}
 @item @code{dcgettext(@var{string}} address@hidden,} @var{domain} 
address@hidden,} @address@hidden)}
 Return the translation of @var{string} in
@@ -28201,15 +28206,7 @@ If @var{directory} is the null string (@code{""}), then
 given @var{domain}.
 @end table
 
-To use these facilities in your @command{awk} program, follow the steps
-outlined in
address@hidden
-the previous @value{SECTION},
address@hidden ifnotinfo
address@hidden
address@hidden gettext},
address@hidden ifinfo
-like so:
+To use these facilities in your @command{awk} program, follow these steps:
 
 @enumerate
 @cindex @code{BEGIN} pattern, @code{TEXTDOMAIN} variable and
@@ -28492,7 +28489,7 @@ the null string (@code{""}) as its value, leaving the 
original string constant a
 the result.
 
 @item
-By defining ``dummy'' functions to replace @code{dcgettext()}, 
@code{dcngettext()}
+By defining ``dummy'' functions to replace @code{dcgettext()}, 
@code{dcngettext()},
 and @code{bindtextdomain()}, the @command{awk} program can be made to run, but
 all the messages are output in the original language.
 For example:
@@ -28676,11 +28673,11 @@ using the GNU @command{gettext} package.
 (GNU @command{gettext} is described in
 complete detail in
 @ifinfo
address@hidden, , GNU @command{gettext} utilities, gettext, GNU gettext tools}.)
address@hidden, , GNU @command{gettext} utilities, gettext, GNU 
@command{gettext} utilities}.)
 @end ifinfo
 @ifnotinfo
 @uref{http://www.gnu.org/software/gettext/manual/,
address@hidden gettext tools}}.)
address@hidden @command{gettext} utilities}}.)
 @end ifnotinfo
 As of this writing, the latest version of GNU @command{gettext} is
 @uref{ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz,
@@ -28696,7 +28693,7 @@ and fatal errors in the local language.
 @itemize @value{BULLET}
 @item
 Internationalization means writing a program such that it can use multiple
-languages without requiring source-code changes.  Localization means
+languages without requiring source code changes.  Localization means
 providing the data necessary for an internationalized program to work
 in a particular language.
 
@@ -28713,9 +28710,9 @@ file, and the @file{.po} files are compiled into 
@file{.gmo} files for
 use at runtime.
 
 @item
-You can use position specifications with @code{sprintf()} and
+You can use positional specifications with @code{sprintf()} and
 @code{printf} to rearrange the placement of argument values in formatted
-strings and output. This is useful for the translations of format
+strings and output. This is useful for the translation of format
 control strings.
 
 @item
@@ -28771,8 +28768,7 @@ the discussion of debugging in @command{gawk}.
 @subsection Debugging in General
 
 (If you have used debuggers in other languages, you may want to skip
-ahead to the next section on the specific features of the @command{gawk}
-debugger.)
+ahead to @ref{Awk Debugging}.)
 
 Of course, a debugging program cannot remove bugs for you, because it has
 no way of knowing what you or your users consider a ``bug'' versus a
@@ -28863,10 +28859,10 @@ and usually find the errant code quite quickly.
 @end table
 
 @node Awk Debugging
address@hidden Awk Debugging
address@hidden @command{awk} Debugging
 
 Debugging an @command{awk} program has some specific aspects that are
-not shared with other programming languages.
+not shared with programs written in other languages.
 
 First of all, the fact that @command{awk} programs usually take input
 line by line from a file or files and operate on those lines using specific
@@ -28882,7 +28878,7 @@ to look at the individual primitive instructions 
carried out
 by the higher-level @command{awk} commands.
 
 @node Sample Debugging Session
address@hidden Sample Debugging Session
address@hidden Sample @command{gawk} Debugging Session
 @cindex sample debugging session
 
 In order to illustrate the use of @command{gawk} as a debugger, let's look at 
a sample
@@ -28901,8 +28897,8 @@ as our example.
 @cindex debugger, how to start
 
 Starting the debugger is almost exactly like running @command{gawk} normally,
-except you have to pass an additional option @option{--debug}, or the
-corresponding short option @option{-D}.  The file(s) containing the
+except you have to pass an additional option, @option{--debug}, or the
+corresponding short option, @option{-D}.  The file(s) containing the
 program and any supporting code are given on the command line as arguments
 to one or more @option{-f} options. (@command{gawk} is not designed
 to debug command-line programs, only programs contained in files.)
@@ -28915,7 +28911,7 @@ $ @kbd{gawk -D -f getopt.awk -f join.awk -f uniq.awk -1 
inputfile}
 @noindent
 where both @file{getopt.awk} and @file{uniq.awk} are in @env{$AWKPATH}.
 (Experienced users of GDB or similar debuggers should note that
-this syntax is slightly different from what they are used to.
+this syntax is slightly different from what you are used to.
 With the @command{gawk} debugger, you give the arguments for running the 
program
 in the command line to the debugger rather than as part of the @code{run}
 command at the debugger prompt.)
@@ -29069,10 +29065,10 @@ gawk> @kbd{n}
 @end example
 
 This tells us that @command{gawk} is now ready to execute line 66, which
-decides whether to give the lines the special ``field skipping'' treatment
+decides whether to give the lines the special ``field-skipping'' treatment
 indicated by the @option{-1} command-line option.  (Notice that we skipped
-from where we were before at line 63 to here, because the condition in line 63
address@hidden (fcount == 0 && charcount == 0)} was false.)
+from where we were before, at line 63, to here, because the condition
+in line 63, @samp{if (fcount == 0 && charcount == 0)}, was false.)
 
 Continuing to step, we now get to the splitting of the current and
 last records:
@@ -29146,7 +29142,7 @@ gawk> @kbd{n}
 
 Well, here we are at our error (sorry to spoil the suspense).  What we
 had in mind was to join the fields starting from the second one to make
-the virtual record to compare, and if the first field was numbered zero,
+the virtual record to compare, and if the first field were numbered zero,
 this would work.  Let's look at what we've got:
 
 @example
@@ -29155,7 +29151,7 @@ gawk> @kbd{p cline clast}
 @print{} clast = "awk is a wonderful program!"
 @end example
 
-Hey, those look pretty familiar!  They're just our original, unaltered,
+Hey, those look pretty familiar!  They're just our original, unaltered
 input records.  A little thinking (the human brain is still the best
 debugging tool), and we realize that we were off by one!
 
@@ -29205,11 +29201,11 @@ Miscellaneous
 @end itemize
 
 Each of these are discussed in the following subsections.
-In the following descriptions, commands which may be abbreviated
+In the following descriptions, commands that may be abbreviated
 show the abbreviation on a second description line.
 A debugger command name may also be truncated if that partial
 name is unambiguous. The debugger has the built-in capability to
-automatically repeat the previous command just by hitting @key{Enter}.
+automatically repeat the previous command just by hitting @kbd{Enter}.
 This works for the commands @code{list}, @code{next}, @code{nexti},
 @code{step}, @code{stepi}, and @code{continue} executed without any
 argument.
@@ -29259,7 +29255,7 @@ Set a breakpoint at entry to (the first instruction of)
 function @var{function}.
 @end table
 
-Each breakpoint is assigned a number which can be used to delete it from
+Each breakpoint is assigned a number that can be used to delete it from
 the breakpoint list using the @code{delete} command.
 
 With a breakpoint, you may also supply a condition.  This is an
@@ -29311,7 +29307,7 @@ watchpoint is made unconditional).
 @cindex breakpoint, delete by number
 @item @code{delete} address@hidden n2} @dots{}] address@hidden@var{m}]
 @itemx @code{d} address@hidden n2} @dots{}] address@hidden@var{m}]
-Delete specified breakpoints or a range of breakpoints. Deletes
+Delete specified breakpoints or a range of breakpoints. Delete
 all defined breakpoints if no argument is supplied.
 
 @cindex debugger commands, @code{disable}
@@ -29320,7 +29316,7 @@ all defined breakpoints if no argument is supplied.
 @cindex breakpoint, how to disable or enable
 @item @code{disable} address@hidden n2} @dots{} | @address@hidden
 Disable specified breakpoints or a range of breakpoints. Without
-any argument, disables all breakpoints.
+any argument, disable all breakpoints.
 
 @cindex debugger commands, @code{e} (@code{enable})
 @cindex debugger commands, @code{enable}
@@ -29330,18 +29326,18 @@ any argument, disables all breakpoints.
 @item @code{enable} address@hidden | @code{once}] address@hidden n2} @dots{}] 
address@hidden@var{m}]
 @itemx @code{e} address@hidden | @code{once}] address@hidden n2} @dots{}] 
address@hidden@var{m}]
 Enable specified breakpoints or a range of breakpoints. Without
-any argument, enables all breakpoints.
-Optionally, you can specify how to enable the breakpoint:
+any argument, enable all breakpoints.
+Optionally, you can specify how to enable the breakpoints:
 
 @c nested table
 @table @code
 @item del
-Enable the breakpoint(s) temporarily, then delete it when
-the program stops at the breakpoint.
+Enable the breakpoints temporarily, then delete each one when
+the program stops at it.
 
 @item once
-Enable the breakpoint(s) temporarily, then disable it when
-the program stops at the breakpoint.
+Enable the breakpoints temporarily, then disable each one when
+the program stops at it.
 @end table
 
 @cindex debugger commands, @code{ignore}
@@ -29409,7 +29405,7 @@ gawk>
 @item @code{continue} address@hidden
 @itemx @code{c} address@hidden
 Resume program execution. If continued from a breakpoint and @var{count} is
-specified, ignores the breakpoint at that location the next @var{count} times
+specified, ignore the breakpoint at that location the next @var{count} times
 before stopping.
 
 @cindex debugger commands, @code{finish}
@@ -29463,7 +29459,7 @@ automatic display variables, and debugger options.
 @item @code{step} address@hidden
 @itemx @code{s} address@hidden
 Continue execution until control reaches a different source line in the
-current stack frame. @code{step} steps inside any function called within
+current stack frame, stepping inside any function called within
 the line.  If the argument @var{count} is supplied, steps that many times 
before
 stopping, unless it encounters a breakpoint or watchpoint.
 
@@ -29576,7 +29572,7 @@ or field.
 String values must be enclosed between double quotes 
(@code{"address@hidden@code{"}).
 
 You can also set special @command{awk} variables, such as @code{FS},
address@hidden, @code{NR}, and son on.
address@hidden, @code{NR}, and so on.
 
 @cindex debugger commands, @code{w} (@code{watch})
 @cindex debugger commands, @code{watch}
@@ -29588,7 +29584,7 @@ You can also set special @command{awk} variables, such 
as @code{FS},
 Add variable @var{var} (or field @address@hidden) to the watch list.
 The debugger then stops whenever
 the value of the variable or field changes. Each watched item is assigned a
-number which can be used to delete it from the watch list using the
+number that can be used to delete it from the watch list using the
 @code{unwatch} command.
 
 With a watchpoint, you may also supply a condition.  This is an
@@ -29616,11 +29612,11 @@ watch list.
 @node Execution Stack
 @subsection Working with the Stack
 
-Whenever you run a program which contains any function calls,
+Whenever you run a program that contains any function calls,
 @command{gawk} maintains a stack of all of the function calls leading up
 to where the program is right now.  You can see how you got to where you are,
 and also move around in the stack to see what the state of things was in the
-functions which called the one you are in.  The commands for doing this are:
+functions that called the one you are in.  The commands for doing this are:
 
 @table @asis
 @cindex debugger commands, @code{bt} (@code{backtrace})
@@ -29655,8 +29651,8 @@ Then select and print the frame.
 @item @code{frame} address@hidden
 @itemx @code{f} address@hidden
 Select and print stack frame @var{n}.  Frame 0 is the currently executing,
-or @dfn{innermost}, frame (function call), frame 1 is the frame that
-called the innermost one. The highest numbered frame is the one for the
+or @dfn{innermost}, frame (function call); frame 1 is the frame that
+called the innermost one. The highest-numbered frame is the one for the
 main program.  The printed information consists of the frame number,
 function and argument names, source file, and the source line.
 
@@ -29672,7 +29668,7 @@ Then select and print the frame.
 
 Besides looking at the values of variables, there is often a need to get
 other sorts of information about the state of your program and of the
-debugging environment itself.  The @command{gawk} debugger has one command 
which
+debugging environment itself.  The @command{gawk} debugger has one command that
 provides this information, appropriately called @code{info}.  @code{info}
 is used with one of a number of arguments that tell it exactly what
 you want to know:
@@ -29760,12 +29756,12 @@ The available options are:
 @table @asis
 @item @code{history_size}
 @cindex debugger history size
-The maximum number of lines to keep in the history file @file{./.gawk_history}.
-The default is 100.
+Set the maximum number of lines to keep in the history file
address@hidden/.gawk_history}.  The default is 100.
 
 @item @code{listsize}
 @cindex debugger default list amount
-The number of lines that @code{list} prints. The default is 15.
+Specify the number of lines that @code{list} prints. The default is 15.
 
 @item @code{outfile}
 @cindex redirect @command{gawk} output, in debugger
@@ -29775,7 +29771,7 @@ standard output.
 
 @item @code{prompt}
 @cindex debugger prompt
-The debugger prompt. The default is @address@hidden> }}.
+Change the debugger prompt. The default is @address@hidden> }}.
 
 @item @code{save_history} address@hidden | @code{off}]
 @cindex debugger history file
@@ -29786,7 +29782,7 @@ The default is @code{on}.
 @cindex save debugger options
 Save current options to file @file{./.gawkrc} upon exit.
 The default is @code{on}.
-Options are read back in to the next session upon startup.
+Options are read back into the next session upon startup.
 
 @item @code{trace} address@hidden | @code{off}]
 @cindex instruction tracing, in debugger
@@ -29809,7 +29805,7 @@ command in the file. Also, the list of commands may 
include additional
 @code{source} commands; however, the @command{gawk} debugger will not source 
the
 same file more than once in order to avoid infinite recursion.
 
-In addition to, or instead of the @code{source} command, you can use
+In addition to, or instead of, the @code{source} command, you can use
 the @option{-D @var{file}} or @address@hidden command-line
 options to execute commands from a file non-interactively
 (@pxref{Options}).
@@ -29818,16 +29814,16 @@ options to execute commands from a file 
non-interactively
 @node Miscellaneous Debugger Commands
 @subsection Miscellaneous Commands
 
-There are a few more commands which do not fit into the
+There are a few more commands that do not fit into the
 previous categories, as follows:
 
 @table @asis
 @cindex debugger commands, @code{dump}
 @cindex @code{dump} debugger command
 @item @code{dump} address@hidden
-Dump bytecode of the program to standard output or to the file
+Dump byte code of the program to standard output or to the file
 named in @var{filename}.  This prints a representation of the internal
-instructions which @command{gawk} executes to implement the @command{awk}
+instructions that @command{gawk} executes to implement the @command{awk}
 commands in a program.  This can be very enlightening, as the following
 partial dump of Davide Brini's obfuscated code
 (@pxref{Signature Program}) demonstrates:
@@ -29924,7 +29920,7 @@ Print lines centered around line number @var{n} in
 source file @var{filename}. This command may change the current source file.
 
 @item @var{function}
-Print lines centered around beginning of the
+Print lines centered around the beginning of the
 function @var{function}. This command may change the current source file.
 @end table
 
@@ -29936,16 +29932,16 @@ function @var{function}. This command may change the 
current source file.
 @item @code{quit}
 @itemx @code{q}
 Exit the debugger.  Debugging is great fun, but sometimes we all have
-to tend to other obligations in life, and sometimes we find the bug,
+to tend to other obligations in life, and sometimes we find the bug
 and are free to go on to the next one!  As we saw earlier, if you are
-running a program, the debugger warns you if you accidentally type
+running a program, the debugger warns you when you type
 @samp{q} or @samp{quit}, to make sure you really want to quit.
 
 @cindex debugger commands, @code{trace}
 @cindex @code{trace} debugger command
 @item @code{trace} address@hidden | @code{off}]
-Turn on or off a continuous printing of instructions which are about to
-be executed, along with printing the @command{awk} line which they
+Turn on or off continuous printing of the instructions that are about to
+be executed, along with the @command{awk} lines they
 implement.  The default is @code{off}.
 
 It is to be hoped that most of the ``opcodes'' in these instructions are
@@ -29961,7 +29957,7 @@ fairly self-explanatory, and using @code{stepi} and 
@code{nexti} while
 
 If @command{gawk} is compiled with
 @uref{http://cnswww.cns.cwru.edu/php/chet/readline/readline.html,
-the @code{readline} library}, you can take advantage of that library's
+the GNU Readline library}, you can take advantage of that library's
 command completion and history expansion features. The following types
 of completion are available:
 
@@ -29998,7 +29994,7 @@ and
 
 We hope you find the @command{gawk} debugger useful and enjoyable to work with,
 but as with any program, especially in its early releases, it still has
-some limitations.  A few which are worth being aware of are:
+some limitations.  A few that it's worth being aware of are:
 
 @itemize @value{BULLET}
 @item
@@ -30014,13 +30010,13 @@ If you perused the dump of opcodes in 
@ref{Miscellaneous Debugger Commands}
 (or if you are already familiar with @command{gawk} internals),
 you will realize that much of the internal manipulation of data
 in @command{gawk}, as in many interpreters, is done on a stack.
address@hidden, @code{Op_pop}, and the like, are the ``bread and butter'' of
address@hidden, @code{Op_pop}, and the like are the ``bread and butter'' of
 most @command{gawk} code.
 
 Unfortunately, as of now, the @command{gawk}
 debugger does not allow you to examine the stack's contents.
 That is, the intermediate results of expression evaluation are on the
-stack, but cannot be printed.  Rather, only variables which are defined
+stack, but cannot be printed.  Rather, only variables that are defined
 in the program can be printed.  Of course, a workaround for
 this is to use more explicit variables at the debugging stage and then
 change back to obscure, perhaps more optimal code later.
@@ -30034,12 +30030,12 @@ programmer, you are expected to know the meaning of
 @item
 The @command{gawk} debugger is designed to be used by running a program (with 
all its
 parameters) on the command line, as described in @ref{Debugger Invocation}.
-There is no way (as of now) to attach or ``break in'' to a running program.
-This seems reasonable for a language which is used mainly for quickly
+There is no way (as of now) to attach or ``break into'' a running program.
+This seems reasonable for a language that is used mainly for quickly
 executing, short programs.
 
 @item
-The @command{gawk} debugger only accepts source supplied with the @option{-f} 
option.
+The @command{gawk} debugger only accepts source code supplied with the 
@option{-f} option.
 @end itemize
 
 @ignore
@@ -30053,8 +30049,8 @@ be added, and of course feel free to try to add them 
yourself!
 @itemize @value{BULLET}
 @item
 Programs rarely work correctly the first time.  Finding bugs
-is @dfn{debugging} and a program that helps you find bugs is a
address@hidden  @command{gawk} has a built-in debugger that works very
+is called debugging, and a program that helps you find bugs is a
+debugger.  @command{gawk} has a built-in debugger that works very
 similarly to the GNU Debugger, GDB.
 
 @item
@@ -30074,7 +30070,7 @@ breakpoints, execution, viewing and changing data, 
working with the stack,
 getting information, and other tasks.
 
 @item
-If the @code{readline} library is available when @command{gawk} is
+If the GNU Readline library is available when @command{gawk} is
 compiled, it is used by the debugger to provide command-line history
 and editing.
 
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index e02318b..1156ffd 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -27013,7 +27013,7 @@ a requirement.
 @cindex localization
 @dfn{Internationalization} means writing (or modifying) a program once,
 in such a way that it can use multiple languages without requiring
-further source-code changes.
+further source code changes.
 @dfn{Localization} means providing the data necessary for an
 internationalized program to work in a particular language.
 Most typically, these terms refer to features such as the language
@@ -27028,7 +27028,7 @@ monetary values are printed and read.
 @cindex @command{gettext} library
 @command{gawk} uses GNU @command{gettext} to provide its internationalization
 features.
-The facilities in GNU @command{gettext} focus on messages; strings printed
+The facilities in GNU @command{gettext} focus on messages: strings printed
 by a program, either directly or via formatting with @code{printf} or
 @code{sprintf()address@hidden some operating systems, the @command{gawk}
 port doesn't support GNU @command{gettext}.
@@ -27219,7 +27219,7 @@ All of the above.  (Not too useful in the context of 
@command{gettext}.)
 @section Internationalizing @command{awk} Programs
 @cindex @command{awk} programs, internationalizing
 
address@hidden provides the following variables and functions for
address@hidden provides the following variables for
 internationalization:
 
 @table @code
@@ -27235,7 +27235,12 @@ value is @code{"messages"}.
 String constants marked with a leading underscore
 are candidates for translation at runtime.
 String constants without a leading underscore are not translated.
address@hidden table
 
address@hidden provides the following functions for
+internationalization:
+
address@hidden @code
 @cindexgawkfunc{dcgettext}
 @item @code{dcgettext(@var{string}} address@hidden,} @var{domain} 
address@hidden,} @address@hidden)}
 Return the translation of @var{string} in
@@ -27292,15 +27297,7 @@ If @var{directory} is the null string (@code{""}), then
 given @var{domain}.
 @end table
 
-To use these facilities in your @command{awk} program, follow the steps
-outlined in
address@hidden
-the previous @value{SECTION},
address@hidden ifnotinfo
address@hidden
address@hidden gettext},
address@hidden ifinfo
-like so:
+To use these facilities in your @command{awk} program, follow these steps:
 
 @enumerate
 @cindex @code{BEGIN} pattern, @code{TEXTDOMAIN} variable and
@@ -27583,7 +27580,7 @@ the null string (@code{""}) as its value, leaving the 
original string constant a
 the result.
 
 @item
-By defining ``dummy'' functions to replace @code{dcgettext()}, 
@code{dcngettext()}
+By defining ``dummy'' functions to replace @code{dcgettext()}, 
@code{dcngettext()},
 and @code{bindtextdomain()}, the @command{awk} program can be made to run, but
 all the messages are output in the original language.
 For example:
@@ -27767,11 +27764,11 @@ using the GNU @command{gettext} package.
 (GNU @command{gettext} is described in
 complete detail in
 @ifinfo
address@hidden, , GNU @command{gettext} utilities, gettext, GNU gettext tools}.)
address@hidden, , GNU @command{gettext} utilities, gettext, GNU 
@command{gettext} utilities}.)
 @end ifinfo
 @ifnotinfo
 @uref{http://www.gnu.org/software/gettext/manual/,
address@hidden gettext tools}}.)
address@hidden @command{gettext} utilities}}.)
 @end ifnotinfo
 As of this writing, the latest version of GNU @command{gettext} is
 @uref{ftp://ftp.gnu.org/gnu/gettext/gettext-0.19.4.tar.gz,
@@ -27787,7 +27784,7 @@ and fatal errors in the local language.
 @itemize @value{BULLET}
 @item
 Internationalization means writing a program such that it can use multiple
-languages without requiring source-code changes.  Localization means
+languages without requiring source code changes.  Localization means
 providing the data necessary for an internationalized program to work
 in a particular language.
 
@@ -27804,9 +27801,9 @@ file, and the @file{.po} files are compiled into 
@file{.gmo} files for
 use at runtime.
 
 @item
-You can use position specifications with @code{sprintf()} and
+You can use positional specifications with @code{sprintf()} and
 @code{printf} to rearrange the placement of argument values in formatted
-strings and output. This is useful for the translations of format
+strings and output. This is useful for the translation of format
 control strings.
 
 @item
@@ -27862,8 +27859,7 @@ the discussion of debugging in @command{gawk}.
 @subsection Debugging in General
 
 (If you have used debuggers in other languages, you may want to skip
-ahead to the next section on the specific features of the @command{gawk}
-debugger.)
+ahead to @ref{Awk Debugging}.)
 
 Of course, a debugging program cannot remove bugs for you, because it has
 no way of knowing what you or your users consider a ``bug'' versus a
@@ -27954,10 +27950,10 @@ and usually find the errant code quite quickly.
 @end table
 
 @node Awk Debugging
address@hidden Awk Debugging
address@hidden @command{awk} Debugging
 
 Debugging an @command{awk} program has some specific aspects that are
-not shared with other programming languages.
+not shared with programs written in other languages.
 
 First of all, the fact that @command{awk} programs usually take input
 line by line from a file or files and operate on those lines using specific
@@ -27973,7 +27969,7 @@ to look at the individual primitive instructions 
carried out
 by the higher-level @command{awk} commands.
 
 @node Sample Debugging Session
address@hidden Sample Debugging Session
address@hidden Sample @command{gawk} Debugging Session
 @cindex sample debugging session
 
 In order to illustrate the use of @command{gawk} as a debugger, let's look at 
a sample
@@ -27992,8 +27988,8 @@ as our example.
 @cindex debugger, how to start
 
 Starting the debugger is almost exactly like running @command{gawk} normally,
-except you have to pass an additional option @option{--debug}, or the
-corresponding short option @option{-D}.  The file(s) containing the
+except you have to pass an additional option, @option{--debug}, or the
+corresponding short option, @option{-D}.  The file(s) containing the
 program and any supporting code are given on the command line as arguments
 to one or more @option{-f} options. (@command{gawk} is not designed
 to debug command-line programs, only programs contained in files.)
@@ -28006,7 +28002,7 @@ $ @kbd{gawk -D -f getopt.awk -f join.awk -f uniq.awk -1 
inputfile}
 @noindent
 where both @file{getopt.awk} and @file{uniq.awk} are in @env{$AWKPATH}.
 (Experienced users of GDB or similar debuggers should note that
-this syntax is slightly different from what they are used to.
+this syntax is slightly different from what you are used to.
 With the @command{gawk} debugger, you give the arguments for running the 
program
 in the command line to the debugger rather than as part of the @code{run}
 command at the debugger prompt.)
@@ -28160,10 +28156,10 @@ gawk> @kbd{n}
 @end example
 
 This tells us that @command{gawk} is now ready to execute line 66, which
-decides whether to give the lines the special ``field skipping'' treatment
+decides whether to give the lines the special ``field-skipping'' treatment
 indicated by the @option{-1} command-line option.  (Notice that we skipped
-from where we were before at line 63 to here, because the condition in line 63
address@hidden (fcount == 0 && charcount == 0)} was false.)
+from where we were before, at line 63, to here, because the condition
+in line 63, @samp{if (fcount == 0 && charcount == 0)}, was false.)
 
 Continuing to step, we now get to the splitting of the current and
 last records:
@@ -28237,7 +28233,7 @@ gawk> @kbd{n}
 
 Well, here we are at our error (sorry to spoil the suspense).  What we
 had in mind was to join the fields starting from the second one to make
-the virtual record to compare, and if the first field was numbered zero,
+the virtual record to compare, and if the first field were numbered zero,
 this would work.  Let's look at what we've got:
 
 @example
@@ -28246,7 +28242,7 @@ gawk> @kbd{p cline clast}
 @print{} clast = "awk is a wonderful program!"
 @end example
 
-Hey, those look pretty familiar!  They're just our original, unaltered,
+Hey, those look pretty familiar!  They're just our original, unaltered
 input records.  A little thinking (the human brain is still the best
 debugging tool), and we realize that we were off by one!
 
@@ -28296,11 +28292,11 @@ Miscellaneous
 @end itemize
 
 Each of these are discussed in the following subsections.
-In the following descriptions, commands which may be abbreviated
+In the following descriptions, commands that may be abbreviated
 show the abbreviation on a second description line.
 A debugger command name may also be truncated if that partial
 name is unambiguous. The debugger has the built-in capability to
-automatically repeat the previous command just by hitting @key{Enter}.
+automatically repeat the previous command just by hitting @kbd{Enter}.
 This works for the commands @code{list}, @code{next}, @code{nexti},
 @code{step}, @code{stepi}, and @code{continue} executed without any
 argument.
@@ -28350,7 +28346,7 @@ Set a breakpoint at entry to (the first instruction of)
 function @var{function}.
 @end table
 
-Each breakpoint is assigned a number which can be used to delete it from
+Each breakpoint is assigned a number that can be used to delete it from
 the breakpoint list using the @code{delete} command.
 
 With a breakpoint, you may also supply a condition.  This is an
@@ -28402,7 +28398,7 @@ watchpoint is made unconditional).
 @cindex breakpoint, delete by number
 @item @code{delete} address@hidden n2} @dots{}] address@hidden@var{m}]
 @itemx @code{d} address@hidden n2} @dots{}] address@hidden@var{m}]
-Delete specified breakpoints or a range of breakpoints. Deletes
+Delete specified breakpoints or a range of breakpoints. Delete
 all defined breakpoints if no argument is supplied.
 
 @cindex debugger commands, @code{disable}
@@ -28411,7 +28407,7 @@ all defined breakpoints if no argument is supplied.
 @cindex breakpoint, how to disable or enable
 @item @code{disable} address@hidden n2} @dots{} | @address@hidden
 Disable specified breakpoints or a range of breakpoints. Without
-any argument, disables all breakpoints.
+any argument, disable all breakpoints.
 
 @cindex debugger commands, @code{e} (@code{enable})
 @cindex debugger commands, @code{enable}
@@ -28421,18 +28417,18 @@ any argument, disables all breakpoints.
 @item @code{enable} address@hidden | @code{once}] address@hidden n2} @dots{}] 
address@hidden@var{m}]
 @itemx @code{e} address@hidden | @code{once}] address@hidden n2} @dots{}] 
address@hidden@var{m}]
 Enable specified breakpoints or a range of breakpoints. Without
-any argument, enables all breakpoints.
-Optionally, you can specify how to enable the breakpoint:
+any argument, enable all breakpoints.
+Optionally, you can specify how to enable the breakpoints:
 
 @c nested table
 @table @code
 @item del
-Enable the breakpoint(s) temporarily, then delete it when
-the program stops at the breakpoint.
+Enable the breakpoints temporarily, then delete each one when
+the program stops at it.
 
 @item once
-Enable the breakpoint(s) temporarily, then disable it when
-the program stops at the breakpoint.
+Enable the breakpoints temporarily, then disable each one when
+the program stops at it.
 @end table
 
 @cindex debugger commands, @code{ignore}
@@ -28500,7 +28496,7 @@ gawk>
 @item @code{continue} address@hidden
 @itemx @code{c} address@hidden
 Resume program execution. If continued from a breakpoint and @var{count} is
-specified, ignores the breakpoint at that location the next @var{count} times
+specified, ignore the breakpoint at that location the next @var{count} times
 before stopping.
 
 @cindex debugger commands, @code{finish}
@@ -28554,7 +28550,7 @@ automatic display variables, and debugger options.
 @item @code{step} address@hidden
 @itemx @code{s} address@hidden
 Continue execution until control reaches a different source line in the
-current stack frame. @code{step} steps inside any function called within
+current stack frame, stepping inside any function called within
 the line.  If the argument @var{count} is supplied, steps that many times 
before
 stopping, unless it encounters a breakpoint or watchpoint.
 
@@ -28667,7 +28663,7 @@ or field.
 String values must be enclosed between double quotes 
(@code{"address@hidden@code{"}).
 
 You can also set special @command{awk} variables, such as @code{FS},
address@hidden, @code{NR}, and son on.
address@hidden, @code{NR}, and so on.
 
 @cindex debugger commands, @code{w} (@code{watch})
 @cindex debugger commands, @code{watch}
@@ -28679,7 +28675,7 @@ You can also set special @command{awk} variables, such 
as @code{FS},
 Add variable @var{var} (or field @address@hidden) to the watch list.
 The debugger then stops whenever
 the value of the variable or field changes. Each watched item is assigned a
-number which can be used to delete it from the watch list using the
+number that can be used to delete it from the watch list using the
 @code{unwatch} command.
 
 With a watchpoint, you may also supply a condition.  This is an
@@ -28707,11 +28703,11 @@ watch list.
 @node Execution Stack
 @subsection Working with the Stack
 
-Whenever you run a program which contains any function calls,
+Whenever you run a program that contains any function calls,
 @command{gawk} maintains a stack of all of the function calls leading up
 to where the program is right now.  You can see how you got to where you are,
 and also move around in the stack to see what the state of things was in the
-functions which called the one you are in.  The commands for doing this are:
+functions that called the one you are in.  The commands for doing this are:
 
 @table @asis
 @cindex debugger commands, @code{bt} (@code{backtrace})
@@ -28746,8 +28742,8 @@ Then select and print the frame.
 @item @code{frame} address@hidden
 @itemx @code{f} address@hidden
 Select and print stack frame @var{n}.  Frame 0 is the currently executing,
-or @dfn{innermost}, frame (function call), frame 1 is the frame that
-called the innermost one. The highest numbered frame is the one for the
+or @dfn{innermost}, frame (function call); frame 1 is the frame that
+called the innermost one. The highest-numbered frame is the one for the
 main program.  The printed information consists of the frame number,
 function and argument names, source file, and the source line.
 
@@ -28763,7 +28759,7 @@ Then select and print the frame.
 
 Besides looking at the values of variables, there is often a need to get
 other sorts of information about the state of your program and of the
-debugging environment itself.  The @command{gawk} debugger has one command 
which
+debugging environment itself.  The @command{gawk} debugger has one command that
 provides this information, appropriately called @code{info}.  @code{info}
 is used with one of a number of arguments that tell it exactly what
 you want to know:
@@ -28851,12 +28847,12 @@ The available options are:
 @table @asis
 @item @code{history_size}
 @cindex debugger history size
-The maximum number of lines to keep in the history file @file{./.gawk_history}.
-The default is 100.
+Set the maximum number of lines to keep in the history file
address@hidden/.gawk_history}.  The default is 100.
 
 @item @code{listsize}
 @cindex debugger default list amount
-The number of lines that @code{list} prints. The default is 15.
+Specify the number of lines that @code{list} prints. The default is 15.
 
 @item @code{outfile}
 @cindex redirect @command{gawk} output, in debugger
@@ -28866,7 +28862,7 @@ standard output.
 
 @item @code{prompt}
 @cindex debugger prompt
-The debugger prompt. The default is @address@hidden> }}.
+Change the debugger prompt. The default is @address@hidden> }}.
 
 @item @code{save_history} address@hidden | @code{off}]
 @cindex debugger history file
@@ -28877,7 +28873,7 @@ The default is @code{on}.
 @cindex save debugger options
 Save current options to file @file{./.gawkrc} upon exit.
 The default is @code{on}.
-Options are read back in to the next session upon startup.
+Options are read back into the next session upon startup.
 
 @item @code{trace} address@hidden | @code{off}]
 @cindex instruction tracing, in debugger
@@ -28900,7 +28896,7 @@ command in the file. Also, the list of commands may 
include additional
 @code{source} commands; however, the @command{gawk} debugger will not source 
the
 same file more than once in order to avoid infinite recursion.
 
-In addition to, or instead of the @code{source} command, you can use
+In addition to, or instead of, the @code{source} command, you can use
 the @option{-D @var{file}} or @address@hidden command-line
 options to execute commands from a file non-interactively
 (@pxref{Options}).
@@ -28909,16 +28905,16 @@ options to execute commands from a file 
non-interactively
 @node Miscellaneous Debugger Commands
 @subsection Miscellaneous Commands
 
-There are a few more commands which do not fit into the
+There are a few more commands that do not fit into the
 previous categories, as follows:
 
 @table @asis
 @cindex debugger commands, @code{dump}
 @cindex @code{dump} debugger command
 @item @code{dump} address@hidden
-Dump bytecode of the program to standard output or to the file
+Dump byte code of the program to standard output or to the file
 named in @var{filename}.  This prints a representation of the internal
-instructions which @command{gawk} executes to implement the @command{awk}
+instructions that @command{gawk} executes to implement the @command{awk}
 commands in a program.  This can be very enlightening, as the following
 partial dump of Davide Brini's obfuscated code
 (@pxref{Signature Program}) demonstrates:
@@ -29015,7 +29011,7 @@ Print lines centered around line number @var{n} in
 source file @var{filename}. This command may change the current source file.
 
 @item @var{function}
-Print lines centered around beginning of the
+Print lines centered around the beginning of the
 function @var{function}. This command may change the current source file.
 @end table
 
@@ -29027,16 +29023,16 @@ function @var{function}. This command may change the 
current source file.
 @item @code{quit}
 @itemx @code{q}
 Exit the debugger.  Debugging is great fun, but sometimes we all have
-to tend to other obligations in life, and sometimes we find the bug,
+to tend to other obligations in life, and sometimes we find the bug
 and are free to go on to the next one!  As we saw earlier, if you are
-running a program, the debugger warns you if you accidentally type
+running a program, the debugger warns you when you type
 @samp{q} or @samp{quit}, to make sure you really want to quit.
 
 @cindex debugger commands, @code{trace}
 @cindex @code{trace} debugger command
 @item @code{trace} address@hidden | @code{off}]
-Turn on or off a continuous printing of instructions which are about to
-be executed, along with printing the @command{awk} line which they
+Turn on or off continuous printing of the instructions that are about to
+be executed, along with the @command{awk} lines they
 implement.  The default is @code{off}.
 
 It is to be hoped that most of the ``opcodes'' in these instructions are
@@ -29052,7 +29048,7 @@ fairly self-explanatory, and using @code{stepi} and 
@code{nexti} while
 
 If @command{gawk} is compiled with
 @uref{http://cnswww.cns.cwru.edu/php/chet/readline/readline.html,
-the @code{readline} library}, you can take advantage of that library's
+the GNU Readline library}, you can take advantage of that library's
 command completion and history expansion features. The following types
 of completion are available:
 
@@ -29089,7 +29085,7 @@ and
 
 We hope you find the @command{gawk} debugger useful and enjoyable to work with,
 but as with any program, especially in its early releases, it still has
-some limitations.  A few which are worth being aware of are:
+some limitations.  A few that it's worth being aware of are:
 
 @itemize @value{BULLET}
 @item
@@ -29105,13 +29101,13 @@ If you perused the dump of opcodes in 
@ref{Miscellaneous Debugger Commands}
 (or if you are already familiar with @command{gawk} internals),
 you will realize that much of the internal manipulation of data
 in @command{gawk}, as in many interpreters, is done on a stack.
address@hidden, @code{Op_pop}, and the like, are the ``bread and butter'' of
address@hidden, @code{Op_pop}, and the like are the ``bread and butter'' of
 most @command{gawk} code.
 
 Unfortunately, as of now, the @command{gawk}
 debugger does not allow you to examine the stack's contents.
 That is, the intermediate results of expression evaluation are on the
-stack, but cannot be printed.  Rather, only variables which are defined
+stack, but cannot be printed.  Rather, only variables that are defined
 in the program can be printed.  Of course, a workaround for
 this is to use more explicit variables at the debugging stage and then
 change back to obscure, perhaps more optimal code later.
@@ -29125,12 +29121,12 @@ programmer, you are expected to know the meaning of
 @item
 The @command{gawk} debugger is designed to be used by running a program (with 
all its
 parameters) on the command line, as described in @ref{Debugger Invocation}.
-There is no way (as of now) to attach or ``break in'' to a running program.
-This seems reasonable for a language which is used mainly for quickly
+There is no way (as of now) to attach or ``break into'' a running program.
+This seems reasonable for a language that is used mainly for quickly
 executing, short programs.
 
 @item
-The @command{gawk} debugger only accepts source supplied with the @option{-f} 
option.
+The @command{gawk} debugger only accepts source code supplied with the 
@option{-f} option.
 @end itemize
 
 @ignore
@@ -29144,8 +29140,8 @@ be added, and of course feel free to try to add them 
yourself!
 @itemize @value{BULLET}
 @item
 Programs rarely work correctly the first time.  Finding bugs
-is @dfn{debugging} and a program that helps you find bugs is a
address@hidden  @command{gawk} has a built-in debugger that works very
+is called debugging, and a program that helps you find bugs is a
+debugger.  @command{gawk} has a built-in debugger that works very
 similarly to the GNU Debugger, GDB.
 
 @item
@@ -29165,7 +29161,7 @@ breakpoints, execution, viewing and changing data, 
working with the stack,
 getting information, and other tasks.
 
 @item
-If the @code{readline} library is available when @command{gawk} is
+If the GNU Readline library is available when @command{gawk} is
 compiled, it is used by the debugger to provide command-line history
 and editing.
 

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

Summary of changes:
 doc/ChangeLog   |    4 +
 doc/gawk.info   |  599 +++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |  146 +++++++-------
 doc/gawktexi.in |  146 +++++++-------
 4 files changed, 445 insertions(+), 450 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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