[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gawk-diffs] [SCM] gawk branch, gawk_mpfr, updated. 9bc37b0ee389c9a8be84
From: |
Arnold Robbins |
Subject: |
[gawk-diffs] [SCM] gawk branch, gawk_mpfr, updated. 9bc37b0ee389c9a8be843b9f30d11bb7df899c20 |
Date: |
Wed, 11 Apr 2012 17:53:03 +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_mpfr has been updated
via 9bc37b0ee389c9a8be843b9f30d11bb7df899c20 (commit)
from 154f72534002c0c49df249b52fe76d126eed72a3 (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=9bc37b0ee389c9a8be843b9f30d11bb7df899c20
commit 9bc37b0ee389c9a8be843b9f30d11bb7df899c20
Author: Arnold D. Robbins <address@hidden>
Date: Wed Apr 11 20:52:20 2012 +0300
Change --arbitrary-precision to --bignum. Doc updates.
diff --git a/ChangeLog b/ChangeLog
index ac99bdb..fb965c4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2012-04-11 Arnold D. Robbins <address@hidden>
+
+ * main.c: Change --arbitrary-precision to --bignum.
+
2012-04-02 John Haque <address@hidden>
Add support for arbitrary-precision arithmetic.
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 735ee49..2ae1fb9 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2012-04-11 Arnold D. Robbins <address@hidden>
+
+ * gawk.texi: Change --arbitrary-precision to --bignum.
+ * gawk.1: Ditto.
+ * awkcard.in: Add --bignum, RNDMODE, PREC.
+
2012-04-08 Arnold D. Robbins <address@hidden>
* gawk.texi: Editing on new chapter on arbitrary precision numbers.
diff --git a/doc/awkcard.in b/doc/awkcard.in
index c8d4183..ef15a8c 100644
--- a/doc/awkcard.in
+++ b/doc/awkcard.in
@@ -281,6 +281,8 @@ If \*(FIvalue\*(FR is
\*(FCinvalid\*(FR,
only issue warnings about things that are
actually invalid (not fully implemented yet).
+.TI "\*(FC\-M\*(FR, \*(FC\-\^\-bignum\*(FR
+Enable arbitrary-precision arithmetic.
.TI "\*(FC\-n\*(FR, \*(FC\-\^\-non\-decimal\-data\*(FR
Recognize octal and hexadecimal values in input data.
\*(FIUse this option with great caution!\*(FR
@@ -299,10 +301,11 @@ of each statement in the program.
.TI "\*(FC\-P\*(FR, \*(FC\-\^\-posix\*(FR
Disable common and GNU extensions.
.TI "\*(FC\-r\*(FR, \*(FC\-\^\-re\-interval\*(FR
-Enable \*(FIinterval expressions\*(FR in regular
-expression matching (see \fHRegular
-Expressions\fP below). Useful if
-\*(FC\-\^\-traditional\*(FR is specified.\*(CB
+Enable \*(FIinterval expressions\*(FR.\*(CB
+... in regular
+... expression matching (see \fHRegular
+... Expressions\fP below). Useful if
+... \*(FC\-\^\-traditional\*(FR is specified
.in -4n
.EB "\s+2\f(HBCOMMAND LINE ARGUMENTS (\*(GK\f(HB)\*(FR\s0"
@@ -609,7 +612,11 @@ T}
\*(FCORS\fP T{
Output record separator, a newline by default.
T}
-\*(CB\*(FCPROCINFO\fP T{
+\*(CB\*(FCPREC\fP T{
+The working precision of arbitrary precision floating-point
+numbers, 53 by default.
+T}
+\*(FCPROCINFO\fP T{
Elements of this array provide access to information
about the running AWK program. See
\*(AM for details.\*(CD
@@ -618,6 +625,10 @@ T}
Length of the string matched by \*(FCmatch()\*(FR;
\-1 if no match.
T}
+\*(CB\*(FCRNDMODE\fP T{
+The rounding mode to use for arbitrary precision arithmetic,
+by default \*(FC"N"\fP.\*(CD
+T}
\*(FCRS\fP T{
Input record separator, a newline by default
(see \fHRecords\fP above).
diff --git a/doc/gawk.1 b/doc/gawk.1
index 6bb7388..1f218d3 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -358,7 +358,7 @@ actually invalid are issued. (This is not fully implemented
yet.)
.B \-M
.TP
.PD
-.B \-\^\-arbitrary-precision
+.B \-\^\-bignum
Force arbitrary precision arithmetic on numbers. This option has
no effect if
.I gawk
diff --git a/doc/gawk.info b/doc/gawk.info
index 3ca10d7..c5702ee 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -1,4 +1,4 @@
-This is gawk.info, produced by makeinfo version 4.8 from gawk.texi.
+This is gawk.info, produced by makeinfo version 4.13 from gawk.texi.
INFO-DIR-SECTION Text creation and manipulation
START-INFO-DIR-ENTRY
@@ -760,7 +760,7 @@ A Rose by Any Other Name
========================
The `awk' language has evolved over the years. Full details are
-provided in *Note Language History::. The language described in this
+provided in *note Language History::. The language described in this
Info file is often referred to as "new `awk'" (`nawk').
Because of this, there are systems with multiple versions of `awk'.
@@ -821,78 +821,78 @@ illustrates the concept currently being described.
While this Info file is aimed principally at people who have not been
exposed to `awk', there is a lot of information here that even the `awk'
expert should find useful. In particular, the description of POSIX
-`awk' and the example programs in *Note Library Functions::, and in
-*Note Sample Programs::, should be of interest.
+`awk' and the example programs in *note Library Functions::, and in
+*note Sample Programs::, should be of interest.
- *Note Getting Started::, provides the essentials you need to know to
+ *note Getting Started::, provides the essentials you need to know to
begin using `awk'.
- *Note Invoking Gawk::, describes how to run `gawk', the meaning of
+ *note Invoking Gawk::, describes how to run `gawk', the meaning of
its command-line options, and how it finds `awk' program source files.
- *Note Regexp::, introduces regular expressions in general, and in
+ *note Regexp::, introduces regular expressions in general, and in
particular the flavors supported by POSIX `awk' and `gawk'.
- *Note Reading Files::, describes how `awk' reads your data. It
+ *note Reading Files::, describes how `awk' reads your data. It
introduces the concepts of records and fields, as well as the `getline'
command. I/O redirection is first described here. Network I/O is also
briefly introduced here.
- *Note Printing::, describes how `awk' programs can produce output
+ *note Printing::, describes how `awk' programs can produce output
with `print' and `printf'.
- *Note Expressions::, describes expressions, which are the basic
+ *note Expressions::, describes expressions, which are the basic
building blocks for getting most things done in a program.
- *Note Patterns and Actions::, describes how to write patterns for
+ *note Patterns and Actions::, describes how to write patterns for
matching records, actions for doing something when a record is matched,
and the built-in variables `awk' and `gawk' use.
- *Note Arrays::, covers `awk''s one-and-only data structure:
+ *note Arrays::, covers `awk''s one-and-only data structure:
associative arrays. Deleting array elements and whole arrays is also
described, as well as sorting arrays in `gawk'. It also describes how
`gawk' provides arrays of arrays.
- *Note Functions::, describes the built-in functions `awk' and `gawk'
+ *note Functions::, describes the built-in functions `awk' and `gawk'
provide, as well as how to define your own functions.
- *Note Internationalization::, describes special features in `gawk'
+ *note Internationalization::, describes special features in `gawk'
for translating program messages into different languages at runtime.
- *Note Advanced Features::, describes a number of `gawk'-specific
+ *note Advanced Features::, describes a number of `gawk'-specific
advanced features. Of particular note are the abilities to have
two-way communications with another process, perform TCP/IP networking,
and profile your `awk' programs.
- *Note Library Functions::, and *Note Sample Programs::, provide many
+ *note Library Functions::, and *note Sample Programs::, provide many
sample `awk' programs. Reading them allows you to see `awk' solving
real problems.
- *Note Debugger::, describes the `awk' debugger.
+ *note Debugger::, describes the `awk' debugger.
- *Note Language History::, describes how the `awk' language has
+ *note Language History::, describes how the `awk' language has
evolved since its first release to present. It also describes how
`gawk' has acquired features over time.
- *Note Installation::, describes how to get `gawk', how to compile it
+ *note Installation::, describes how to get `gawk', how to compile it
on POSIX-compatible systems, and how to compile and use it on different
non-POSIX systems. It also describes how to report bugs in `gawk' and
where to get other freely available `awk' implementations.
- *Note Notes::, describes how to disable `gawk''s extensions, as well
+ *note Notes::, describes how to disable `gawk''s extensions, as well
as how to contribute new code to `gawk', how to write extension
libraries, and some possible future directions for `gawk' development.
- *Note Basic Concepts::, provides some very cursory background
+ *note Basic Concepts::, provides some very cursory background
material for those who are completely unfamiliar with computer
programming. Also centralized there is a discussion of some of the
issues surrounding floating-point numbers.
- The *Note Glossary::, defines most, if not all, the significant
+ The *note Glossary::, defines most, if not all, the significant
terms used throughout the book. If you find terms that you aren't
familiar with, try looking them up here.
- *Note Copying::, and *Note GNU Free Documentation License::, present
+ *note Copying::, and *note GNU Free Documentation License::, present
the licenses that cover the `gawk' source code and this Info file,
respectively.
@@ -1008,7 +1008,7 @@ Guide'.
This edition maintains the basic structure of the previous editions.
For Edition 4.0, the content has been thoroughly reviewed and updated.
All references to versions prior to 4.0 have been removed. Of
-significant note for this edition is *Note Debugger::.
+significant note for this edition is *note Debugger::.
`GAWK: Effective AWK Programming' will undoubtedly continue to
evolve. An electronic version comes with the `gawk' distribution from
@@ -1020,7 +1020,7 @@ electronically.
(1) GNU stands for "GNU's not Unix."
- (2) The terminology "GNU/Linux" is explained in the *Note Glossary::.
+ (2) The terminology "GNU/Linux" is explained in the *note Glossary::.
File: gawk.info, Node: How To Contribute, Next: Acknowledgments, Prev:
Manual History, Up: Preface
@@ -1123,7 +1123,7 @@ byte-code interpreter, including the debugger, and the
additional
modifications for support of arbitrary precision arithmetic. Stephen
Davies contributed to the effort to bring the byte-code changes into
the mainstream code base. Efraim Yawitz contributed the initial text
-of *Note Debugger::. John Haque contributed the initial text of *Note
+of *note Debugger::. John Haque contributed the initial text of *note
Arbitrary Precision Arithmetic::.
I would like to thank Brian Kernighan for invaluable assistance
@@ -1258,7 +1258,7 @@ programs from shell scripts, because it avoids the need
for a separate
file for the `awk' program. A self-contained shell script is more
reliable because there are no other files to misplace.
- *Note Very Simple::, presents several short, self-contained programs.
+ *note Very Simple::, presents several short, self-contained programs.
File: gawk.info, Node: Read Terminal, Next: Long, Prev: One-shot, Up:
Running gawk
@@ -1443,7 +1443,7 @@ programs, but this usually isn't very useful; the purpose
of a comment
is to help you or another person understand the program when reading it
at a later time.
- CAUTION: As mentioned in *Note One-shot::, you can enclose small
+ CAUTION: As mentioned in *note One-shot::, you can enclose small
to medium programs in single quotes, in order to keep your shell
scripts self-contained. When doing so, _don't_ put an apostrophe
(i.e., a single quote) into a comment (or anywhere else in your
@@ -1505,7 +1505,7 @@ Shell). If you use the C shell, you're on your own.
quotes. The shell does no interpretation of the quoted text,
passing it on verbatim to the command. It is _impossible_ to
embed a single quote inside single-quoted text. Refer back to
- *Note Comments::, for an example of what happens if you try.
+ *note Comments::, for an example of what happens if you try.
* Double quotes protect most things between the opening and closing
quotes. The shell does at least variable and command substitution
@@ -1517,7 +1517,7 @@ Shell). If you use the C shell, you're on your own.
the characters `$', ``', `\', and `"', all of which must be
preceded by a backslash within double-quoted text if they are to
be passed on literally to the program. (The leading backslash is
- stripped first.) Thus, the example seen in *Note Read Terminal::,
+ stripped first.) Thus, the example seen in *note Read Terminal::,
is applicable:
$ awk "BEGIN { print \"Don't Panic!\" }"
@@ -1672,7 +1672,7 @@ Miscellaneous File Operations: (emacs)Misc File Ops, for
more
information). Using this information, create your own `BBS-list' and
`inventory-shipped' files and practice what you learn in this Info file.
- If you are using the stand-alone version of Info, see *Note Extract
+ If you are using the stand-alone version of Info, see *note Extract
Program::, for an `awk' program that extracts these data files from
`gawk.texi', the Texinfo source file for this Info file.
@@ -2014,7 +2014,7 @@ minor node could also be written this way:
---------- Footnotes ----------
(1) The `?' and `:' referred to here is the three-operand
-conditional expression described in *Note Conditional Exp::. Splitting
+conditional expression described in *note Conditional Exp::. Splitting
lines after `?' and `:' is a minor `gawk' extension; if `--posix' is
specified (*note Options::), then this extension is disabled.
@@ -2037,7 +2037,7 @@ determining the type of a variable, and array sorting.
As we develop our presentation of the `awk' language, we introduce
most of the variables and many of the functions. They are described
-systematically in *Note Built-in Variables::, and *Note Built-in::.
+systematically in *note Built-in Variables::, and *note Built-in::.
File: gawk.info, Node: When, Prev: Other Features, Up: Getting Started
@@ -2195,7 +2195,7 @@ The following list describes options mandated by the
POSIX standard:
This is useful if you have file names that start with `-', or in
shell scripts, if you have file names that will be specified by
the user that could start with `-'. It is also useful for passing
- options on to the `awk' program; see *Note Getopt Function::.
+ options on to the `awk' program; see *note Getopt Function::.
The following list describes `gawk'-specific options:
@@ -2214,7 +2214,7 @@ The following list describes options mandated by the
POSIX standard:
Specify "compatibility mode", in which the GNU extensions to the
`awk' language are disabled, so that `gawk' behaves just like
Brian Kernighan's version `awk'. *Note POSIX/GNU::, which
- summarizes the extensions. Also see *Note Compatibility Mode::.
+ summarizes the extensions. Also see *note Compatibility Mode::.
`-C'
`--copyright'
@@ -2314,7 +2314,7 @@ The following list describes options mandated by the
POSIX standard:
doing so is not burdensome.
`-M'
-`--arbitrary-precision'
+`--bignum'
Force arbitrary precision arithmetic on numbers. This option has
no effect if `gawk' is not compiled to use the GNU MPFR and MP
libraries (*note Arbitrary Precision Arithmetic::).
@@ -2426,7 +2426,7 @@ if they had been concatenated together into one big file.
This is
useful for creating libraries of `awk' functions. These functions can
be written once and then retrieved from a standard place, instead of
having to be included into each individual program. (As mentioned in
-*Note Definition Syntax::, function names must be unique.)
+*note Definition Syntax::, function names must be unique.)
With standard `awk', library functions can still be used, even if
the program is entered at the terminal, by specifying `-f /dev/tty'.
@@ -2484,7 +2484,7 @@ File: gawk.info, Node: Other Arguments, Next: Naming
Standard Input, Prev: Op
Any additional arguments on the command line are normally treated as
input files to be processed in the order specified. However, an
argument that has the form `VAR=VALUE', assigns the value VALUE to the
-variable VAR--it does not specify a file at all. (See *Note Assignment
+variable VAR--it does not specify a file at all. (See *note Assignment
Options::.)
All these arguments are made available to your `awk' program in the
@@ -2804,7 +2804,7 @@ reducing the need for writing complex and tedious command
lines. In
particular, address@hidden' is very useful for writing CGI scripts to be run
from web pages.
- As mentioned in *Note AWKPATH Variable::, the current directory is
+ As mentioned in *note AWKPATH Variable::, the current directory is
always searched first for source files, before searching in `AWKPATH',
and this also applies to files named with address@hidden'.
@@ -2822,7 +2822,7 @@ they will _not_ be in the next release).
The process-related special files `/dev/pid', `/dev/ppid',
`/dev/pgrpid', and `/dev/user' were deprecated in `gawk' 3.1, but still
worked. As of version 4.0, they are no longer interpreted specially by
-`gawk'. (Use `PROCINFO' instead; see *Note Auto-set::.)
+`gawk'. (Use `PROCINFO' instead; see *note Auto-set::.)
File: gawk.info, Node: Undocumented, Prev: Obsolete, Up: Invoking Gawk
@@ -3015,7 +3015,7 @@ with a backslash have special meaning in regexps. *Note
GNU Regexp
Operators::.
In a regexp, a backslash before any character that is not in the
-previous list and not listed in *Note GNU Regexp Operators::, means
+previous list and not listed in *note GNU Regexp Operators::, means
that the next character should be taken literally, even if it would
normally be a regexp operator. For example, `/a\+b/' matches the three
characters `a+b'.
@@ -3030,7 +3030,7 @@ character not shown in the previous list.
early, as soon as `awk' reads your program.
* `gawk' processes both regexp constants and dynamic regexps (*note
- Computed Regexps::), for the special operators listed in *Note GNU
+ Computed Regexps::), for the special operators listed in *note GNU
Regexp Operators::.
* A backslash before any other character means to treat that
@@ -3059,7 +3059,7 @@ Advanced Notes: Escape Sequences for Metacharacters
---------------------------------------------------
Suppose you use an octal or hexadecimal escape to represent a regexp
-metacharacter. (See *Note Regexp Operators::.) Does `awk' treat the
+metacharacter. (See *note Regexp Operators::.) Does `awk' treat the
character as a literal character or as a regexp operator?
Historically, such characters were taken literally. (d.c.)
@@ -3079,7 +3079,7 @@ You can combine regular expressions with special
characters, called
"regular expression operators" or "metacharacters", to increase the
power and versatility of regular expressions.
- The escape sequences described in *Note Escape Sequences::, are
+ The escape sequences described in *note Escape Sequences::, are
valid inside a regexp. They are introduced by a `\' and are recognized
and converted into corresponding real characters as the very first step
in processing regexps.
@@ -3129,7 +3129,7 @@ sequences and that are not listed in the table stand for
themselves:
the characters that are enclosed in the square brackets. For
example, `[MVX]' matches any one of the characters `M', `V', or
`X' in a string. A full discussion of what can be inside the
- square brackets of a bracket expression is given in *Note Bracket
+ square brackets of a bracket expression is given in *note Bracket
Expressions::.
`[^ ...]'
@@ -3256,7 +3256,7 @@ those listed between the opening and closing square
brackets.
characters separated by a hyphen. It matches any single character that
sorts between the two characters, based upon the system's native
character set. For example, `[0-9]' is equivalent to `[0123456789]'.
-(See *Note Ranges and Locales::, for an explanation of how the POSIX
+(See *note Ranges and Locales::, for an explanation of how the POSIX
standard and `gawk' have changed over time. This is mainly of
historical interest.)
@@ -3282,7 +3282,7 @@ differs between the United States and France.
A character class is only valid in a regexp _inside_ the brackets of
a bracket expression. Character classes consist of `[:', a keyword
-denoting the class, and `:]'. *Note table-char-classes:: lists the
+denoting the class, and `:]'. *note table-char-classes:: lists the
character classes defined by the POSIX standard.
Class Meaning
@@ -3413,7 +3413,7 @@ GNU `\b' appears to be the lesser of two evils.
No options
In the default case, `gawk' provides all the facilities of POSIX
- regexps and the GNU regexp operators described in *Note Regexp
+ regexps and the GNU regexp operators described in *note Regexp
Operators::.
`--posix'
@@ -3966,7 +3966,7 @@ that the multiplication is done before the `$' operation;
they are
necessary whenever there is a binary operator in the field-number
expression. This example, then, prints the hours of operation (the
fourth field) for every line of the file `BBS-list'. (All of the `awk'
-operators are listed, in order of decreasing precedence, in *Note
+operators are listed, in order of decreasing precedence, in *note
Precedence::.)
If the field number you compute is zero, you get the entire record.
@@ -3976,7 +3976,7 @@ not allowed; trying to reference one usually terminates
the program.
negative field number. `gawk' notices this and terminates your
program. Other `awk' implementations may behave differently.)
- As mentioned in *Note Fields::, `awk' stores the current record's
+ As mentioned in *note Fields::, `awk' stores the current record's
number of fields in the built-in variable `NF' (also *note Built-in
Variables::). The expression `$NF' is not a special feature--it is the
direct consequence of evaluating `NF' and using its value as a field
@@ -5237,7 +5237,7 @@ in mind:
probably by accident, and you should reconsider what it is you're
trying to accomplish.
- * *Note Getline Summary::, presents a table summarizing the
+ * *note Getline Summary::, presents a table summarizing the
`getline' variants and which variables they can affect. It is
worth noting that those variants which do not use redirection can
cause `FILENAME' to be updated if they cause `awk' to start
@@ -5249,7 +5249,7 @@ File: gawk.info, Node: Getline Summary, Prev: Getline
Notes, Up: Getline
4.9.10 Summary of `getline' Variants
------------------------------------
-*Note table-getline-variants:: summarizes the eight variants of
+*note table-getline-variants:: summarizes the eight variants of
`getline', listing which built-in variables are set by each one, and
whether the variant is standard or a `gawk' extension.
@@ -5389,7 +5389,7 @@ and the `printf' statement for fancier formatting. The
`print'
statement is not limited when computing _which_ values to print.
However, with two exceptions, you cannot specify _how_ to print
them--how many columns, whether to use exponential notation or not, and
-so on. (For the exceptions, *note Output Separators::, and *Note
+so on. (For the exceptions, *note Output Separators::, and *note
OFMT::.) For printing with specifications, you need the `printf'
statement (*note Printf::).
@@ -5576,7 +5576,7 @@ that string. `awk' uses the `sprintf()' function to do
this conversion
`sprintf()' function accepts a "format specification" that tells it how
to format numbers (or strings), and that there are a number of
different ways in which numbers can be formatted. The different format
-specifications are discussed more fully in *Note Control Letters::.
+specifications are discussed more fully in *note Control Letters::.
The built-in variable `OFMT' contains the default format
specification that `print' uses with `sprintf()' when it wants to
@@ -5626,8 +5626,8 @@ A simple `printf' statement looks like this:
printf FORMAT, ITEM1, ITEM2, ...
The entire list of arguments may optionally be enclosed in parentheses.
-The parentheses are necessary if any of the item expressions use the
-`>' relational operator; otherwise, it can be confused with an output
+The parentheses are necessary if any of the item expressions use the `>'
+relational operator; otherwise, it can be confused with an output
redirection (*note Redirection::).
The difference between `printf' and `print' is the FORMAT argument.
@@ -5833,12 +5833,12 @@ which they may appear:
-| 1,234,567 Results in US English UTF locale
For more information about locales and internationalization issues,
- see *Note Locales::.
+ see *note Locales::.
NOTE: The `'' flag is a nice feature, but its use complicates
things: it becomes difficult to use it in command-line
programs. For information on appropriate quoting tricks, see
- *Note Quoting::.
+ *note Quoting::.
`WIDTH'
This is a number specifying the desired minimum width of a field.
@@ -6079,7 +6079,7 @@ work identically for `printf':
The message is built using string concatenation and saved in the
variable `m'. It's then sent down the pipeline to the `mail'
program. (The parentheses group the items to concatenate--see
- *Note Concatenation::.)
+ *note Concatenation::.)
The `close()' function is called here because it's a good idea to
close the pipe as soon as all the intended output has been sent to
@@ -6264,7 +6264,7 @@ essential pieces of information for making a networking
connection.
These file names are used with the `|&' operator for communicating with
a coprocess (*note Two-way I/O::). This is an advanced feature,
mentioned here only for completeness. Full discussion is delayed until
-*Note TCP/IP Networking::.
+*note TCP/IP Networking::.
File: gawk.info, Node: Special Caveats, Prev: Special Network, Up: Special
Files
@@ -6411,7 +6411,7 @@ to `close()'. As in any other call to `close()', the
first argument is
the name of the command or special file used to start the coprocess.
The second argument should be a string, with either of the values
`"to"' or `"from"'. Case does not matter. As this is an advanced
-feature, a more complete discussion is delayed until *Note Two-way
+feature, a more complete discussion is delayed until *note Two-way
I/O::, which discusses it in more detail and gives an example.
Advanced Notes: Using `close()''s Return Value
@@ -6600,7 +6600,7 @@ option; *note Nondecimal Data::.) If you have octal or
hexadecimal
data, you can use the `strtonum()' function (*note String Functions::)
to convert the data into a number. Most of the time, you will want to
use octal or hexadecimal constants when working with the built-in bit
-manipulation functions; see *Note Bitwise Functions::, for more
+manipulation functions; see *note Bitwise Functions::, for more
information.
Unlike some early C implementations, `8' and `9' are not valid in
@@ -6883,7 +6883,7 @@ your programs, just port `gawk' itself. *Note Print::,
for more
information on the `print' statement.
And, once again, where you are can matter when it comes to converting
-between numbers and strings. In *Note Locales::, we mentioned that the
+between numbers and strings. In *note Locales::, we mentioned that the
local character set and language (the locale) can affect how `gawk'
matches characters. The locale also affects numeric formats. In
particular, for `awk' programs, it affects the decimal point character.
@@ -6924,7 +6924,7 @@ character. (`gawk' also uses the locale's decimal point
character when
in POSIX mode, either via `--posix', or the `POSIXLY_CORRECT'
environment variable.)
- *Note table-locale-affects:: describes the cases in which the
+ *note table-locale-affects:: describes the cases in which the
locale's decimal point character is used and when a period is used.
Some of these features have not been described yet.
@@ -6940,7 +6940,7 @@ Table 6.1: Locale Decimal Point versus A Period
Finally, modern day formal standards and IEEE standard floating point
representation can have an unusual but important effect on the way
`gawk' converts some special string values to numbers. The details are
-presented in *Note POSIX Floating Point Problems::.
+presented in *note POSIX Floating Point Problems::.
---------- Footnotes ----------
@@ -7251,7 +7251,7 @@ righthand expression. For example:
The indices of `bar' are practically guaranteed to be different, because
`rand()' returns different values each time it is called. (Arrays and
the `rand()' function haven't been covered yet. *Note Arrays::, and
-see *Note Numeric Functions::, for more information). This example
+see *note Numeric Functions::, for more information). This example
illustrates an important fact about assignment operators: the lefthand
expression is only evaluated _once_. It is up to the implementation as
to which expression is evaluated first, the lefthand or the righthand.
@@ -7262,7 +7262,7 @@ Consider this example:
The value of `a[3]' could be either two or four.
- *Note table-assign-ops:: lists the arithmetic assignment operators.
+ *note table-assign-ops:: lists the arithmetic assignment operators.
In each case, the righthand operand is an expression whose value is
converted to a number.
@@ -7300,7 +7300,7 @@ A workaround is:
awk '/[=]=/' /dev/null
`gawk' does not have this problem, nor do the other freely available
-versions described in *Note Other Versions::.
+versions described in *note Other Versions::.
File: gawk.info, Node: Increment Ops, Prev: Assignment Ops, Up: All
Operators
@@ -7565,7 +7565,7 @@ File: gawk.info, Node: Comparison Operators, Next:
POSIX String Comparison, P
"Comparison expressions" compare strings or numbers for relationships
such as equality. They are written using "relational operators", which
-are a superset of those in C. *Note table-relational-ops:: describes
+are a superset of those in C. *note table-relational-ops:: describes
them.
Expression Result
@@ -7741,8 +7741,8 @@ Boolean operators are:
if ($0 ~ /2400/ || $0 ~ /foo/) print
The subexpression BOOLEAN2 is evaluated only if BOOLEAN1 is false.
- This can make a difference when BOOLEAN2 contains expressions
- that have side effects.
+ This can make a difference when BOOLEAN2 contains expressions that
+ have side effects.
`! BOOLEAN'
True if BOOLEAN is false. For example, the following program
@@ -7752,7 +7752,7 @@ Boolean operators are:
BEGIN { if (! ("HOME" in ENVIRON))
print "no home!" }
- (The `in' operator is described in *Note Reference to Elements::.)
+ (The `in' operator is described in *note Reference to Elements::.)
The `&&' and `||' operators are called "short-circuit" operators
because of the way they work. Evaluation of the full expression is
@@ -7782,7 +7782,7 @@ using `!'. The next rule prints lines as long as
`interested' is true.
When a line is seen whose first field is `END', `interested' is toggled
back to false.(1)
- NOTE: The `next' statement is discussed in *Note Next Statement::.
+ NOTE: The `next' statement is discussed in *note Next Statement::.
`next' tells `awk' to skip the rest of the rules, get the next
record, and start processing the rules over again at the top. The
reason it's there is to avoid printing the bracketing `START' and
@@ -7885,7 +7885,7 @@ User-defined::).
As an advanced feature, `gawk' provides indirect function calls,
which is a way to choose the function to call at runtime, instead of
when you write the source code to your program. We defer discussion of
-this feature until later; see *Note Indirect Calls::.
+this feature until later; see *note Indirect Calls::.
Like every other expression, the function call has a value, which is
computed by the function based on the arguments you give it. In this
@@ -8045,12 +8045,12 @@ make several function calls, _per input character_, to
find the record
terminator.
According to POSIX, string comparison is also affected by locales
-(similar to regular expressions). The details are presented in *Note
+(similar to regular expressions). The details are presented in *note
POSIX String Comparison::.
Finally, the locale affects the value of the decimal point character
used when `gawk' parses input data. This is discussed in detail in
-*Note Conversion::.
+*note Conversion::.
File: gawk.info, Node: Patterns and Actions, Next: Arrays, Prev:
Expressions, Up: Top
@@ -8151,7 +8151,7 @@ otherwise, it depends on only what has happened so far in
the execution
of the `awk' program.
Comparison expressions, using the comparison operators described in
-*Note Typing and Comparison::, are a very common kind of pattern.
+*note Typing and Comparison::, are a very common kind of pattern.
Regexp matching and nonmatching are also very common expressions. The
left operand of the `~' and `!~' operators is a string. The right
operand is either a constant regular expression enclosed in slashes
@@ -8217,7 +8217,7 @@ inside Boolean patterns. Likewise, the special patterns
`BEGIN', `END',
expressions and cannot appear inside Boolean patterns.
The precedence of the different operators which can appear in
-patterns is described in *Note Precedence::.
+patterns is described in *note Precedence::.
File: gawk.info, Node: Ranges, Next: BEGIN/END, Prev: Expression Patterns,
Up: Pattern Overview
@@ -8403,7 +8403,7 @@ explicitly.
`BEGIN' rule, because the implicit
read-a-record-and-match-against-the-rules loop has not started yet.
Similarly, those statements are not valid in an `END' rule, since all
-the input has been read. (*Note Next Statement::, and see *Note
+the input has been read. (*Note Next Statement::, and see *note
Nextfile Statement::.)
@@ -8942,7 +8942,7 @@ Statement::.)
}
The `break' statement is also used to break out of the `switch'
-statement. This is discussed in *Note Switch Statement::.
+statement. This is discussed in *note Switch Statement::.
The `break' statement has no meaning when used outside the body of a
loop or `switch'. However, although it was never documented,
@@ -9039,7 +9039,7 @@ beginning, in the following manner:
Because of the `next' statement, the program's subsequent rules won't
see the bad record. The error message is redirected to the standard
error output stream, as error messages should be. For more detail see
-*Note Special Files::.
+*note Special Files::.
If the `next' statement causes the end of the input to be reached,
then the code in any `END' rules is executed. *Note BEGIN/END::.
@@ -9210,7 +9210,7 @@ specific to `gawk' are marked with a pound sign (`#').
string value of `"rw"' or `"wr"' indicates that all files should
use binary I/O. Any other string value is treated the same as
`"rw"', but causes `gawk' to generate a warning message.
- `BINMODE' is described in more detail in *Note PC Using::.
+ `BINMODE' is described in more detail in *note PC Using::.
This variable is a `gawk' extension. In other `awk'
implementations (except `mawk', *note Other Versions::), or if
@@ -9523,7 +9523,7 @@ with a pound sign (`#').
If this element exists in `PROCINFO', its value controls the
order in which array indices will be processed by `for (index
in array) ...' loops. Since this is an advanced feature, we
- defer the full description until later; see *Note Scanning an
+ defer the full description until later; see *note Scanning an
Array::.
`PROCINFO["strftime"]'
@@ -9561,7 +9561,7 @@ with a pound sign (`#').
The `PROCINFO' array is also used to cause coprocesses to
communicate over pseudo-ttys instead of through two-way pipes;
- this is discussed further in *Note Two-way I/O::.
+ this is discussed further in *note Two-way I/O::.
This array is a `gawk' extension. In other `awk' implementations,
or if `gawk' is in compatibility mode (*note Options::), it is not
@@ -9623,7 +9623,7 @@ File: gawk.info, Node: ARGC and ARGV, Prev: Auto-set,
Up: Built-in Variables
7.5.3 Using `ARGC' and `ARGV'
-----------------------------
-*Note Auto-set::, presented the following program describing the
+*note Auto-set::, presented the following program describing the
information contained in `ARGC' and `ARGV':
$ awk 'BEGIN {
@@ -9679,7 +9679,7 @@ elements from `ARGV' (*note Delete::).
All of these actions are typically done in the `BEGIN' rule, before
actual processing of the input begins. *Note Split Program::, and see
-*Note Tee Program::, for examples of each way of removing elements from
+*note Tee Program::, for examples of each way of removing elements from
`ARGV'. The following fragment processes `ARGV' in order to examine,
and then remove, command-line options:
@@ -9861,7 +9861,7 @@ from English to French:
Here we decided to translate the number one in both spelled-out and
numeric form--thus illustrating that a single array can have both
numbers and strings as indices. In fact, array subscripts are always
-strings; this is discussed in more detail in *Note Numeric Array
+strings; this is discussed in more detail in *note Numeric Array
Subscripts::. Here, the number `1' isn't double-quoted, since `awk'
automatically converts it to a string.
@@ -10081,7 +10081,7 @@ internal implementation of arrays and will vary from
one version of
* Set `PROCINFO["sorted_in"]' to the name of a user-defined function
to be used for comparison of array elements. This advanced feature
- is described later, in *Note Array Sorting::.
+ is described later, in *note Array Sorting::.
The following special values for `PROCINFO["sorted_in"]' are
available:
@@ -10191,7 +10191,7 @@ traversal.
*note Delete::.)
In addition, `gawk' provides built-in functions for sorting arrays;
-see *Note Array Sorting Functions::.
+see *note Array Sorting Functions::.
---------- Footnotes ----------
@@ -10901,7 +10901,7 @@ pound sign (`#'):
asort(a, a, "descending")
- The `asort()' function is described in more detail in *Note Array
+ The `asort()' function is described in more detail in *note Array
Sorting Functions::. `asort()' is a `gawk' extension; it is not
available in compatibility mode (*note Options::).
@@ -10910,7 +10910,7 @@ pound sign (`#'):
similarly to `asort()', however, the _indices_ are sorted, instead
of the values. (Here too, `IGNORECASE' affects the sorting.)
- The `asorti()' function is described in more detail in *Note Array
+ The `asorti()' function is described in more detail in *note Array
Sorting Functions::. `asorti()' is a `gawk' extension; it is not
available in compatibility mode (*note Options::).
@@ -11393,7 +11393,7 @@ replacement string to determine what to generate.
At both levels, `awk' looks for a defined set of characters that can
come after a backslash. At the lexical level, it looks for the escape
-sequences listed in *Note Escape Sequences::. Thus, for every `\' that
+sequences listed in *note Escape Sequences::. Thus, for every `\' that
`awk' processes at the runtime level, you must type two backslashes at
the lexical level. When a character that is not valid for an escape
sequence follows the `\', Brian Kernighan's `awk' and `gawk' both
@@ -11406,7 +11406,7 @@ Historically, the `sub()' and `gsub()' functions
treated the two
character sequence `\&' specially; this sequence was replaced in the
generated text with a single `&'. Any other `\' within the REPLACEMENT
string that did not precede an `&' was passed through unchanged. This
-is illustrated in *Note table-sub-escapes::.
+is illustrated in *note table-sub-escapes::.
You type `sub()' sees `sub()' generates
------- --------- --------------
@@ -11418,7 +11418,8 @@ is illustrated in *Note table-sub-escapes::.
`\\\\\\&' `\\\&' a literal `\\&'
`\\q' `\q' a literal `\q'
-Table 9.1: Historical Escape Sequence Processing for `sub()' and `gsub()'
+Table 9.1: Historical Escape Sequence Processing for `sub()' and
+`gsub()'
This table shows both the lexical-level processing, where an odd number
of backslashes becomes an even number at the runtime level, as well as
@@ -11433,7 +11434,7 @@ get a literal `\' followed by the matched text.
says that `sub()' and `gsub()' look for either a `\' or an `&' after
the `\'. If either one follows a `\', that character is output
literally. The interpretation of `\' and `&' then becomes as shown in
-*Note table-sub-posix-92::.
+*note table-sub-posix-92::.
You type `sub()' sees `sub()' generates
------- --------- --------------
@@ -11460,7 +11461,7 @@ problems:
submitted proposed text for a revised standard that reverts to rules
that correspond more closely to the original existing practice. The
proposed rules have special cases that make it possible to produce a
-`\' preceding the matched text. This is shown in *Note
+`\' preceding the matched text. This is shown in *note
table-sub-proposed::.
You type `sub()' sees `sub()' generates
@@ -11488,7 +11489,7 @@ except for one case.
The POSIX rules state that `\&' in the replacement string produces a
literal `&', `\\' produces a literal `\', and `\' followed by anything
else is not special; the `\' is placed straight into the output. These
-rules are presented in *Note table-posix-sub::.
+rules are presented in *note table-posix-sub::.
You type `sub()' sees `sub()' generates
------- --------- --------------
@@ -11519,7 +11520,7 @@ level, whenever `gawk' sees a `\', if the following
character is a
digit, then the text that matched the corresponding parenthesized
subexpression is placed in the generated output. Otherwise, no matter
what character follows the `\', it appears in the generated text and
-the `\' does not, as shown in *Note table-gensub-escapes::.
+the `\' does not, as shown in *note table-gensub-escapes::.
You type `gensub()' sees `gensub()' generates
------- ------------ -----------------
@@ -12048,7 +12049,7 @@ supports all of the conversions listed here.
(5) If you don't understand any of this, don't worry about it; these
facilities are meant to make it easier to "internationalize" programs.
-Other internationalization features are described in *Note
+Other internationalization features are described in *note
Internationalization::.
(6) This is because ISO C leaves the behavior of the C version of
@@ -12068,7 +12069,7 @@ File: gawk.info, Node: Bitwise Functions, Next: Type
Functions, Prev: Time Fu
Many languages provide the ability to perform "bitwise" operations
on two integer numbers. In other words, the operation is performed on
each successive pair of bits in the operands. Three common operations
-are bitwise AND, OR, and XOR. The operations are described in *Note
+are bitwise AND, OR, and XOR. The operations are described in *note
table-bitwise-ops::.
Bit Operator
@@ -12336,7 +12337,7 @@ act of a function calling itself is called "recursion".
All the built-in functions return a value to their caller.
User-defined functions can do also, using the `return' statement, which
-is described in detail in *Note Return Statement::. Many of the
+is described in detail in *note Return Statement::. Many of the
subsequent examples in this minor node use the `return' statement.
In many `awk' implementations, including `gawk', the keyword
@@ -13269,7 +13270,7 @@ internationalization:
`"LC_MESSAGES"'.
If you supply a value for CATEGORY, it must be a string equal to
- one of the known locale categories described in *Note Explaining
+ one of the known locale categories described in *note Explaining
gettext::. You must also supply a text domain. Use `TEXTDOMAIN'
if you want to use the current domain.
@@ -13301,7 +13302,7 @@ internationalization:
current binding for the given DOMAIN.
To use these facilities in your `awk' program, follow the steps
-outlined in *Note Explaining gettext::, like so:
+outlined in *note Explaining gettext::, like so:
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
@@ -13719,9 +13720,10 @@ tool, and this documentation may not be sufficient.
It might require a
book or two to communicate how to compute with ideal accuracy and
precision and the result often depends on the particular application.
- NOTE: Accuracy is how close a floating-point calculation comes to
- the real value. However, precision usually refers to the number
- of bits used to represent the number (see the Wikipedia article
+ NOTE: A floating-point calculation's "accuracy" is how close it
+ comes to the real value. This is as opposed to the "precision",
+ which usually refers to the number of bits used to represent the
+ number (see the Wikipedia article
(http://en.wikipedia.org/wiki/Accuracy_and_precision) for more
information).
@@ -13809,7 +13811,7 @@ representations yield an unexpected result:
-| 4
Can computation using aribitrary precision help with the previous
-examples? If you are impatient to know, see *Note Exact Arithmetic::.
+examples? If you are impatient to know, see *note Exact Arithmetic::.
Instead of aribitrary precision floating-point arithmetic, often all
you need is an adjustment of your logic or a different order for the
@@ -13881,7 +13883,7 @@ range for exponents. The context has the following
primary components:
`rounding'
The rounding mode of this context.
- *Note table-ieee-formats:: lists the precision and exponent field
+ *note table-ieee-formats:: lists the precision and exponent field
values for the basic IEEE-754 binary formats:
Name Total bits Precision emin emax
@@ -13921,7 +13923,7 @@ The "rounding mode" specifies the behavior for the
results of numerical
operations when discarding extra precision. Each rounding mode indicates
how the least significant returned digit of a rounded result is to be
calculated. The `RNDMODE' variable (*note Setting Rounding Mode::)
-provides program level control over the rounding mode. *Note
+provides program level control over the rounding mode. *note
table-rounding-modes:: lists the IEEE-754 defined rounding modes:
Rounding Mode IEEE Name `RNDMODE'
@@ -14008,14 +14010,13 @@ File: gawk.info, Node: Arbitrary Precision Floats,
Next: Setting Precision, P
`gawk' uses the GNU MPFR library for arbitrary precision floating-point
arithmetic. The MPFR library provides precise control over precisions
and rounding modes, and gives correctly rounded reproducible
-platform-independent results. With the command-line option
-`--arbitrary-precision' or `-M', all floating-point arithmetic
-operators and numeric functions can yield results to any desired
-precision level supported by MPFR. Two built-in variables `PREC'
-(*note Setting Precision::) and `RNDMODE' (*note Setting Rounding
-Mode::) provide control over the working precision and the rounding
-mode. The precision and the rounding mode are set globally for every
-operation to follow.
+platform-independent results. With the command-line option `--bignum'
+or `-M', all floating-point arithmetic operators and numeric functions
+can yield results to any desired precision level supported by MPFR.
+Two built-in variables `PREC' (*note Setting Precision::) and `RNDMODE'
+(*note Setting Rounding Mode::) provide control over the working
+precision and the rounding mode. The precision and the rounding mode
+are set globally for every operation to follow.
The default working precision for arbitrary precision floats is 53,
and the default value for `RNDMODE' is `"N"', which selects the IEEE-754
@@ -14186,7 +14187,7 @@ behavior:
x = x + 0.0
- or:
+or:
x += 0.0
@@ -14300,14 +14301,14 @@ File: gawk.info, Node: Arbitrary Precision Integers,
Next: MPFR and GMP Librar
11.12 Arbitrary Precision Integer Arithmetic with `gawk'
========================================================
-If the option `--arbitrary-precision' or `-M' is specified, `gawk'
-performs all integer arithmetic using GMP arbitrary precision integers.
-Any number that looks like an integer in a program source or data file
-is stored as an arbitrary precision integer. The size of the integer
-is limited only by your computer's memory. The current floating-point
-context has no effect on operations involving integers. For example,
-the following computes 5^4^3^2, the result of which is beyond the
-limits of ordinary `gawk' numbers:
+If the option `--bignum' or `-M' is specified, `gawk' performs all
+integer arithmetic using GMP arbitrary precision integers. Any number
+that looks like an integer in a program source or data file is stored
+as an arbitrary precision integer. The size of the integer is limited
+only by your computer's memory. The current floating-point context has
+no effect on operations involving integers. For example, the following
+computes 5^4^3^2, the result of which is beyond the limits of ordinary
+`gawk' numbers:
$ gawk -M 'BEGIN {
> x = 5^4^3^2
@@ -14366,7 +14367,7 @@ reason for simply not using the following:
---------- Footnotes ----------
- (1) Weisstein, Eric W. `Sylvester's Sequence'. From MathWorld-A
+ (1) Weisstein, Eric W. `Sylvester's Sequence'. From MathWorld-A
Wolfram Web Resource.
`http://mathworld.wolfram.com/SylvestersSequence.html'
@@ -14400,7 +14401,7 @@ full detail, along with the basics of TCP/IP
networking. Finally,
`gawk' can "profile" an `awk' program, making it possible to tune it
for performance.
- *Note Dynamic Extensions::, discusses the ability to dynamically add
+ *note Dynamic Extensions::, discusses the ability to dynamically add
new built-in functions to `gawk'. As this feature is still immature
and likely to change, its description is relegated to an appendix.
@@ -14488,7 +14489,7 @@ of arrays inside `awk'.
in a particular order that you, the programmer, choose. `gawk' lets
you do this.
- *Note Controlling Scanning::, describes how you can assign special,
+ *note Controlling Scanning::, describes how you can assign special,
pre-defined values to `PROCINFO["sorted_in"]' in order to control the
order in which `gawk' will traverse an array during a `for' loop.
@@ -15236,14 +15237,14 @@ File: gawk.info, Node: Library Functions, Next:
Sample Programs, Prev: Advanc
13 A Library of `awk' Functions
*******************************
-*Note User-defined::, describes how to write your own `awk' functions.
+*note User-defined::, describes how to write your own `awk' functions.
Writing functions is important, because it allows you to encapsulate
algorithms and program tasks in a single place. It simplifies
programming, making program development more manageable, and making
programs more readable.
One valuable way to learn a new programming language is to _read_
-programs in that language. To that end, this major node and *Note
+programs in that language. To that end, this major node and *note
Sample Programs::, provide a good-sized body of code for you to read,
and hopefully, to learn from.
@@ -15252,16 +15253,16 @@ of the sample programs presented later in this Info
file use these
functions. The functions are presented here in a progression from
simple to complex.
- *Note Extract Program::, presents a program that you can use to
+ *note Extract Program::, presents a program that you can use to
extract the source code for these example library functions and
programs from the Texinfo source for this Info file. (This has already
been done as part of the `gawk' distribution.)
If you have written one or more useful, general-purpose `awk'
functions and would like to contribute them to the `awk' user
-community, see *Note How To Contribute::, for more information.
+community, see *note How To Contribute::, for more information.
- The programs in this major node and in *Note Sample Programs::,
+ The programs in this major node and in *note Sample Programs::,
freely use features that are `gawk'-specific. Rewriting these programs
for different implementations of `awk' is pretty straightforward.
@@ -15363,7 +15364,7 @@ program, leading to bugs that are very difficult to
track down:
single associative array to hold the values needed by the library
function(s), or "package." This significantly decreases the number of
actual global names in use. For example, the functions described in
-*Note Passwd Functions::, might have used array elements
+*note Passwd Functions::, might have used array elements
`PW_data["inited"]', `PW_data["total"]', `PW_data["count"]', and
`PW_data["awklib"]', instead of `_pw_inited', `_pw_awklib', `_pw_total',
and `_pw_count'.
@@ -15801,7 +15802,7 @@ File: gawk.info, Node: Gettimeofday Function, Prev:
Join Function, Up: Genera
13.2.7 Managing the Time of Day
-------------------------------
-The `systime()' and `strftime()' functions described in *Note Time
+The `systime()' and `strftime()' functions described in *note Time
Functions::, provide the minimum functionality necessary for dealing
with the time of day in human readable form. While `strftime()' is
extensive, the control formats are not necessarily easy to remember or
@@ -15873,7 +15874,7 @@ current time formatted in the same way as the `date'
utility:
The string indices are easier to use and read than the various
formats required by `strftime()'. The `alarm' program presented in
-*Note Alarm Program::, uses this function. A more general design for
+*note Alarm Program::, uses this function. A more general design for
the `gettimeofday()' function would have allowed the user to supply an
optional timestamp value to use instead of the current time.
@@ -15974,7 +15975,7 @@ solves the problem:
END { endfile(_filename_) }
- *Note Wc Program::, shows how this library function can be used and
+ *note Wc Program::, shows how this library function can be used and
how it simplifies writing the main program.
Advanced Notes: So Why Does `gawk' have `BEGINFILE' and `ENDFILE'?
@@ -16028,7 +16029,7 @@ over with it from the top. For lack of a better name,
we'll call it
This code relies on the `ARGIND' variable (*note Auto-set::), which
is specific to `gawk'. If you are not using `gawk', you can use ideas
-presented in *Note Filetrans Function::, to either update `ARGIND' on
+presented in *note Filetrans Function::, to either update `ARGIND' on
your own or modify this code as appropriate.
The `rewind()' function also relies on the `nextfile' keyword (*note
@@ -16061,7 +16062,7 @@ program to your `awk' program:
This works, because the `getline' won't be fatal. Removing the
element from `ARGV' with `delete' skips the file (since it's no longer
-in the list). See also *Note ARGC and ARGV::.
+in the list). See also *note ARGC and ARGV::.
File: gawk.info, Node: Empty Files, Next: Ignoring Assigns, Prev: File
Checking, Up: Data File Management
@@ -16079,7 +16080,7 @@ program code.
Using `gawk''s `ARGIND' variable (*note Built-in Variables::), it is
possible to detect when an empty data file has been skipped. Similar
-to the library file presented in *Note Filetrans Function::, the
+to the library file presented in *note Filetrans Function::, the
following library file calls a function named `zerofile()' that the
user must provide. The arguments passed are the file name and the
position in `ARGV' where it was found:
@@ -16447,7 +16448,7 @@ that it does not try to interpret the `-a', etc., as
its own options.
`Optind', so that `awk' does not try to process the command-line
options as file names.
- Several of the sample programs presented in *Note Sample Programs::,
+ Several of the sample programs presented in *note Sample Programs::,
use `getopt()' to process their arguments.
---------- Footnotes ----------
@@ -16692,7 +16693,7 @@ once. If you are worried about squeezing every last
cycle out of your
this is not necessary, since most `awk' programs are I/O-bound, and
such a change would clutter up the code.
- The `id' program in *Note Id Program::, uses these functions.
+ The `id' program in *note Id Program::, uses these functions.
---------- Footnotes ----------
@@ -16705,7 +16706,7 @@ File: gawk.info, Node: Group Functions, Next: Walking
Arrays, Prev: Passwd Fu
13.6 Reading the Group Database
===============================
-Much of the discussion presented in *Note Passwd Functions::, applies
+Much of the discussion presented in *note Passwd Functions::, applies
to the group database as well. Although there has traditionally been a
well-known file (`/etc/group') in a well-known format, the POSIX
standard only provides a set of C library routines (`<grp.h>' and
@@ -16931,7 +16932,7 @@ body of `_gr_init()' into a `BEGIN' rule).
associative arrays. The functions that the user calls are themselves
very simple, relying on `awk''s associative arrays to do work.
- The `id' program in *Note Id Program::, uses these functions.
+ The `id' program in *note Id Program::, uses these functions.
File: gawk.info, Node: Walking Arrays, Prev: Group Functions, Up: Library
Functions
@@ -16939,7 +16940,7 @@ File: gawk.info, Node: Walking Arrays, Prev: Group
Functions, Up: Library Fun
13.7 Traversing Arrays of Arrays
================================
-*Note Arrays of Arrays::, described how `gawk' provides arrays of
+*note Arrays of Arrays::, described how `gawk' provides arrays of
arrays. In particular, any element of an array may be either a scalar,
or another array. The `isarray()' function (*note Type Functions::)
lets you distinguish an array from a scalar. The following function,
@@ -16990,12 +16991,12 @@ File: gawk.info, Node: Sample Programs, Next:
Debugger, Prev: Library Functio
14 Practical `awk' Programs
***************************
-*Note Library Functions::, presents the idea that reading programs in a
+*note Library Functions::, presents the idea that reading programs in a
language contributes to learning that language. This major node
continues that theme, presenting a potpourri of `awk' programs for your
reading enjoyment.
- Many of these programs use library functions presented in *Note
+ Many of these programs use library functions presented in *note
Library Functions::.
* Menu:
@@ -17170,7 +17171,7 @@ by characters, the output field separator is set to the
null string:
Using a single space (`" "') for the value of `FS' is incorrect--`awk'
would separate fields with runs of spaces, TABs, and/or newlines, and
we want them to be separated with individual spaces. Also remember
-that after `getopt()' is through (as described in *Note Getopt
+that after `getopt()' is through (as described in *note Getopt
Function::), we have to clear out all the elements of `ARGV' from 1 to
`Optind', so that `awk' does not try to process the command-line options
as file names.
@@ -17675,7 +17676,7 @@ to something like `myfileaa', `myfileab', and so on,
supply an
additional argument that specifies the file name prefix.
Here is a version of `split' in `awk'. It uses the `ord()' and
-`chr()' functions presented in *Note Ordinal Functions::.
+`chr()' functions presented in *note Ordinal Functions::.
The program first sets its defaults, and then tests to make sure
there are not too many arguments. It then looks at each argument in
@@ -18209,7 +18210,7 @@ in its length. Next, `lines' is incremented for each
line read, and
---------- Footnotes ----------
(1) `wc' can't just use the value of `FNR' in `endfile()'. If you
-examine the code in *Note Filetrans Function::, you will see that `FNR'
+examine the code in *note Filetrans Function::, you will see that `FNR'
has already been reset by the time `endfile()' is called.
(2) Since `gawk' understands multibyte locales, this code counts
@@ -18305,7 +18306,7 @@ prints the message on the standard output. In addition,
you can give it
the number of times to repeat the message as well as a delay between
repetitions.
- This program uses the `gettimeofday()' function from *Note
+ This program uses the `gettimeofday()' function from *note
Gettimeofday Function::.
All the work is done in the `BEGIN' rule. The first part is argument
@@ -18813,7 +18814,7 @@ File: gawk.info, Node: Extract Program, Next: Simple
Sed, Prev: History Sorti
14.3.7 Extracting Programs from Texinfo Source Files
----------------------------------------------------
-The nodes *Note Library Functions::, and *Note Sample Programs::, are
+The nodes *note Library Functions::, and *note Sample Programs::, are
the top level nodes for a large number of `awk' programs. If you want
to experiment with these programs, it is tedious to have to type them
in by hand. Here we present a program that can extract parts of a
@@ -19094,7 +19095,7 @@ File: gawk.info, Node: Igawk Program, Next: Anagram
Program, Prev: Simple Sed
14.3.9 An Easy Way to Use Library Functions
-------------------------------------------
-In *Note Include Files::, we saw how `gawk' provides a built-in
+In *note Include Files::, we saw how `gawk' provides a built-in
file-inclusion capability. However, this is a `gawk' extension. This
minor node provides the motivation for making file inclusion available
for standard `awk', and shows how to do it using a combination of shell
@@ -20214,7 +20215,7 @@ execution of the program than we saw in our earlier
example:
`si' [COUNT]
Execute one (or COUNT) instruction(s), stepping inside function
calls. (For illustration of what is meant by an "instruction" in
- `gawk', see the output shown under `dump' in *Note Miscellaneous
+ `gawk', see the output shown under `dump' in *note Miscellaneous
Debugger Commands::.)
`until' [[FILENAME`:']N | FUNCTION]
@@ -20621,7 +20622,7 @@ some limitations. A few which are worth being aware of
are:
Rather, it just responds `syntax error'. When you do figure out
what your mistake was, though, you'll feel like a real guru.
- * If you perused the dump of opcodes in *Note Miscellaneous Debugger
+ * If you perused the dump of opcodes in *note Miscellaneous Debugger
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',
@@ -20642,7 +20643,7 @@ 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
+ *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
programs.
@@ -20833,7 +20834,7 @@ Other Versions::).
This minor node describes common extensions that originally appeared
in his version of `awk'.
- * The `**' and `**=' operators (*note Arithmetic Ops:: and *Note
+ * The `**' and `**=' operators (*note Arithmetic Ops:: and *note
Assignment Ops::).
* The use of `func' as an abbreviation for `function' (*note
@@ -21226,7 +21227,7 @@ Info file, in approximate chronological order:
* John Haque reworked the `gawk' internals to use a byte-code engine,
providing the `gawk' debugger for `awk' programs.
- * Efraim Yawitz contributed the original text for *Note Debugger::.
+ * Efraim Yawitz contributed the original text for *note Debugger::.
* Arnold Robbins has been working on `gawk' since 1988, at first
helping David Trueman, and as the primary maintainer since around
@@ -21430,7 +21431,7 @@ Various `.c', `.y', and `.h' files
`doc/igawk.1'
The `troff' source for a manual page describing the `igawk'
- program presented in *Note Igawk Program::.
+ program presented in *note Igawk Program::.
`doc/Makefile.in'
The input file used during the configuration process to generate
@@ -21450,7 +21451,7 @@ Various `.c', `.y', and `.h' files
`missing_d/*'
`m4/*'
These files and subdirectories are used when configuring `gawk'
- for various Unix systems. They are explained in *Note Unix
+ for various Unix systems. They are explained in *note Unix
Installation::.
`po/*'
@@ -21465,8 +21466,8 @@ Various `.c', `.y', and `.h' files
programs from the Texinfo source file for this Info file. It also
contains a `Makefile.in' file, which `configure' uses to generate
a `Makefile'. `Makefile.am' is used by GNU Automake to create
- `Makefile.in'. The library functions from *Note Library
- Functions::, and the `igawk' program from *Note Igawk Program::,
+ `Makefile.in'. The library functions from *note Library
+ Functions::, and the `igawk' program from *note Igawk Program::,
are included as ready-to-use files in the `gawk' distribution.
They are installed as part of the installation process. The rest
of the programs in this Info file are available in appropriate
@@ -21831,7 +21832,7 @@ MS-DOS or MS-Windows. EMX (OS/2 only) does support at
least the `|&'
operator.
The MS-DOS and MS-Windows versions of `gawk' search for program
-files as described in *Note AWKPATH Variable::. However, semicolons
+files as described in *note AWKPATH Variable::. However, semicolons
(rather than colons) separate elements in the `AWKPATH' variable. If
`AWKPATH' is not set or is empty, then the default search path for
MS-Windows and MS-DOS versions is `".;c:/lib/awk;c:/gnu/lib/awk"'.
@@ -22366,7 +22367,7 @@ File: gawk.info, Node: Accessing The Source, Next:
Adding Code, Up: Additions
C.2.1 Accessing The `gawk' Git Repository
-----------------------------------------
-As `gawk' is Free Software, the source code is always available. *Note
+As `gawk' is Free Software, the source code is always available. *note
Gawk Distribution::, describes how to get and build the formal,
released versions of `gawk'.
@@ -22386,7 +22387,7 @@ access the repository using:
git clone http://git.savannah.gnu.org/r/gawk.git
Once you have made changes, you can use `git diff' to produce a
-patch, and send that to the `gawk' maintainer; see *Note Bugs:: for how
+patch, and send that to the `gawk' maintainer; see *note Bugs:: for how
to do that.
Finally, if you cannot install Git (e.g., if it hasn't been ported
@@ -22535,7 +22536,7 @@ C.2.3 Porting `gawk' to a New Operating System
If you want to port `gawk' to a new operating system, there are several
steps:
- 1. Follow the guidelines in *Note Adding Code::, concerning coding
+ 1. Follow the guidelines in *note Adding Code::, concerning coding
style, submission of diffs, and so on.
2. Be prepared to sign the appropriate paperwork. In order for the
@@ -23489,7 +23490,7 @@ larger range of values. The disadvantage is that there
are numbers
that they cannot represent exactly. `awk' uses "double precision"
floating-point numbers, which can hold more digits than "single
precision" floating-point numbers. Floating-point issues are discussed
-more fully in *Note Floating Point Issues::.
+more fully in *note Floating Point Issues::.
At the very lowest level, computers store values as groups of binary
digits, or "bits". Modern computers group bits into groups of eight,
@@ -23512,7 +23513,7 @@ or "binary", base 8 or "octal", and base 16 or
"hexadecimal". In
binary, each column represents two times the value in the column to its
right. Each column may contain either a 0 or a 1. Thus, binary 1010
represents 1 times 8, plus 0 times 4, plus 1 times 2, plus 0 times 1,
-or decimal 10. Octal and hexadecimal are discussed more in *Note
+or decimal 10. Octal and hexadecimal are discussed more in *note
Nondecimal-numbers::.
Programs are written in programming languages. Hundreds, if not
@@ -23829,7 +23830,7 @@ Bit
floating-point numbers, character data, addresses of other memory
objects, or other data. `awk' lets you work with floating-point
numbers and strings. `gawk' lets you manipulate bit values with
- the built-in functions described in *Note Bitwise Functions::.
+ the built-in functions described in *note Bitwise Functions::.
Computers are often defined by how many bits they use to represent
integer values. Typical systems are 32-bit systems, but 64-bit
@@ -24012,7 +24013,7 @@ Field
built-in variable `FIELDWIDTHS' to describe their lengths. If you
wish to specify the contents of fields instead of the field
separator, you can use the built-in variable `FPAT' to do so.
- (*Note Field Separators::, *Note Constant Size::, and *Note
+ (*Note Field Separators::, *note Constant Size::, and *note
Splitting By Content::.)
Flag
@@ -24247,7 +24248,7 @@ Redirection
`|', and `|&' operators. You can redirect the output of the
`print' and `printf' statements to a file or a system command,
using the `>', `>>', `|', and `|&' operators. (*Note Getline::,
- and *Note Redirection::.)
+ and *note Redirection::.)
Regexp
See "Regular Expression."
@@ -25640,7 +25641,7 @@ Index
* * (asterisk), * operator, as regexp operator: Regexp Operators.
(line 87)
* * (asterisk), * operator, null strings, matching: Gory Details.
- (line 163)
+ (line 164)
* * (asterisk), ** operator <1>: Precedence. (line 49)
* * (asterisk), ** operator: Arithmetic Ops. (line 81)
* * (asterisk), **= operator <1>: Precedence. (line 95)
@@ -25663,8 +25664,8 @@ Index
* - (hyphen), -= operator: Assignment Ops. (line 129)
* - (hyphen), filenames beginning with: Options. (line 59)
* - (hyphen), in bracket expressions: Bracket Expressions. (line 17)
-* --arbitrary-precision option: Options. (line 182)
* --assign option: Options. (line 32)
+* --bignum option: Options. (line 182)
* --c option: Options. (line 78)
* --characters-as-bytes option: Options. (line 68)
* --copyright option: Options. (line 85)
@@ -25885,7 +25886,7 @@ Index
(line 23)
* advanced features, network connections, See Also networks, connections:
Advanced Features.
(line 6)
-* advanced features, null strings, matching: Gory Details. (line 163)
+* advanced features, null strings, matching: Gory Details. (line 164)
* advanced features, operators, precedence: Increment Ops. (line 61)
* advanced features, piping into sh: Redirection. (line 143)
* advanced features, regexp constants: Assignment Ops. (line 148)
@@ -25984,7 +25985,7 @@ Index
* asterisk (*), * operator, as regexp operator: Regexp Operators.
(line 87)
* asterisk (*), * operator, null strings, matching: Gory Details.
- (line 163)
+ (line 164)
* asterisk (*), ** operator <1>: Precedence. (line 49)
* asterisk (*), ** operator: Arithmetic Ops. (line 81)
* asterisk (*), **= operator <1>: Precedence. (line 95)
@@ -27429,7 +27430,7 @@ Index
* matching, expressions, See comparison expressions: Typing and Comparison.
(line 9)
* matching, leftmost longest: Multiple Line. (line 26)
-* matching, null strings: Gory Details. (line 163)
+* matching, null strings: Gory Details. (line 164)
* mawk program: Other Versions. (line 35)
* McPhee, Patrick: Contributors. (line 100)
* memory, releasing: Internals. (line 92)
@@ -27514,7 +27515,7 @@ Index
* null strings, as array subscripts: Uninitialized Subscripts.
(line 43)
* null strings, converting numbers to strings: Conversion. (line 21)
-* null strings, matching: Gory Details. (line 163)
+* null strings, matching: Gory Details. (line 164)
* null strings, quoting and: Quoting. (line 62)
* number sign (#), #! (executable scripts): Executable Scripts.
(line 6)
@@ -27727,7 +27728,7 @@ Index
* POSIX awk, field separators and: Fields. (line 6)
* POSIX awk, FS variable and: User-modified. (line 66)
* POSIX awk, function keyword in: Definition Syntax. (line 83)
-* POSIX awk, functions and, gsub()/sub(): Gory Details. (line 53)
+* POSIX awk, functions and, gsub()/sub(): Gory Details. (line 54)
* POSIX awk, functions and, length(): String Functions. (line 175)
* POSIX awk, GNU long options and: Options. (line 15)
* POSIX awk, interval expressions in: Regexp Operators. (line 135)
@@ -28417,441 +28418,441 @@ Index
Tag Table:
-Node: Top1345
-Node: Foreword31546
-Node: Preface35891
-Ref: Preface-Footnote-138944
-Ref: Preface-Footnote-239050
-Node: History39282
-Node: Names41673
-Ref: Names-Footnote-143150
-Node: This Manual43222
-Ref: This Manual-Footnote-148160
-Node: Conventions48260
-Node: Manual History50394
-Ref: Manual History-Footnote-153664
-Ref: Manual History-Footnote-253705
-Node: How To Contribute53779
-Node: Acknowledgments54923
-Node: Getting Started59419
-Node: Running gawk61798
-Node: One-shot62984
-Node: Read Terminal64209
-Ref: Read Terminal-Footnote-165859
-Ref: Read Terminal-Footnote-266135
-Node: Long66306
-Node: Executable Scripts67682
-Ref: Executable Scripts-Footnote-169551
-Ref: Executable Scripts-Footnote-269653
-Node: Comments70104
-Node: Quoting72571
-Node: DOS Quoting77194
-Node: Sample Data Files77869
-Node: Very Simple80901
-Node: Two Rules85500
-Node: More Complex87647
-Ref: More Complex-Footnote-190577
-Node: Statements/Lines90662
-Ref: Statements/Lines-Footnote-195124
-Node: Other Features95389
-Node: When96317
-Node: Invoking Gawk98464
-Node: Command Line99849
-Node: Options100632
-Ref: Options-Footnote-1115002
-Node: Other Arguments115027
-Node: Naming Standard Input117685
-Node: Environment Variables118779
-Node: AWKPATH Variable119223
-Ref: AWKPATH Variable-Footnote-1121820
-Node: Other Environment Variables122080
-Node: Exit Status124572
-Node: Include Files125247
-Node: Obsolete128732
-Node: Undocumented129418
-Node: Regexp129659
-Node: Regexp Usage131048
-Node: Escape Sequences133074
-Node: Regexp Operators138837
-Ref: Regexp Operators-Footnote-1146034
-Ref: Regexp Operators-Footnote-2146181
-Node: Bracket Expressions146279
-Ref: table-char-classes148169
-Node: GNU Regexp Operators150692
-Node: Case-sensitivity154415
-Ref: Case-sensitivity-Footnote-1157383
-Ref: Case-sensitivity-Footnote-2157618
-Node: Leftmost Longest157726
-Node: Computed Regexps158927
-Node: Reading Files162337
-Node: Records164341
-Ref: Records-Footnote-1173015
-Node: Fields173052
-Ref: Fields-Footnote-1176085
-Node: Nonconstant Fields176171
-Node: Changing Fields178373
-Node: Field Separators184354
-Node: Default Field Splitting186983
-Node: Regexp Field Splitting188100
-Node: Single Character Fields191442
-Node: Command Line Field Separator192501
-Node: Field Splitting Summary195942
-Ref: Field Splitting Summary-Footnote-1199134
-Node: Constant Size199235
-Node: Splitting By Content203819
-Ref: Splitting By Content-Footnote-1207545
-Node: Multiple Line207585
-Ref: Multiple Line-Footnote-1213432
-Node: Getline213611
-Node: Plain Getline215827
-Node: Getline/Variable217916
-Node: Getline/File219057
-Node: Getline/Variable/File220379
-Ref: Getline/Variable/File-Footnote-1221978
-Node: Getline/Pipe222065
-Node: Getline/Variable/Pipe224625
-Node: Getline/Coprocess225732
-Node: Getline/Variable/Coprocess226975
-Node: Getline Notes227689
-Node: Getline Summary229631
-Ref: table-getline-variants229974
-Node: Read Timeout230830
-Ref: Read Timeout-Footnote-1234575
-Node: Command line directories234632
-Node: Printing235262
-Node: Print236893
-Node: Print Examples238230
-Node: Output Separators241014
-Node: OFMT242774
-Node: Printf244132
-Node: Basic Printf245038
-Node: Control Letters246577
-Node: Format Modifiers250389
-Node: Printf Examples256398
-Node: Redirection259113
-Node: Special Files266097
-Node: Special FD266630
-Ref: Special FD-Footnote-1270255
-Node: Special Network270329
-Node: Special Caveats271179
-Node: Close Files And Pipes271975
-Ref: Close Files And Pipes-Footnote-1278998
-Ref: Close Files And Pipes-Footnote-2279146
-Node: Expressions279296
-Node: Values280428
-Node: Constants281104
-Node: Scalar Constants281784
-Ref: Scalar Constants-Footnote-1282643
-Node: Nondecimal-numbers282825
-Node: Regexp Constants285884
-Node: Using Constant Regexps286359
-Node: Variables289414
-Node: Using Variables290069
-Node: Assignment Options291793
-Node: Conversion293665
-Ref: table-locale-affects299041
-Ref: Conversion-Footnote-1299665
-Node: All Operators299774
-Node: Arithmetic Ops300404
-Node: Concatenation302909
-Ref: Concatenation-Footnote-1305702
-Node: Assignment Ops305822
-Ref: table-assign-ops310810
-Node: Increment Ops312218
-Node: Truth Values and Conditions315688
-Node: Truth Values316771
-Node: Typing and Comparison317820
-Node: Variable Typing318609
-Ref: Variable Typing-Footnote-1322506
-Node: Comparison Operators322628
-Ref: table-relational-ops323038
-Node: POSIX String Comparison326587
-Ref: POSIX String Comparison-Footnote-1327543
-Node: Boolean Ops327681
-Ref: Boolean Ops-Footnote-1331759
-Node: Conditional Exp331850
-Node: Function Calls333582
-Node: Precedence337176
-Node: Locales340845
-Node: Patterns and Actions341934
-Node: Pattern Overview342988
-Node: Regexp Patterns344657
-Node: Expression Patterns345200
-Node: Ranges348885
-Node: BEGIN/END351851
-Node: Using BEGIN/END352613
-Ref: Using BEGIN/END-Footnote-1355344
-Node: I/O And BEGIN/END355450
-Node: BEGINFILE/ENDFILE357732
-Node: Empty360625
-Node: Using Shell Variables360941
-Node: Action Overview363226
-Node: Statements365583
-Node: If Statement367437
-Node: While Statement368936
-Node: Do Statement370980
-Node: For Statement372136
-Node: Switch Statement375288
-Node: Break Statement377385
-Node: Continue Statement379375
-Node: Next Statement381168
-Node: Nextfile Statement383558
-Node: Exit Statement386103
-Node: Built-in Variables388519
-Node: User-modified389614
-Ref: User-modified-Footnote-1397967
-Node: Auto-set398029
-Ref: Auto-set-Footnote-1407875
-Node: ARGC and ARGV408080
-Node: Arrays411931
-Node: Array Basics413436
-Node: Array Intro414262
-Node: Reference to Elements418580
-Node: Assigning Elements420850
-Node: Array Example421341
-Node: Scanning an Array423073
-Node: Controlling Scanning425387
-Ref: Controlling Scanning-Footnote-1430320
-Node: Delete430636
-Ref: Delete-Footnote-1433071
-Node: Numeric Array Subscripts433128
-Node: Uninitialized Subscripts435311
-Node: Multi-dimensional436939
-Node: Multi-scanning440033
-Node: Arrays of Arrays441624
-Node: Functions446269
-Node: Built-in447091
-Node: Calling Built-in448169
-Node: Numeric Functions450157
-Ref: Numeric Functions-Footnote-1453922
-Ref: Numeric Functions-Footnote-2454279
-Ref: Numeric Functions-Footnote-3454327
-Node: String Functions454596
-Ref: String Functions-Footnote-1478093
-Ref: String Functions-Footnote-2478222
-Ref: String Functions-Footnote-3478470
-Node: Gory Details478557
-Ref: table-sub-escapes480236
-Ref: table-sub-posix-92481590
-Ref: table-sub-proposed482933
-Ref: table-posix-sub484283
-Ref: table-gensub-escapes485829
-Ref: Gory Details-Footnote-1487036
-Ref: Gory Details-Footnote-2487087
-Node: I/O Functions487238
-Ref: I/O Functions-Footnote-1493893
-Node: Time Functions494040
-Ref: Time Functions-Footnote-1504932
-Ref: Time Functions-Footnote-2505000
-Ref: Time Functions-Footnote-3505158
-Ref: Time Functions-Footnote-4505269
-Ref: Time Functions-Footnote-5505381
-Ref: Time Functions-Footnote-6505608
-Node: Bitwise Functions505874
-Ref: table-bitwise-ops506432
-Ref: Bitwise Functions-Footnote-1510592
-Node: Type Functions510776
-Node: I18N Functions511246
-Node: User-defined512873
-Node: Definition Syntax513677
-Ref: Definition Syntax-Footnote-1518587
-Node: Function Example518656
-Node: Function Caveats521250
-Node: Calling A Function521671
-Node: Variable Scope522786
-Node: Pass By Value/Reference524761
-Node: Return Statement528201
-Node: Dynamic Typing531182
-Node: Indirect Calls531917
-Node: Internationalization541602
-Node: I18N and L10N543041
-Node: Explaining gettext543727
-Ref: Explaining gettext-Footnote-1548793
-Ref: Explaining gettext-Footnote-2548977
-Node: Programmer i18n549142
-Node: Translator i18n553342
-Node: String Extraction554135
-Ref: String Extraction-Footnote-1555096
-Node: Printf Ordering555182
-Ref: Printf Ordering-Footnote-1557966
-Node: I18N Portability558030
-Ref: I18N Portability-Footnote-1560479
-Node: I18N Example560542
-Ref: I18N Example-Footnote-1563177
-Node: Gawk I18N563249
-Node: Arbitrary Precision Arithmetic563866
-Ref: Arbitrary Precision Arithmetic-Footnote-1566741
-Node: Floating-point Programming566889
-Node: Floating-point Representation572121
-Node: Floating-point Context573225
-Ref: table-ieee-formats574060
-Node: Rounding Mode575430
-Ref: table-rounding-modes576055
-Ref: Rounding Mode-Footnote-1579176
-Node: Arbitrary Precision Floats579357
-Ref: Arbitrary Precision Floats-Footnote-1581408
-Node: Setting Precision581719
-Node: Setting Rounding Mode584477
-Node: Floating-point Constants585386
-Node: Changing Precision586805
-Ref: Changing Precision-Footnote-1588208
-Node: Exact Arithmetic588381
-Node: Integer Programming591394
-Node: Arbitrary Precision Integers593174
-Ref: Arbitrary Precision Integers-Footnote-1596210
-Node: MPFR and GMP Libraries596355
-Node: Advanced Features596740
-Node: Nondecimal Data598263
-Node: Array Sorting599846
-Node: Controlling Array Traversal600543
-Node: Array Sorting Functions608780
-Ref: Array Sorting Functions-Footnote-1612454
-Ref: Array Sorting Functions-Footnote-2612547
-Node: Two-way I/O612741
-Ref: Two-way I/O-Footnote-1618173
-Node: TCP/IP Networking618243
-Node: Profiling621087
-Node: Library Functions628541
-Ref: Library Functions-Footnote-1631548
-Node: Library Names631719
-Ref: Library Names-Footnote-1635190
-Ref: Library Names-Footnote-2635410
-Node: General Functions635496
-Node: Strtonum Function636449
-Node: Assert Function639379
-Node: Round Function642705
-Node: Cliff Random Function644248
-Node: Ordinal Functions645264
-Ref: Ordinal Functions-Footnote-1648334
-Ref: Ordinal Functions-Footnote-2648586
-Node: Join Function648795
-Ref: Join Function-Footnote-1650566
-Node: Gettimeofday Function650766
-Node: Data File Management654481
-Node: Filetrans Function655113
-Node: Rewind Function659252
-Node: File Checking660639
-Node: Empty Files661733
-Node: Ignoring Assigns663963
-Node: Getopt Function665516
-Ref: Getopt Function-Footnote-1676820
-Node: Passwd Functions677023
-Ref: Passwd Functions-Footnote-1685998
-Node: Group Functions686086
-Node: Walking Arrays694170
-Node: Sample Programs695739
-Node: Running Examples696404
-Node: Clones697132
-Node: Cut Program698356
-Node: Egrep Program708201
-Ref: Egrep Program-Footnote-1715974
-Node: Id Program716084
-Node: Split Program719700
-Ref: Split Program-Footnote-1723219
-Node: Tee Program723347
-Node: Uniq Program726150
-Node: Wc Program733579
-Ref: Wc Program-Footnote-1737845
-Ref: Wc Program-Footnote-2738045
-Node: Miscellaneous Programs738137
-Node: Dupword Program739325
-Node: Alarm Program741356
-Node: Translate Program746105
-Ref: Translate Program-Footnote-1750492
-Ref: Translate Program-Footnote-2750720
-Node: Labels Program750854
-Ref: Labels Program-Footnote-1754225
-Node: Word Sorting754309
-Node: History Sorting758193
-Node: Extract Program760032
-Ref: Extract Program-Footnote-1767515
-Node: Simple Sed767643
-Node: Igawk Program770705
-Ref: Igawk Program-Footnote-1785862
-Ref: Igawk Program-Footnote-2786063
-Node: Anagram Program786201
-Node: Signature Program789269
-Node: Debugger790369
-Node: Debugging791321
-Node: Debugging Concepts791754
-Node: Debugging Terms793610
-Node: Awk Debugging796207
-Node: Sample Debugging Session797099
-Node: Debugger Invocation797619
-Node: Finding The Bug798948
-Node: List of Debugger Commands805436
-Node: Breakpoint Control806770
-Node: Debugger Execution Control810434
-Node: Viewing And Changing Data813794
-Node: Execution Stack817150
-Node: Debugger Info818617
-Node: Miscellaneous Debugger Commands822598
-Node: Readline Support828043
-Node: Limitations828874
-Node: Language History831126
-Node: V7/SVR3.1832638
-Node: SVR4834959
-Node: POSIX836401
-Node: BTL837409
-Node: POSIX/GNU838143
-Node: Common Extensions843294
-Node: Ranges and Locales844401
-Ref: Ranges and Locales-Footnote-1849005
-Node: Contributors849226
-Node: Installation853487
-Node: Gawk Distribution854381
-Node: Getting854865
-Node: Extracting855691
-Node: Distribution contents857383
-Node: Unix Installation862605
-Node: Quick Installation863222
-Node: Additional Configuration Options865184
-Node: Configuration Philosophy866661
-Node: Non-Unix Installation869003
-Node: PC Installation869461
-Node: PC Binary Installation870760
-Node: PC Compiling872608
-Node: PC Testing875552
-Node: PC Using876728
-Node: Cygwin880913
-Node: MSYS881913
-Node: VMS Installation882427
-Node: VMS Compilation883030
-Ref: VMS Compilation-Footnote-1884037
-Node: VMS Installation Details884095
-Node: VMS Running885730
-Node: VMS Old Gawk887337
-Node: Bugs887811
-Node: Other Versions891663
-Node: Notes896978
-Node: Compatibility Mode897670
-Node: Additions898453
-Node: Accessing The Source899265
-Node: Adding Code900690
-Node: New Ports906657
-Node: Dynamic Extensions910770
-Node: Internals912210
-Node: Plugin License920729
-Node: Loading Extensions921367
-Node: Sample Library923177
-Node: Internal File Description923867
-Node: Internal File Ops927582
-Ref: Internal File Ops-Footnote-1932306
-Node: Using Internal File Ops932446
-Node: Future Extensions934823
-Node: Basic Concepts937327
-Node: Basic High Level938084
-Ref: Basic High Level-Footnote-1942119
-Node: Basic Data Typing942304
-Node: Floating Point Issues946829
-Node: String Conversion Precision947912
-Ref: String Conversion Precision-Footnote-1949612
-Node: Unexpected Results949721
-Node: POSIX Floating Point Problems951547
-Ref: POSIX Floating Point Problems-Footnote-1955252
-Node: Glossary955290
-Node: Copying980266
-Node: GNU Free Documentation License1017823
-Node: Index1042960
+Node: Top1346
+Node: Foreword31547
+Node: Preface35892
+Ref: Preface-Footnote-138945
+Ref: Preface-Footnote-239051
+Node: History39283
+Node: Names41674
+Ref: Names-Footnote-143151
+Node: This Manual43223
+Ref: This Manual-Footnote-148161
+Node: Conventions48261
+Node: Manual History50395
+Ref: Manual History-Footnote-153665
+Ref: Manual History-Footnote-253706
+Node: How To Contribute53780
+Node: Acknowledgments54924
+Node: Getting Started59420
+Node: Running gawk61799
+Node: One-shot62985
+Node: Read Terminal64210
+Ref: Read Terminal-Footnote-165860
+Ref: Read Terminal-Footnote-266136
+Node: Long66307
+Node: Executable Scripts67683
+Ref: Executable Scripts-Footnote-169552
+Ref: Executable Scripts-Footnote-269654
+Node: Comments70105
+Node: Quoting72572
+Node: DOS Quoting77195
+Node: Sample Data Files77870
+Node: Very Simple80902
+Node: Two Rules85501
+Node: More Complex87648
+Ref: More Complex-Footnote-190578
+Node: Statements/Lines90663
+Ref: Statements/Lines-Footnote-195125
+Node: Other Features95390
+Node: When96318
+Node: Invoking Gawk98465
+Node: Command Line99850
+Node: Options100633
+Ref: Options-Footnote-1114990
+Node: Other Arguments115015
+Node: Naming Standard Input117673
+Node: Environment Variables118767
+Node: AWKPATH Variable119211
+Ref: AWKPATH Variable-Footnote-1121808
+Node: Other Environment Variables122068
+Node: Exit Status124560
+Node: Include Files125235
+Node: Obsolete128720
+Node: Undocumented129406
+Node: Regexp129647
+Node: Regexp Usage131036
+Node: Escape Sequences133062
+Node: Regexp Operators138825
+Ref: Regexp Operators-Footnote-1146022
+Ref: Regexp Operators-Footnote-2146169
+Node: Bracket Expressions146267
+Ref: table-char-classes148157
+Node: GNU Regexp Operators150680
+Node: Case-sensitivity154403
+Ref: Case-sensitivity-Footnote-1157371
+Ref: Case-sensitivity-Footnote-2157606
+Node: Leftmost Longest157714
+Node: Computed Regexps158915
+Node: Reading Files162325
+Node: Records164329
+Ref: Records-Footnote-1173003
+Node: Fields173040
+Ref: Fields-Footnote-1176073
+Node: Nonconstant Fields176159
+Node: Changing Fields178361
+Node: Field Separators184342
+Node: Default Field Splitting186971
+Node: Regexp Field Splitting188088
+Node: Single Character Fields191430
+Node: Command Line Field Separator192489
+Node: Field Splitting Summary195930
+Ref: Field Splitting Summary-Footnote-1199122
+Node: Constant Size199223
+Node: Splitting By Content203807
+Ref: Splitting By Content-Footnote-1207533
+Node: Multiple Line207573
+Ref: Multiple Line-Footnote-1213420
+Node: Getline213599
+Node: Plain Getline215815
+Node: Getline/Variable217904
+Node: Getline/File219045
+Node: Getline/Variable/File220367
+Ref: Getline/Variable/File-Footnote-1221966
+Node: Getline/Pipe222053
+Node: Getline/Variable/Pipe224613
+Node: Getline/Coprocess225720
+Node: Getline/Variable/Coprocess226963
+Node: Getline Notes227677
+Node: Getline Summary229619
+Ref: table-getline-variants229962
+Node: Read Timeout230818
+Ref: Read Timeout-Footnote-1234563
+Node: Command line directories234620
+Node: Printing235250
+Node: Print236881
+Node: Print Examples238218
+Node: Output Separators241002
+Node: OFMT242762
+Node: Printf244120
+Node: Basic Printf245026
+Node: Control Letters246565
+Node: Format Modifiers250377
+Node: Printf Examples256386
+Node: Redirection259101
+Node: Special Files266085
+Node: Special FD266618
+Ref: Special FD-Footnote-1270243
+Node: Special Network270317
+Node: Special Caveats271167
+Node: Close Files And Pipes271963
+Ref: Close Files And Pipes-Footnote-1278986
+Ref: Close Files And Pipes-Footnote-2279134
+Node: Expressions279284
+Node: Values280416
+Node: Constants281092
+Node: Scalar Constants281772
+Ref: Scalar Constants-Footnote-1282631
+Node: Nondecimal-numbers282813
+Node: Regexp Constants285872
+Node: Using Constant Regexps286347
+Node: Variables289402
+Node: Using Variables290057
+Node: Assignment Options291781
+Node: Conversion293653
+Ref: table-locale-affects299029
+Ref: Conversion-Footnote-1299653
+Node: All Operators299762
+Node: Arithmetic Ops300392
+Node: Concatenation302897
+Ref: Concatenation-Footnote-1305690
+Node: Assignment Ops305810
+Ref: table-assign-ops310798
+Node: Increment Ops312206
+Node: Truth Values and Conditions315676
+Node: Truth Values316759
+Node: Typing and Comparison317808
+Node: Variable Typing318597
+Ref: Variable Typing-Footnote-1322494
+Node: Comparison Operators322616
+Ref: table-relational-ops323026
+Node: POSIX String Comparison326575
+Ref: POSIX String Comparison-Footnote-1327531
+Node: Boolean Ops327669
+Ref: Boolean Ops-Footnote-1331747
+Node: Conditional Exp331838
+Node: Function Calls333570
+Node: Precedence337164
+Node: Locales340833
+Node: Patterns and Actions341922
+Node: Pattern Overview342976
+Node: Regexp Patterns344645
+Node: Expression Patterns345188
+Node: Ranges348873
+Node: BEGIN/END351839
+Node: Using BEGIN/END352601
+Ref: Using BEGIN/END-Footnote-1355332
+Node: I/O And BEGIN/END355438
+Node: BEGINFILE/ENDFILE357720
+Node: Empty360613
+Node: Using Shell Variables360929
+Node: Action Overview363214
+Node: Statements365571
+Node: If Statement367425
+Node: While Statement368924
+Node: Do Statement370968
+Node: For Statement372124
+Node: Switch Statement375276
+Node: Break Statement377373
+Node: Continue Statement379363
+Node: Next Statement381156
+Node: Nextfile Statement383546
+Node: Exit Statement386091
+Node: Built-in Variables388507
+Node: User-modified389602
+Ref: User-modified-Footnote-1397955
+Node: Auto-set398017
+Ref: Auto-set-Footnote-1407863
+Node: ARGC and ARGV408068
+Node: Arrays411919
+Node: Array Basics413424
+Node: Array Intro414250
+Node: Reference to Elements418568
+Node: Assigning Elements420838
+Node: Array Example421329
+Node: Scanning an Array423061
+Node: Controlling Scanning425375
+Ref: Controlling Scanning-Footnote-1430308
+Node: Delete430624
+Ref: Delete-Footnote-1433059
+Node: Numeric Array Subscripts433116
+Node: Uninitialized Subscripts435299
+Node: Multi-dimensional436927
+Node: Multi-scanning440021
+Node: Arrays of Arrays441612
+Node: Functions446257
+Node: Built-in447079
+Node: Calling Built-in448157
+Node: Numeric Functions450145
+Ref: Numeric Functions-Footnote-1453910
+Ref: Numeric Functions-Footnote-2454267
+Ref: Numeric Functions-Footnote-3454315
+Node: String Functions454584
+Ref: String Functions-Footnote-1478081
+Ref: String Functions-Footnote-2478210
+Ref: String Functions-Footnote-3478458
+Node: Gory Details478545
+Ref: table-sub-escapes480224
+Ref: table-sub-posix-92481578
+Ref: table-sub-proposed482921
+Ref: table-posix-sub484271
+Ref: table-gensub-escapes485817
+Ref: Gory Details-Footnote-1487024
+Ref: Gory Details-Footnote-2487075
+Node: I/O Functions487226
+Ref: I/O Functions-Footnote-1493881
+Node: Time Functions494028
+Ref: Time Functions-Footnote-1504920
+Ref: Time Functions-Footnote-2504988
+Ref: Time Functions-Footnote-3505146
+Ref: Time Functions-Footnote-4505257
+Ref: Time Functions-Footnote-5505369
+Ref: Time Functions-Footnote-6505596
+Node: Bitwise Functions505862
+Ref: table-bitwise-ops506420
+Ref: Bitwise Functions-Footnote-1510580
+Node: Type Functions510764
+Node: I18N Functions511234
+Node: User-defined512861
+Node: Definition Syntax513665
+Ref: Definition Syntax-Footnote-1518575
+Node: Function Example518644
+Node: Function Caveats521238
+Node: Calling A Function521659
+Node: Variable Scope522774
+Node: Pass By Value/Reference524749
+Node: Return Statement528189
+Node: Dynamic Typing531170
+Node: Indirect Calls531905
+Node: Internationalization541590
+Node: I18N and L10N543029
+Node: Explaining gettext543715
+Ref: Explaining gettext-Footnote-1548781
+Ref: Explaining gettext-Footnote-2548965
+Node: Programmer i18n549130
+Node: Translator i18n553330
+Node: String Extraction554123
+Ref: String Extraction-Footnote-1555084
+Node: Printf Ordering555170
+Ref: Printf Ordering-Footnote-1557954
+Node: I18N Portability558018
+Ref: I18N Portability-Footnote-1560467
+Node: I18N Example560530
+Ref: I18N Example-Footnote-1563165
+Node: Gawk I18N563237
+Node: Arbitrary Precision Arithmetic563854
+Ref: Arbitrary Precision Arithmetic-Footnote-1566729
+Node: Floating-point Programming566877
+Node: Floating-point Representation572147
+Node: Floating-point Context573251
+Ref: table-ieee-formats574086
+Node: Rounding Mode575456
+Ref: table-rounding-modes576081
+Ref: Rounding Mode-Footnote-1579202
+Node: Arbitrary Precision Floats579383
+Ref: Arbitrary Precision Floats-Footnote-1581420
+Node: Setting Precision581731
+Node: Setting Rounding Mode584489
+Node: Floating-point Constants585398
+Node: Changing Precision586817
+Ref: Changing Precision-Footnote-1588217
+Node: Exact Arithmetic588390
+Node: Integer Programming591403
+Node: Arbitrary Precision Integers593183
+Ref: Arbitrary Precision Integers-Footnote-1596207
+Node: MPFR and GMP Libraries596353
+Node: Advanced Features596738
+Node: Nondecimal Data598261
+Node: Array Sorting599844
+Node: Controlling Array Traversal600541
+Node: Array Sorting Functions608778
+Ref: Array Sorting Functions-Footnote-1612452
+Ref: Array Sorting Functions-Footnote-2612545
+Node: Two-way I/O612739
+Ref: Two-way I/O-Footnote-1618171
+Node: TCP/IP Networking618241
+Node: Profiling621085
+Node: Library Functions628539
+Ref: Library Functions-Footnote-1631546
+Node: Library Names631717
+Ref: Library Names-Footnote-1635188
+Ref: Library Names-Footnote-2635408
+Node: General Functions635494
+Node: Strtonum Function636447
+Node: Assert Function639377
+Node: Round Function642703
+Node: Cliff Random Function644246
+Node: Ordinal Functions645262
+Ref: Ordinal Functions-Footnote-1648332
+Ref: Ordinal Functions-Footnote-2648584
+Node: Join Function648793
+Ref: Join Function-Footnote-1650564
+Node: Gettimeofday Function650764
+Node: Data File Management654479
+Node: Filetrans Function655111
+Node: Rewind Function659250
+Node: File Checking660637
+Node: Empty Files661731
+Node: Ignoring Assigns663961
+Node: Getopt Function665514
+Ref: Getopt Function-Footnote-1676818
+Node: Passwd Functions677021
+Ref: Passwd Functions-Footnote-1685996
+Node: Group Functions686084
+Node: Walking Arrays694168
+Node: Sample Programs695737
+Node: Running Examples696402
+Node: Clones697130
+Node: Cut Program698354
+Node: Egrep Program708199
+Ref: Egrep Program-Footnote-1715972
+Node: Id Program716082
+Node: Split Program719698
+Ref: Split Program-Footnote-1723217
+Node: Tee Program723345
+Node: Uniq Program726148
+Node: Wc Program733577
+Ref: Wc Program-Footnote-1737843
+Ref: Wc Program-Footnote-2738043
+Node: Miscellaneous Programs738135
+Node: Dupword Program739323
+Node: Alarm Program741354
+Node: Translate Program746103
+Ref: Translate Program-Footnote-1750490
+Ref: Translate Program-Footnote-2750718
+Node: Labels Program750852
+Ref: Labels Program-Footnote-1754223
+Node: Word Sorting754307
+Node: History Sorting758191
+Node: Extract Program760030
+Ref: Extract Program-Footnote-1767513
+Node: Simple Sed767641
+Node: Igawk Program770703
+Ref: Igawk Program-Footnote-1785860
+Ref: Igawk Program-Footnote-2786061
+Node: Anagram Program786199
+Node: Signature Program789267
+Node: Debugger790367
+Node: Debugging791319
+Node: Debugging Concepts791752
+Node: Debugging Terms793608
+Node: Awk Debugging796205
+Node: Sample Debugging Session797097
+Node: Debugger Invocation797617
+Node: Finding The Bug798946
+Node: List of Debugger Commands805434
+Node: Breakpoint Control806768
+Node: Debugger Execution Control810432
+Node: Viewing And Changing Data813792
+Node: Execution Stack817148
+Node: Debugger Info818615
+Node: Miscellaneous Debugger Commands822596
+Node: Readline Support828041
+Node: Limitations828872
+Node: Language History831124
+Node: V7/SVR3.1832636
+Node: SVR4834957
+Node: POSIX836399
+Node: BTL837407
+Node: POSIX/GNU838141
+Node: Common Extensions843292
+Node: Ranges and Locales844399
+Ref: Ranges and Locales-Footnote-1849003
+Node: Contributors849224
+Node: Installation853485
+Node: Gawk Distribution854379
+Node: Getting854863
+Node: Extracting855689
+Node: Distribution contents857381
+Node: Unix Installation862603
+Node: Quick Installation863220
+Node: Additional Configuration Options865182
+Node: Configuration Philosophy866659
+Node: Non-Unix Installation869001
+Node: PC Installation869459
+Node: PC Binary Installation870758
+Node: PC Compiling872606
+Node: PC Testing875550
+Node: PC Using876726
+Node: Cygwin880911
+Node: MSYS881911
+Node: VMS Installation882425
+Node: VMS Compilation883028
+Ref: VMS Compilation-Footnote-1884035
+Node: VMS Installation Details884093
+Node: VMS Running885728
+Node: VMS Old Gawk887335
+Node: Bugs887809
+Node: Other Versions891661
+Node: Notes896976
+Node: Compatibility Mode897668
+Node: Additions898451
+Node: Accessing The Source899263
+Node: Adding Code900688
+Node: New Ports906655
+Node: Dynamic Extensions910768
+Node: Internals912208
+Node: Plugin License920727
+Node: Loading Extensions921365
+Node: Sample Library923175
+Node: Internal File Description923865
+Node: Internal File Ops927580
+Ref: Internal File Ops-Footnote-1932304
+Node: Using Internal File Ops932444
+Node: Future Extensions934821
+Node: Basic Concepts937325
+Node: Basic High Level938082
+Ref: Basic High Level-Footnote-1942117
+Node: Basic Data Typing942302
+Node: Floating Point Issues946827
+Node: String Conversion Precision947910
+Ref: String Conversion Precision-Footnote-1949610
+Node: Unexpected Results949719
+Node: POSIX Floating Point Problems951545
+Ref: POSIX Floating Point Problems-Footnote-1955250
+Node: Glossary955288
+Node: Copying980264
+Node: GNU Free Documentation License1017821
+Node: Index1042958
End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 9b812a1..d49ac9c 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3235,9 +3235,9 @@ care to search for all occurrences of each inappropriate
construct. As
@command{awk} programs are usually short, doing so is not burdensome.
@item -M
address@hidden --arbitrary-precision
address@hidden --bignum
@cindex @code{-M} option
address@hidden @code{--arbitrary-precision} option
address@hidden @code{--bignum} option
Force arbitrary precision arithmetic on numbers. This option has no effect
if @command{gawk} is not compiled to use the GNU MPFR and MP libraries
(@pxref{Arbitrary Precision Arithmetic}).
@@ -18434,16 +18434,15 @@ sophisticated numerical algorithms then
@command{gawk} may not be
the ideal tool, and this documentation may not be sufficient.
@c FIXME: JOHN: Do you want to cite some actual books?
It might require a book or two to communicate how to compute
address@hidden FIXME: JOHN: Please provide a definition for the terms
address@hidden accuracy and precision
with ideal accuracy and precision
and the result often depends on the particular application.
@quotation NOTE
-Accuracy is how close a floating-point calculation comes to the real value.
-However, precision usually refers to the number of bits used to represent
-the number (see @uref{http://en.wikipedia.org/wiki/Accuracy_and_precision, the
Wikipedia article}
-for more information).
+A floating-point calculation's @dfn{accuracy} is how close it comes
+to the real value. This is as opposed to the @dfn{precision}, which
+usually refers to the number of bits used to represent the number
+(see @uref{http://en.wikipedia.org/wiki/Accuracy_and_precision,
+the Wikipedia article} for more information).
@end quotation
Binary floating-point representations and arithmetic are inexact.
@@ -18455,7 +18454,6 @@ can change the result. To make matters worse with
arbitrary precision
floating-point, you can set the precision before starting a computation,
but then you cannot be sure of the number of significant decimal places
in the final result.
address@hidden FIXME: JOHN: Not clear what you mean by "cannot be sure of the
final result"
Sometimes you need to think more about what you really want
and what's really happening. Consider the two numbers
@@ -18767,7 +18765,7 @@ when you change the rounding mode.
for arbitrary precision floating-point arithmetic. The MPFR library
provides precise control over precisions and rounding modes, and gives
correctly rounded reproducible platform-independent results. With the
-command-line option @option{--arbitrary-precision} or @option{-M},
+command-line option @option{--bignum} or @option{-M},
all floating-point arithmetic operators and numeric functions can yield
results to any desired precision level supported by MPFR.
Two built-in
@@ -18971,14 +18969,13 @@ following workarounds effectively accomplishes the
desired behavior:
x = x + 0.0
@end example
address@hidden
or:
@example
x += 0.0
@end example
address@hidden FIXME: JOHN: Does += also work? I'd assume so...
-
@node Exact Arithmetic
@section Exact Arithmetic with Floating-point Numbers
@@ -19114,7 +19111,7 @@ around on your screen.
@section Arbitrary Precision Integer Arithmetic with @command{gawk}
@cindex integer, arbitrary precision
-If the option @option{--arbitrary-precision} or @option{-M} is specified,
+If the option @option{--bignum} or @option{-M} is specified,
@command{gawk} performs all
integer arithmetic using GMP arbitrary precision integers.
Any number that looks like an integer in a program source or data file
@@ -19157,9 +19154,9 @@ or 608693.
The result from an arithmetic operation with an integer and a floating-point
value
is a floating-point value with a precision equal to the working precision.
The following program calculates the eighth term in
-Sylvester's address@hidden
-Weisstein, Eric W. @cite{Sylvester's Sequence}. From MathWorld--A Wolfram Web
Resource. @url{http://mathworld.wolfram.com/SylvestersSequence.html}}
address@hidden FIXME: JOHN: Cite a URL for what Sylvester's sequence is...
+Sylvester's address@hidden, Eric W.
address@hidden's Sequence}. From MathWorld--A Wolfram Web Resource.
address@hidden://mathworld.wolfram.com/SylvestersSequence.html}}
using a recurrence:
@example
diff --git a/main.c b/main.c
index 26049e5..f8bbb0a 100644
--- a/main.c
+++ b/main.c
@@ -162,31 +162,31 @@ void (*lintfunc)(const char *mesg, ...) = warning;
static const struct option optab[] = {
{ "traditional", no_argument, NULL, 'c' },
- { "lint", optional_argument, NULL, 'L' },
+ { "lint", optional_argument, NULL, 'L' },
{ "lint-old", no_argument, NULL, 't' },
{ "optimize", no_argument, NULL, 'O' },
{ "posix", no_argument, NULL, 'P' },
{ "nostalgia", no_argument, & do_nostalgia, 1 },
{ "gen-pot", no_argument, NULL, 'g' },
- { "non-decimal-data", no_argument, NULL, 'n' },
- { "pretty-print", optional_argument, NULL, 'o' },
- { "profile", optional_argument, NULL, 'p' },
- { "debug", optional_argument, NULL, 'D' },
- { "copyright", no_argument, NULL, 'C' },
- { "field-separator", required_argument, NULL, 'F' },
- { "file", required_argument, NULL, 'f' },
+ { "non-decimal-data", no_argument, NULL, 'n' },
+ { "pretty-print", optional_argument, NULL, 'o' },
+ { "profile", optional_argument, NULL, 'p' },
+ { "debug", optional_argument, NULL, 'D' },
+ { "copyright", no_argument, NULL, 'C' },
+ { "field-separator", required_argument, NULL, 'F' },
+ { "file", required_argument, NULL, 'f' },
{ "re-interval", no_argument, NULL, 'r' },
- { "source", required_argument, NULL, 'e' },
- { "load", required_argument, NULL, 'l' },
- { "dump-variables", optional_argument, NULL, 'd' },
- { "assign", required_argument, NULL, 'v' },
- { "version", no_argument, NULL, 'V' },
- { "help", no_argument, NULL, 'h' },
- { "exec", required_argument, NULL, 'E' },
+ { "source", required_argument, NULL, 'e' },
+ { "load", required_argument, NULL, 'l' },
+ { "dump-variables", optional_argument, NULL, 'd' },
+ { "assign", required_argument, NULL, 'v' },
+ { "version", no_argument, NULL, 'V' },
+ { "help", no_argument, NULL, 'h' },
+ { "exec", required_argument, NULL, 'E' },
{ "use-lc-numeric", no_argument, & use_lc_numeric, 1 },
{ "characters-as-bytes", no_argument, & do_binary, 'b' },
{ "sandbox", no_argument, NULL, 'S' },
- { "arbitrary-precision",no_argument, NULL, 'M' },
+ { "bignum", no_argument, NULL, 'M' },
#if defined(YYDEBUG) || defined(GAWKDEBUG)
{ "parsedebug", no_argument, NULL, 'Y' },
#endif
@@ -782,7 +782,7 @@ usage(int exitval, FILE *fp)
fputs(_("\t-l library\t\t--load=library\n"), fp);
fputs(_("\t-L [fatal]\t\t--lint[=fatal]\n"), fp);
fputs(_("\t-n\t\t\t--non-decimal-data\n"), fp);
- fputs(_("\t-M\t\t\t--arbitrary-precision\n"), fp);
+ fputs(_("\t-M\t\t\t--bignum\n"), fp);
fputs(_("\t-N\t\t\t--use-lc-numeric\n"), fp);
fputs(_("\t-o[file]\t\t--pretty-print[=file]\n"), fp);
fputs(_("\t-O\t\t\t--optimize\n"), fp);
diff --git a/test/badargs.ok b/test/badargs.ok
index 3dd6599..35c7d02 100644
--- a/test/badargs.ok
+++ b/test/badargs.ok
@@ -18,7 +18,7 @@ Short options: GNU long options: (extensions)
-l library --load=library
-L [fatal] --lint[=fatal]
-n --non-decimal-data
- -M --arbitrary-precision
+ -M --bignum
-N --use-lc-numeric
-o[file] --pretty-print[=file]
-O --optimize
-----------------------------------------------------------------------
Summary of changes:
ChangeLog | 4 +
doc/ChangeLog | 6 +
doc/awkcard.in | 21 +-
doc/gawk.1 | 2 +-
doc/gawk.info | 1231 ++++++++++++++++++++++++++++---------------------------
doc/gawk.texi | 29 +-
main.c | 34 +-
test/badargs.ok | 2 +-
8 files changed, 674 insertions(+), 655 deletions(-)
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gawk-diffs] [SCM] gawk branch, gawk_mpfr, updated. 9bc37b0ee389c9a8be843b9f30d11bb7df899c20,
Arnold Robbins <=