[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
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gawk-diffs] [SCM] gawk branch, gawk-4.1-stable, updated. gawk-4.1.0-581-gefbd4b7,
Arnold Robbins <=