[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[gawk-diffs] [SCM] gawk branch, feature/better-index, updated. gawk-4.1.
From: |
Arnold Robbins |
Subject: |
[gawk-diffs] [SCM] gawk branch, feature/better-index, updated. gawk-4.1.0-3707-g8255dbf |
Date: |
Thu, 11 Apr 2019 14:55:12 -0400 (EDT) |
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, feature/better-index has been updated
via 8255dbfa053e78c7c05d541a842c82fb552505d5 (commit)
from 5a52833a68f511e77ee5120d7142124c53740b68 (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=8255dbfa053e78c7c05d541a842c82fb552505d5
commit 8255dbfa053e78c7c05d541a842c82fb552505d5
Author: Arnold D. Robbins <address@hidden>
Date: Thu Apr 11 21:54:56 2019 +0300
More indexing fixes.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 42a518d..205ab6b 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -2648,7 +2648,7 @@ of some sort from @command{awk}.
@cindex @code{ARGC}/@code{ARGV} variables @subentry portability and
@cindex portability @subentry @code{ARGV} variable
address@hidden dark corner @subentry @code{ARGV} variable @subentry value of
address@hidden dark corner @subentry @code{ARGV} variable, value of
Finally, the value of @code{ARGV[0]}
(@pxref{Built-in Variables})
varies depending upon your operating system.
@@ -3487,7 +3487,7 @@ is no other option.
@cindex backslash (@code{\}) @subentry continuing lines and @subentry comments
and
@cindex @code{\} (backslash) @subentry continuing lines and @subentry comments
and
address@hidden commenting, backslash continuation and
address@hidden commenting @subentry backslash continuation and
Another thing to keep in mind is that backslash continuation and
comments do not mix. As soon as @command{awk} sees the @samp{#} that
starts a comment, it ignores @emph{everything} on the rest of the
@@ -3870,7 +3870,7 @@ names like @code{i}, @code{j}, etc.)
@itemx @address@hidden@var{file}]
@cindex @option{-D} option
@cindex @option{--debug} option
address@hidden @command{awk} debugging, enabling
address@hidden @command{awk} programs @subentry debugging, enabling
Enable debugging of @command{awk} programs
(@pxref{Debugging}).
By default, the debugger reads commands interactively from the keyboard
@@ -4412,7 +4412,7 @@ this @value{FN} itself.)
@node Environment Variables
@section The Environment Variables @command{gawk} Uses
address@hidden environment variables used by @command{gawk}
address@hidden environment variables @subentry used by @command{gawk}
A number of environment variables influence how @command{gawk}
behaves.
@@ -4428,7 +4428,7 @@ behaves.
@node AWKPATH Variable
@subsection The @env{AWKPATH} Environment Variable
@cindex @env{AWKPATH} environment variable
address@hidden directories @subentry searching for source files
address@hidden directories @subentry searching @subentry for source files
@cindex search paths @subentry for source files
@cindex differences in @command{awk} and @command{gawk} @subentry
@env{AWKPATH} environment variable
@ifinfo
@@ -4514,7 +4514,7 @@ found, and @command{gawk} no longer needs to use
@env{AWKPATH}.
@node AWKLIBPATH Variable
@subsection The @env{AWKLIBPATH} Environment Variable
@cindex @env{AWKLIBPATH} environment variable
address@hidden directories @subentry searching for loadable extensions
address@hidden directories @subentry searching @subentry for loadable extensions
@cindex search paths @subentry for loadable extensions
@cindex differences in @command{awk} and @command{gawk} @subentry
@code{AWKLIBPATH} environment variable
@@ -4671,6 +4671,7 @@ to @code{EXIT_FAILURE}.
This @value{SECTION} describes a feature that is specific to @command{gawk}.
@cindex @code{@@} (at-sign) @subentry @code{@@include} directive
address@hidden at-sign (@code{@@}) @subentry @code{@@include} directive
@cindex file inclusion, @code{@@include} directive
@cindex including files, @code{@@include} directive
The @code{@@include} keyword can be used to read external @command{awk} source
@@ -4799,6 +4800,7 @@ at their beginning. @xref{Changing The Namespace}, for
more information.
This @value{SECTION} describes a feature that is specific to @command{gawk}.
@cindex @code{@@} (at-sign) @subentry @code{@@load} directive
address@hidden at-sign (@code{@@}) @subentry @code{@@load} directive
@cindex loading extensions, @code{@@load} directive
@cindex extensions @subentry loading @subentry @code{@@load} directive
The @code{@@load} keyword can be used to read external @command{awk} extensions
@@ -5078,7 +5080,7 @@ $ @kbd{awk '/li/ @{ print $2 @}' mail-list}
@c @cindex operators, @code{!~}
@cindex @code{if} statement @subentry use of regexps in
@cindex @code{while} statement, use of regexps in
address@hidden @address@hidden statement, use of regexps in
address@hidden @address@hidden statement @subentry use of regexps in
@c @cindex statements, @code{if}
@c @cindex statements, @code{while}
@c @cindex statements, @code{do}
@@ -5136,7 +5138,7 @@ $ @kbd{awk '$1 !~ /J/' inventory-shipped}
@end example
@cindex regexp constants
address@hidden constant regexps
address@hidden constants @subentry regexp
@cindex regular expressions, constants @seeentry{regexp constants}
When a regexp is enclosed in slashes, such as @code{/foo/}, we call it
a @dfn{regexp constant}, much like @code{5.27} is a numeric constant and
@@ -5145,7 +5147,7 @@ a @dfn{regexp constant}, much like @code{5.27} is a
numeric constant and
@node Escape Sequences
@section Escape Sequences
address@hidden escape sequences @subentry in strings
address@hidden escape sequences
@cindex backslash (@code{\}) @subentry in escape sequences
@cindex @code{\} (backslash) @subentry in escape sequences
Some characters cannot be included literally in string constants
@@ -5461,7 +5463,7 @@ may not be able to match the @sc{nul} character.
@cindex @code{[]} (square brackets), regexp operator
@cindex square brackets (@code{[]}), regexp operator
@cindex bracket expressions
address@hidden character sets @seealso{bracket expressions}
address@hidden character sets (in regular expressions) @seeentry{bracket
expressions}
@cindex character lists @seeentry{bracket expressions}
@cindex character classes @seeentry{bracket expressions}
@item @address@hidden@code{]}
@@ -5540,6 +5542,8 @@ This symbol is similar to @samp{*}, except that the
preceding expression can be
matched either once or not at all. For example, @samp{fe?d}
matches @samp{fed} and @samp{fd}, but nothing else.
address@hidden @address@hidden@}} (braces) @subentry regexp operator
address@hidden braces (@address@hidden@}}) @subentry regexp operator
@cindex interval expressions, regexp operator
@item @address@hidden@address@hidden@}}
@itemx @address@hidden@address@hidden,@}}
@@ -6498,7 +6502,7 @@ Reaching the end of an input file terminates the current
input record,
even if the last character in the file is not the character in @code{RS}.
@value{DARKCORNER}
address@hidden empty strings
address@hidden empty strings @seeentry{null strings}
@cindex null strings
@cindex strings, empty @seeentry{null strings}
The empty string @code{""} (a string without any characters)
@@ -6627,7 +6631,7 @@ GNU/Linux systems, where the @sc{nul} character is in
fact the record separator.
However, this usage is @emph{not} portable
to most other @command{awk} implementations.
address@hidden dark corner @subentry strings @subentry storing
address@hidden dark corner @subentry strings, storing
Almost all other @command{awk} address@hidden least that we know
about.} store strings internally as C-style strings. C strings use the
@sc{nul} character as the string terminator. In effect, this means that
@@ -6922,7 +6926,7 @@ The intervening field, @code{$5}, is created with an
empty value
(indicated by the second pair of adjacent colons),
and @code{NF} is updated with the value six.
address@hidden dark corner @subentry @code{NF} variable @subentry decrementing
address@hidden dark corner @subentry @code{NF} variable, decrementing
@cindex @code{NF} variable, decrementing
Decrementing @code{NF} throws away the values of the fields
after the new value of @code{NF} and recomputes @code{$0}.
@@ -7156,7 +7160,6 @@ $ @kbd{echo ' a b c d ' | awk 'BEGIN @{ FS = "[
\t\n]+" @}}
@noindent
@cindex null strings
@cindex strings @subentry null
address@hidden empty strings @seeentry{null strings}
In this case, the first field is null, or empty.
The stripping of leading and trailing whitespace also comes into
@@ -7179,7 +7182,7 @@ statement prints the new @code{$0}.
@cindex @code{FS} @subentry containing @code{^}
@cindex @code{^} (caret) @subentry in @code{FS}
address@hidden dark corner @subentry @code{^} @subentry in @code{FS}
address@hidden dark corner @subentry @code{^}, in @code{FS}
There is an additional subtlety to be aware of when using regular expressions
for field splitting.
It is not well specified in the POSIX standard, or anywhere else, what @samp{^}
@@ -9107,7 +9110,7 @@ makes a separate line.
@cindex output @subentry records
@cindex output record separator @address@hidden variable}
@cindex @code{ORS} variable
address@hidden @code{BEGIN} pattern @subentry @code{OFS}/@code{ORS} variables
@subentry assigning values to
address@hidden @code{BEGIN} pattern @subentry @code{OFS}/@code{ORS} variables,
assigning values to
In order to change how output fields and records are separated, assign
new values to the variables @code{OFS} and @code{ORS}. The usual
place to do this is in the @code{BEGIN} rule
@@ -10590,6 +10593,7 @@ have the same value:
@end example
@cindex string constants
address@hidden constants @subentry string
A @dfn{string constant} consists of a sequence of characters enclosed in
double quotation marks. For example:
@@ -11790,7 +11794,7 @@ to a number.
@item @var{lvalue} @code{%=} @var{modulus} @tab Set @var{lvalue} to its
remainder by @var{modulus}.
@cindex common extensions @subentry @code{**=} operator
@cindex extensions @subentry common, @code{**=} operator
address@hidden @command{awk} language, POSIX version
address@hidden @command{awk} @subentry language, POSIX version
@cindex POSIX @command{awk}
@item @var{lvalue} @code{^=} @var{power} @tab Raise @var{lvalue} to the power
@var{power}.
@item @var{lvalue} @code{**=} @var{power} @tab Raise @var{lvalue} to the power
@var{power}. @value{COMMONEXT}
@@ -13330,7 +13334,7 @@ pattern. The expression @code{/li/} has the value one
if @samp{li}
appears in the current input record. Thus, as a pattern, @code{/li/}
matches any record containing @samp{li}.
address@hidden Boolean expressions, as patterns
address@hidden Boolean expressions @subentry as patterns
@cindex patterns @subentry Boolean expressions as
Boolean expressions are also commonly used as patterns.
Whether the pattern
@@ -13475,7 +13479,7 @@ $ @kbd{echo Yes | gawk '(/1/,/2/) || /Yes/'}
@end example
@cindex range patterns, line continuation and
address@hidden dark corner @subentry range patterns @subentry line continuation
and
address@hidden dark corner @subentry range patterns, line continuation and
As a minor point of interest, although it is poor style,
POSIX allows you to put a newline after the comma in
a range pattern. @value{DARKCORNER}
@@ -14471,8 +14475,8 @@ then the code in any @code{END} rules is executed.
The @code{next} statement is not allowed inside @code{BEGINFILE} and
@code{ENDFILE} rules. @xref{BEGINFILE/ENDFILE}.
address@hidden @cindex @command{awk} language, POSIX version
@c @cindex @code{next}, inside a user-defined function
address@hidden @command{awk} @subentry language, POSIX version
@cindex @code{BEGIN} pattern @subentry @code{next}/@code{nextfile} statements
and
@cindex @code{END} pattern @subentry @code{next}/@code{nextfile} statements and
@cindex POSIX @command{awk} @subentry @code{next}/@code{nextfile} statements
and
@@ -14964,7 +14968,7 @@ program, @command{gawk} automatically sets it to a new
value when it
opens the next file.
@cindex @code{ENVIRON} array
address@hidden environment variables, in @code{ENVIRON} array
address@hidden environment variables @subentry in @code{ENVIRON} array
@item @code{ENVIRON}
An associative array containing the values of the environment. The array
indices are the environment variable names; the elements are the values of
@@ -15003,7 +15007,7 @@ On such systems, the @code{ENVIRON} array is empty
(except for
@cindex @command{gawk} @subentry @code{ERRNO} variable in
@cindex @code{ERRNO} variable
@cindex differences in @command{awk} and @command{gawk} @subentry @code{ERRNO}
variable
address@hidden error handling, @code{ERRNO} variable and
address@hidden error handling @subentry @code{ERRNO} variable and
@item @code{ERRNO #}
If a system error occurs during a redirection for @code{getline}, during
a read for @code{getline}, or during a @code{close()} operation, then
@@ -15984,7 +15988,7 @@ is independent of the number of elements in the array.
@subsection Referring to an Array Element
@cindex arrays @subentry referencing elements
@cindex array members
address@hidden elements of arrays
address@hidden elements in arrays
The principal way to use an array is to refer to one of its elements.
An @dfn{array reference} is an expression as follows:
@@ -16452,7 +16456,7 @@ sorting arrays; see @ref{Array Sorting Functions}.
@cindex array subscripts @subentry numbers as
@cindex arrays @subentry numeric subscripts
@cindex subscripts in arrays @subentry numbers as
address@hidden @code{CONVFMT} variable, array subscripts and
address@hidden @code{CONVFMT} variable @subentry array subscripts and
An important aspect to remember about arrays is that @emph{array subscripts
are always strings}. When a numeric value is used as a subscript,
it is converted to a string value before being used for subscripting
@@ -16635,7 +16639,7 @@ is not in the array is deleted.
@cindex arrays @subentry deleting entire contents
@cindex deleting entire arrays
@cindex @code{delete} @var{array}
address@hidden differences in @command{awk} and @command{gawk} @subentry array
elements @subentry deleting
address@hidden differences in @command{awk} and @command{gawk} @subentry array
elements, deleting
All the elements of an array may be deleted with a single statement
by leaving off the subscript in the @code{delete} statement,
as follows:
@@ -16850,7 +16854,7 @@ separate indices is recovered.
@node Arrays of Arrays
@section Arrays of Arrays
address@hidden arrays of arrays
address@hidden arrays @subentry arrays of arrays
@command{gawk} goes beyond standard @command{awk}'s multidimensional
array access and provides true arrays of
@@ -17136,7 +17140,7 @@ convention that always works---no whitespace after a
function name.
@cindex troubleshooting @subentry @command{gawk} @subentry fatal errors,
function arguments
@cindex @command{gawk} @subentry function arguments and
address@hidden differences in @command{awk} and @command{gawk} @subentry
function arguments (@command{gawk})
address@hidden differences in @command{awk} and @command{gawk} @subentry
function arguments
Each built-in function accepts a certain number of arguments.
In some cases, arguments can be omitted. The defaults for omitted
arguments vary from function to function and are described under the
@@ -17155,7 +17159,7 @@ j = sqrt(i++)
@cindex evaluation order @subentry functions
@cindex functions @subentry built-in @subentry evaluation order
address@hidden built-in functions, evaluation order
address@hidden built-in functions @subentry evaluation order
@noindent
the variable @code{i} is incremented to the value five before @code{sqrt()}
is called with a value of four for its actual parameter.
@@ -17629,7 +17633,7 @@ warning about this.
@cindex extensions @subentry common, @code{length()} applied to an array
@cindex differences in @command{awk} and @command{gawk} @subentry
@code{length()} function
@cindex number of array elements
address@hidden array, number of elements
address@hidden arrays @subentry number of elements
With @command{gawk} and several other @command{awk} implementations, when
given an
array argument, the @code{length()} function returns the number of elements
in the array. @value{COMMONEXT}
@@ -17889,7 +17893,7 @@ pival = sprintf("pi = %.2f (approx.)", 22/7)
assigns the string @address@hidden = 3.14 (approx.)}} to the variable
@code{pival}.
@cindexgawkfunc{strtonum}
address@hidden convert string to number
address@hidden converting @subentry string to number
@item @code{strtonum(@var{str}) #}
Examine @var{str} and return its numeric value. If @var{str}
begins with a leading @samp{0}, @code{strtonum()} assumes that @var{str}
@@ -18075,7 +18079,7 @@ string = substr(string, 1, 2) "CDE" substr(string, 6)
@cindex strings @subentry converting letter case
@item @code{tolower(@var{string})}
@cindexawkfunc{tolower}
address@hidden convert string to lower case
address@hidden converting @subentry string to lower case
Return a copy of @var{string}, with each uppercase character
in the string replaced with its corresponding lowercase character.
Nonalphabetic characters are left unchanged. For example,
@@ -18083,7 +18087,7 @@ Nonalphabetic characters are left unchanged. For
example,
@item @code{toupper(@var{string})}
@cindexawkfunc{toupper}
address@hidden convert string to upper case
address@hidden converting @subentry string to upper case
Return a copy of @var{string}, with each lowercase character
in the string replaced with its corresponding uppercase character.
Nonalphabetic characters are left unchanged. For example,
@@ -18725,7 +18729,7 @@ which is sufficient to represent times through
including negative timestamps that represent times before the
epoch.
address@hidden @command{date} utility, GNU
address@hidden @command{date} utility @subentry GNU
@cindex time @subentry retrieving
In order to make it easier to process such log files and to produce
useful reports, @command{gawk} provides the following functions for
@@ -19024,7 +19028,7 @@ The date in VMS format (e.g., @samp{20-JUN-1991}).
Additionally, the alternative representations are recognized but their
normal representations are used.
address@hidden @code{date} utility, POSIX
address@hidden @code{date} utility @subentry POSIX
@cindex POSIX @command{awk} @subentry @code{date} utility and
The following example is an @command{awk} implementation of the POSIX
@command{date} utility. Normally, the @command{date} utility prints the
@@ -19201,7 +19205,7 @@ Operands | 0 | 1 | 0 | 1 | 0 | 1
@end docbook
@end float
address@hidden bitwise complement
address@hidden bitwise @subentry complement
@cindex complement, bitwise
As you can see, the result of an AND operation is 1 only when @emph{both}
bits are 1.
@@ -19230,12 +19234,12 @@ Optional parameters are enclosed in square brackets
([ ]):
@cindex @command{gawk} @subentry bitwise operations in
@table @asis
@cindexgawkfunc{and}
address@hidden bitwise AND
address@hidden bitwise @subentry AND
@item @code{and(address@hidden@code{,} @var{v2} address@hidden,}
@address@hidden)}
Return the bitwise AND of the arguments. There must be at least two.
@cindexgawkfunc{compl}
address@hidden bitwise complement
address@hidden bitwise @subentry complement
@item @code{compl(@var{val})}
Return the bitwise complement of @var{val}.
@@ -19245,7 +19249,7 @@ Return the bitwise complement of @var{val}.
Return the value of @var{val}, shifted left by @var{count} bits.
@cindexgawkfunc{or}
address@hidden bitwise OR
address@hidden bitwise @subentry OR
@item @code{or(address@hidden@code{,} @var{v2} address@hidden,}
@address@hidden)}
Return the bitwise OR of the arguments. There must be at least two.
@@ -19255,7 +19259,7 @@ Return the bitwise OR of the arguments. There must be
at least two.
Return the value of @var{val}, shifted right by @var{count} bits.
@cindexgawkfunc{xor}
address@hidden bitwise XOR
address@hidden bitwise @subentry XOR
@item @code{xor(address@hidden@code{,} @var{v2} address@hidden,}
@address@hidden)}
Return the bitwise XOR of the arguments. There must be at least two.
@end table
@@ -19710,8 +19714,8 @@ the @code{return} statement.
@cindex common extensions @subentry @code{func} keyword
@cindex extensions @subentry common, @code{func} keyword
address@hidden @cindex @command{awk} language, POSIX version
@c @cindex POSIX @command{awk}
address@hidden @command{awk} @subentry language, POSIX version
@cindex POSIX @command{awk} @subentry @code{function} keyword in
In many @command{awk} implementations, including @command{gawk},
the keyword @code{function} may be
@@ -20380,6 +20384,7 @@ function calls, you tell @command{gawk} to use the
@emph{value} of a
variable as the @emph{name} of the function to call.
@cindex @code{@@} (at-sign) @subentry @code{@@}-notation for indirect function
calls
address@hidden at-sign (@code{@@}) @subentry @code{@@}-notation for indirect
function calls
@cindex indirect function calls, @code{@@}-notation
@cindex function calls @subentry indirect @subentry @code{@@}-notation for
The syntax is similar to that of a regular function call: an identifier
@@ -20956,7 +20961,7 @@ The leading capital letter indicates that it is global,
while the fact that
the variable name is not all capital letters indicates that the variable is
not one of @command{awk}'s predefined variables, such as @code{FS}.
address@hidden @option{--dump-variables} option, using for library functions
address@hidden @option{--dump-variables} option @subentry using for library
functions
It is also important that @emph{all} variables in library
functions that do not need to save state are, in fact, declared
address@hidden@command{gawk}'s @option{--dump-variables} command-line
@@ -22203,7 +22208,7 @@ are left alone.
@cindex libraries of @command{awk} functions @subentry command-line options
@cindex functions @subentry library @subentry command-line options
address@hidden command-line options @subentry processing
address@hidden command line @subentry options @subentry processing
@cindex options @subentry command-line @subentry processing
@cindex functions @subentry library @subentry C library
@cindex arguments @subentry processing
@@ -22916,7 +22921,7 @@ uses these functions.
@cindex libraries of @command{awk} functions @subentry group database
@subentry reading
@cindex functions @subentry library @subentry group database, reading
@cindex group database, reading
address@hidden database, group, reading
address@hidden database @subentry group, reading
@cindex @code{PROCINFO} array @subentry group membership and
@cindex @code{getgrent()} function (C library)
@cindex @code{getgrent()} user-defined function
@@ -24890,7 +24895,7 @@ suggestion.
@c FIXME: One day, update to current POSIX version of wc
address@hidden counting
address@hidden counting words, lines, and characters
@cindex input files @subentry counting elements in
@cindex words @subentry counting
@cindex characters @subentry counting
@@ -27048,7 +27053,7 @@ things considerably. What problem does this engender
though?
@cindex search paths @subentry for source files
@cindex source address@hidden search path for
@cindex files @subentry source, search path for
address@hidden directories @subentry searching
address@hidden directories @subentry searching @subentry for source files
@item
As an additional example of the idea that it is not always necessary to
add new features to a program, consider the idea of having two files in
@@ -27224,7 +27229,7 @@ using this facility could lead to surprising results,
the default is to leave it
disabled. If you want it, you must explicitly request it.
@cindex programming conventions @subentry @code{--non-decimal-data} option
address@hidden @option{--non-decimal-data} option, @code{strtonum()} function
and
address@hidden @option{--non-decimal-data} option @subentry @code{strtonum()}
function and
@cindex @code{strtonum()} function (@command{gawk}), @code{--non-decimal-data}
option and
@quotation CAUTION
@emph{Use of this option is not recommended.}
@@ -27532,7 +27537,8 @@ sorted array traversal is not the default.
@node Array Sorting Functions
@subsection Sorting Array Values and Indices with @command{gawk}
address@hidden arrays @subentry sorting
address@hidden arrays @subentry sorting @subentry @code{asort()} function
(@command{gawk})
address@hidden arrays @subentry sorting @subentry @code{asorti()} function
(@command{gawk})
@cindexgawkfunc{asort}
@cindex @code{asort()} function (@command{gawk}) @subentry arrays, sorting
@cindexgawkfunc{asorti}
@@ -28522,7 +28528,7 @@ a requirement.
@cindex internationalization
@cindex localization @address@hidden localization}
address@hidden localization
address@hidden internationalization @subentry localization
@dfn{Internationalization} means writing (or modifying) a program once,
in such a way that it can use multiple languages without requiring
further source code changes.
@@ -28701,7 +28707,9 @@ such as @code{/[[:alnum:]]/}
(@pxref{Bracket Expressions}).
@cindex monetary information, localization
address@hidden currency symbols @subentry localization
address@hidden currency symbols, localization
address@hidden internationalization @subentry localization @subentry monetary
information
address@hidden internationalization @subentry localization @subentry currency
symbols
@cindex @code{LC_MONETARY} locale category
@item LC_MONETARY
Monetary information, such as the currency symbol, and whether the
@@ -28848,8 +28856,8 @@ BEGIN @{
@}
@end example
address@hidden @code{_} (underscore) @subentry translatable string
address@hidden underscore (@code{_}) @subentry translatable string
address@hidden @code{_} (underscore) @subentry translatable strings
address@hidden underscore (@code{_}) @subentry translatable strings
@item
Mark all translatable strings with a leading underscore (@samp{_})
character. It @emph{must} be adjacent to the opening
@@ -28948,7 +28956,7 @@ is covered.
@subsection Extracting Marked Strings
@cindex strings @subentry extracting
@cindex @option{--gen-pot} option
address@hidden command-line options @subentry string extraction
address@hidden command line @subentry options @subentry string extraction
@cindex string extraction (internationalization)
@cindex marked string extraction (internationalization)
@cindex extraction, of marked strings (internationalization)
@@ -29120,9 +29128,9 @@ and @code{bindtextdomain()}, the @command{awk} program
can be made to run, but
all the messages are output in the original language.
For example:
address@hidden @code{bindtextdomain()} function (@command{gawk}), portability
and
address@hidden @code{dcgettext()} function (@command{gawk}), portability and
address@hidden @code{dcngettext()} function (@command{gawk}), portability and
address@hidden @code{bindtextdomain()} function (@command{gawk}) @subentry
portability and
address@hidden @code{dcgettext()} function (@command{gawk}) @subentry
portability and
address@hidden @code{dcngettext()} function (@command{gawk}) @subentry
portability and
@example
@c file eg/lib/libintl.awk
function bindtextdomain(dir, domain)
@@ -29373,7 +29381,7 @@ a number of translations for its messages.
@node Debugger
@chapter Debugging @command{awk} Programs
address@hidden debugging @command{awk} programs
address@hidden debugging @subentry @command{awk} programs
@c The original text for this chapter was contributed by Efraim Yawitz.
@@ -29461,7 +29469,7 @@ The following list defines terms used throughout the
rest of
this @value{CHAPTER}:
@table @dfn
address@hidden call stack (debugger)
address@hidden call stack @subentry explanation of
@cindex stack frame (debugger)
@item Stack frame
Programs generally call functions during the course of their execution.
@@ -29648,7 +29656,7 @@ let's see how we got to where we are. At the prompt,
we type @samp{bt}
(short for ``backtrace''), and the debugger responds with a
listing of the current stack frames:
address@hidden debugger @subentry stack frames @subentry showing
address@hidden debugger @subentry stack frames, showing
@cindex debugger @subentry @code{bt} command
@cindex debugger @subentry @code{backtrace} command
@example
@@ -29937,7 +29945,7 @@ it continues executing the program.
@cindex debugger commands @subentry @code{clear}
@cindex @code{clear} debugger command
@cindex delete breakpoint @subentry at location
address@hidden breakpoint at location, how to delete
address@hidden breakpoint @subentry at location, how to delete
@item @code{clear} address@hidden@code{:address@hidden | @var{function}]
Without any argument, delete any breakpoint at the next instruction
to be executed in the selected stack frame. If the program stops at
@@ -29958,7 +29966,7 @@ Delete breakpoint(s) set at entry to function
@var{function}.
@cindex debugger commands @subentry @code{condition}
@cindex @code{condition} debugger command
address@hidden breakpoint condition
address@hidden breakpoint @subentry condition
@item @code{condition} @var{n} @code{"@var{expression}"}
Add a condition to existing breakpoint or watchpoint @var{n}. The
condition is an @command{awk} expression @emph{enclosed in double quotes}
@@ -30042,7 +30050,7 @@ execution of the program than we saw in our earlier
example:
@cindex @code{silent} debugger command
@cindex debugger commands @subentry @code{end}
@cindex @code{end} debugger command
address@hidden breakpoint commands
address@hidden breakpoint @subentry commands to execute at
@cindex commands to execute at breakpoint
@item @code{commands} address@hidden
@itemx @code{silent}
@@ -30307,7 +30315,7 @@ functions that called the one you are in. The commands
for doing this are:
@cindex @code{backtrace} debugger command
@cindex @code{bt} debugger command (alias for @code{backtrace})
@cindex @code{where} debugger command (alias for @code{backtrace})
address@hidden call stack, display in debugger
address@hidden call stack @subentry display in debugger
@cindex traceback, display in debugger
@item @code{backtrace} address@hidden
@itemx @code{bt} address@hidden
@@ -30923,7 +30931,7 @@ and when making indirect function calls
(@pxref{Indirect Calls}).
@cindex namespace @subentry default
@cindex namespace @subentry @code{awk}
address@hidden @code{awk} namespace
address@hidden @code{awk} @subentry namespace
The default namespace, not surprisingly, is @code{awk}.
All of the predefined @command{awk} and @command{gawk} variables
are in this namespace, and thus have qualified names like
@@ -30942,6 +30950,7 @@ It also keeps your code looking natural.
@cindex namespaces @subentry changing
@cindex @code{@@} (at-sign) @subentry @code{@@namespace} directive
address@hidden at-sign (@code{@@}) @subentry @code{@@namespace} directive
In order to set the current namespace, use an @code{@@namespace} directive
at the top level of your program:
@@ -30973,7 +30982,7 @@ an implicit @samp{@@namespace "awk"}. Similarly, each
chunk of
command-line code supplied with @option{-e} has such an implicit
initial statement (@pxref{Options}).
address@hidden current namespace @subentry pushing and popping
address@hidden current namespace, pushing and popping
@cindex namespace @subentry pushing and popping
Files included with @code{@@include} (@pxref{Include Files}) ``push''
and ``pop'' the current namespace. That is, each @code{@@include} saves
@@ -30983,7 +30992,8 @@ directive is seen. When @command{gawk} finishes
processing the included
file, the saved namespace is restored and processing continues where it
left off in the original file.
address@hidden @code{@@} (at-sign) @subentry @code{@@namespace}, no effect on
@address@hidden @address@hidden @address@hidden and @code{ENDFILE}
address@hidden @code{@@} (at-sign) @subentry @code{@@namespace} directive
@subentry no effect on @code{BEGIN}, @code{BEGINFILE}, @code{END}, and
@code{ENDFILE}
address@hidden at-sign (@code{@@}) @subentry @code{@@namespace} directive
@subentry no effect on @code{BEGIN}, @code{BEGINFILE}, @code{END}, and
@code{ENDFILE}
@cindex @code{BEGIN} pattern @subentry execution order not affected by
@code{@@namespace}
@cindex @code{BEGINFILE} pattern @subentry execution order not affected by
@code{@@namespace}
@cindex @code{END} pattern @subentry execution order not affected by
@code{@@namespace}
@@ -30996,7 +31006,7 @@ of @code{BEGIN}, @code{BEGINFILE}, @code{END}, and
@code{ENDFILE} rules.
@cindex naming rules, namespaces and component names
@cindex namespace names, naming rules
address@hidden component names, naming rules
address@hidden component names @subentry naming rules
A number of rules apply to the namespace and component names, as follows.
@itemize @bullet
@@ -31063,8 +31073,8 @@ $ @kbd{gawk -f systime.awk}
@section Internal Name Management
@cindex name management
address@hidden @code{awk} namespace @subentry identifier name storage
address@hidden @code{awk} namespace @subentry use for indirect function calls
address@hidden @code{awk} @subentry namespace @subentry identifier name storage
address@hidden @code{awk} @subentry namespace @subentry use for indirect
function calls
For backwards compatibility, all identifiers in the @code{awk} namespace
are stored internally as unadorned identifiers (that is, without a
leading @samp{awk::}). This is mainly relevant
@@ -31240,7 +31250,7 @@ in order to accommodate namespaces, and the debugger's
@code{dump} command
was adjusted to match.
@cindex namespaces @subentry interaction with extension API
address@hidden extension API interaction with namespaces
address@hidden extension API @subentry interaction with namespaces
The extension API (@pxref{Dynamic Extensions}) has always allowed for
placing functions into a different namespace, although this was not
previously implemented. However, the symbol lookup and symbol update
@@ -35243,8 +35253,8 @@ information about how @command{gawk} was invoked.
@node Extension Versioning
@subsubsection API Version Constants and Variables
address@hidden API version
address@hidden extension API version
address@hidden API @subentry version
address@hidden extension API @subentry version
The API provides both a ``major'' and a ``minor'' version number.
The API versions are available at compile time as C preprocessor defines
@@ -35344,8 +35354,8 @@ calls @code{check_mpfr_version()}.
@node Extension API Informational Variables
@subsubsection Informational Variables
address@hidden API informational variables
address@hidden extension API informational variables
address@hidden API @subentry informational variables
address@hidden extension API @subentry informational variables
The API provides access to several variables that describe
whether the corresponding command-line options were enabled when
@@ -39630,7 +39640,7 @@ The file @file{README_d/README.pc} in the
@command{gawk} distribution
contains additional notes, and @file{pc/Makefile} contains important
information on compilation options.
address@hidden compiling @command{gawk} for MS-Windows
address@hidden compiling @command{gawk} @subentry for MS-Windows
To build @command{gawk} for Windows32, copy the files in
the @file{pc} directory (@emph{except} for @file{ChangeLog}) to the
directory with the rest of the @command{gawk} sources, then invoke
@@ -39769,7 +39779,7 @@ moved into the @code{BEGIN} rule.
@node Cygwin
@appendixsubsubsec Using @command{gawk} In The Cygwin Environment
address@hidden compiling @command{gawk} for Cygwin
address@hidden compiling @command{gawk} @subentry for Cygwin
@command{gawk} can be built and used ``out of the box'' under MS-Windows
if you are using the @uref{http://www.cygwin.com, Cygwin environment}.
@@ -39833,7 +39843,7 @@ The older designation ``VMS'' is used throughout to
refer to OpenVMS.
@node VMS Compilation
@appendixsubsubsec Compiling @command{gawk} on VMS
address@hidden compiling @command{gawk} for VMS
address@hidden compiling @command{gawk} @subentry for VMS
To compile @command{gawk} under VMS, there is a @code{DCL} command procedure
that issues all the necessary @code{CC} and @code{LINK} commands. There is
@@ -40195,7 +40205,7 @@ recommend compiling and using the current version.
@end quotation
@c the radio show, not the book. :-)
address@hidden debugging @command{gawk} @subentry bug reports
address@hidden debugging @command{gawk}, bug reports
@cindex troubleshooting @subentry @command{gawk} @subentry bug reports
If you have problems with @command{gawk} or think that you have found a bug,
report it to the developers; we cannot promise to do anything,
@@ -41825,6 +41835,7 @@ Software Engineering practices.
@cindex Spencer, Henry
@cindex @command{sed} utility
@cindex amazing @command{awk} assembler (@command{aaa})
address@hidden @command{aaa} (amazing @command{awk} assembler) program
@item Amazing @command{awk} Assembler
Henry Spencer at the University of Toronto wrote a retargetable assembler
completely as @command{sed} and @command{awk} scripts. It is thousands
-----------------------------------------------------------------------
Summary of changes:
doc/gawktexi.in | 165 ++++++++++++++++++++++++++++++--------------------------
1 file changed, 88 insertions(+), 77 deletions(-)
hooks/post-receive
--
gawk
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [gawk-diffs] [SCM] gawk branch, feature/better-index, updated. gawk-4.1.0-3707-g8255dbf,
Arnold Robbins <=