gawk-diffs
[Top][All Lists]
Advanced

[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-3737-gc0d4861
Date: Sun, 21 Apr 2019 11:03:42 -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  c0d4861e21c806b8ad61e6e3a6cdf95e4335895e (commit)
       via  d3b5c776178a0b0680f984eab536c83089bbc92a (commit)
       via  7760ee121f8f3a231f4d949819fb49025d840297 (commit)
       via  0c2d3fdf3d3cec1f2b276995ccb085f2c35ca95b (commit)
       via  df615d8f1afb1f4bfc2ca5e8fa629d5fba1c8a46 (commit)
       via  dfb4f3b18cc0490cf1db9dad021fce62a99443b5 (commit)
       via  847657fa4ec580658371d6fcaea547f7769fb569 (commit)
       via  4c28839cbd2c40f7dacc5185fee352eb28f69ac5 (commit)
       via  7386af3ac9510a3f06d140548e6051db322e3ec2 (commit)
       via  3ee06fa46236117ccb00fe4e832e7a7e4694f7f8 (commit)
       via  ae4b75ecd4fd00af1504325857abe6883ab85a28 (commit)
       via  5fb082420462c7b6037d08e39944f932065816f8 (commit)
       via  9abeda33e7ce111a266d5e3ec4dafe65c26d5cd0 (commit)
       via  33218616b4987c7afd860d0b3f4dad9cdb703547 (commit)
       via  e5851c224d9fd7dce31ba06ee58f07f8370bec48 (commit)
       via  eb2b214d7471660ea087ecee5bc684a23c02395d (commit)
       via  5e739d0e99d4833092dff655bc4e9d9e05046e74 (commit)
      from  874ac661e36b277ed145f8a29a419af6d5b728ff (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=c0d4861e21c806b8ad61e6e3a6cdf95e4335895e

commit c0d4861e21c806b8ad61e6e3a6cdf95e4335895e
Merge: 5fb0824 d3b5c77
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 21 18:03:34 2019 +0300

    Merge branch 'master' into feature/better-index

diff --cc doc/gawk.texi
index 8011238,4b146a5..1e40816
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@@ -4349,12 -4340,15 +4349,15 @@@ As with @option{-f}, the @option{-e} an
  options may also be used multiple times on the command line.
  
  @cindex @option{-e} option
- If no @option{-f} or @option{-e} option is specified, then @command{gawk}
- uses the first nonoption command-line argument as the text of the
- program source code.
+ If no @option{-f} option (or @option{-e} option for @command{gawk})
+ is specified, then @command{awk} uses the first nonoption command-line
+ argument as the text of the program source code.  Arguments on
+ the command line that follow the program text are entered into the
+ @code{ARGV} array; @command{awk} does @emph{not} continue to parse the
+ command line looking for options.
  
  @cindex @env{POSIXLY_CORRECT} environment variable
 address@hidden lint checking, @env{POSIXLY_CORRECT} environment variable
 address@hidden lint checking @subentry @env{POSIXLY_CORRECT} environment 
variable
  @cindex POSIX mode
  If the environment variable @env{POSIXLY_CORRECT} exists,
  then @command{gawk} behaves in strict POSIX mode, exactly as if
@@@ -41590,8 -41604,15 +41628,15 @@@ This is an embeddable @command{awk} int
  @command{mawk}. For more information, see
  @uref{http://repo.hu/projects/libmawk/}.
  
+ @cindex source code, embeddable @command{awk} interpreter
+ @cindex Neacsu, Mircea
+ @item Mircea Neacsu's Embeddable @command{awk}
+ Mircea Neacsu has created an embeddable @command{awk}
+ interpreter, based on BWK awk. It's available
+ at @uref{https://github.com/neacsum/awk}.
+ 
  @item @code{pawk}
 address@hidden source code, @command{pawk} (Python version)
 address@hidden source code @subentry @command{pawk} (Python version)
  @cindex @code{pawk}, @command{awk}-like facilities for Python
  This is a Python module that claims to bring @command{awk}-like
  features to Python. See @uref{https://github.com/alecthomas/pawk}
diff --cc doc/gawktexi.in
index a114380,757fb4c..0a46747
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@@ -4259,12 -4250,15 +4259,15 @@@ As with @option{-f}, the @option{-e} an
  options may also be used multiple times on the command line.
  
  @cindex @option{-e} option
- If no @option{-f} or @option{-e} option is specified, then @command{gawk}
- uses the first nonoption command-line argument as the text of the
- program source code.
+ If no @option{-f} option (or @option{-e} option for @command{gawk})
+ is specified, then @command{awk} uses the first nonoption command-line
+ argument as the text of the program source code.  Arguments on
+ the command line that follow the program text are entered into the
+ @code{ARGV} array; @command{awk} does @emph{not} continue to parse the
+ command line looking for options.
  
  @cindex @env{POSIXLY_CORRECT} environment variable
 address@hidden lint checking, @env{POSIXLY_CORRECT} environment variable
 address@hidden lint checking @subentry @env{POSIXLY_CORRECT} environment 
variable
  @cindex POSIX mode
  If the environment variable @env{POSIXLY_CORRECT} exists,
  then @command{gawk} behaves in strict POSIX mode, exactly as if
@@@ -40642,8 -40577,15 +40680,15 @@@ This is an embeddable @command{awk} int
  @command{mawk}. For more information, see
  @uref{http://repo.hu/projects/libmawk/}.
  
+ @cindex source code, embeddable @command{awk} interpreter
+ @cindex Neacsu, Mircea
+ @item Mircea Neacsu's Embeddable @command{awk}
+ Mircea Neacsu has created an embeddable @command{awk}
+ interpreter, based on BWK awk. It's available
+ at @uref{https://github.com/neacsum/awk}.
+ 
  @item @code{pawk}
 address@hidden source code, @command{pawk} (Python version)
 address@hidden source code @subentry @command{pawk} (Python version)
  @cindex @code{pawk}, @command{awk}-like facilities for Python
  This is a Python module that claims to bring @command{awk}-like
  features to Python. See @uref{https://github.com/alecthomas/pawk}

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=5fb082420462c7b6037d08e39944f932065816f8

commit 5fb082420462c7b6037d08e39944f932065816f8
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 21 13:47:24 2019 +0300

    More indexing.

diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index e2e51a1..a114380 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -2134,10 +2134,10 @@ convincing me @emph{not} to title this @value{DOCUMENT}
 @cite{How to Gawk Politely}.
 Karl Berry helped significantly with the @TeX{} part of Texinfo.
 
address@hidden Hartholz, Marshall
address@hidden Hartholz, Elaine
address@hidden Schreiber, Bert
address@hidden Schreiber, Rita
address@hidden Hartholz @subentry Marshall
address@hidden Hartholz @subentry Elaine
address@hidden Schreiber @subentry Bert
address@hidden Schreiber @subentry Rita
 I would like to thank Marshall and Elaine Hartholz of Seattle and
 Dr.@: Bert and Rita Schreiber of Detroit for large amounts of quiet vacation
 time in their homes, which allowed me to make significant progress on
@@ -2251,9 +2251,9 @@ and for being a role model to me for close to 30 years!
 Having him as a reviewer is an exciting privilege. It has also
 been extremely address@hidden
 
address@hidden Robbins, Miriam
address@hidden Robbins, Jean
address@hidden Robbins, Harry
address@hidden Robbins @subentry Miriam
address@hidden Robbins @subentry Jean
address@hidden Robbins @subentry Harry
 @cindex G-d
 I must thank my wonderful wife, Miriam, for her patience through
 the many versions of this project, for her proofreading,
@@ -2581,7 +2581,7 @@ affect the execution of the @command{awk} program but it 
does make
 @subsection Executable @command{awk} Programs
 @cindex @command{awk} programs
 @cindex @code{#} (number sign) @subentry @code{#!} (executable scripts)
address@hidden Unix, @command{awk} scripts and
address@hidden Unix @subentry @command{awk} scripts and
 @cindex number sign (@code{#}) @subentry @code{#!} (executable scripts)
 
 Once you have learned @command{awk}, you may want to write self-contained
@@ -4046,8 +4046,8 @@ if @command{gawk} is not compiled to use the GNU MPFR and 
MP libraries
 @itemx @option{--non-decimal-data}
 @cindex @option{-n} option
 @cindex @option{--non-decimal-data} option
address@hidden hexadecimal address@hidden enabling interpretation of
address@hidden octal address@hidden enabling interpretation of
address@hidden hexadecimal values, enabling interpretation of
address@hidden octal values, enabling interpretation of
 @cindex troubleshooting @subentry @code{--non-decimal-data} option
 Enable automatic interpretation of octal and hexadecimal
 values in input data
@@ -5083,7 +5083,7 @@ $ @kbd{awk '/li/ @{ print $2 @}' mail-list}
 @cindex exclamation point (@code{!}) @subentry @code{!~} operator
 @c @cindex operators, @code{!~}
 @cindex @code{if} statement @subentry use of regexps in
address@hidden @code{while} statement, use of regexps in
address@hidden @code{while} statement @subentry use of regexps in
 @cindex @address@hidden statement @subentry use of regexps in
 @c @cindex statements, @code{if}
 @c @cindex statements, @code{while}
@@ -5910,7 +5910,7 @@ two characters @samp{\} and @samp{*}.
 
 @cindex troubleshooting @subentry regexp constants vs.@: string constants
 @cindex regexp constants @subentry vs.@: string constants
address@hidden string constants, vs.@: regexp constants
address@hidden string @subentry constants @subentry vs.@: regexp constants
 Given that you can use both regexp and string constants to describe
 regular expressions, which should you use?  The answer is ``regexp
 constants,'' for several reasons:
@@ -6033,7 +6033,7 @@ For example, @code{/stow\>/} matches @samp{stow} but not 
@samp{stowaway}.
 @c @cindex operators, @code{\y} (@command{gawk})
 @cindex backslash (@code{\}) @subentry @code{\y} operator (@command{gawk})
 @cindex @code{\} (backslash) @subentry @code{\y} operator (@command{gawk})
address@hidden word address@hidden matching
address@hidden word boundaries, matching
 @item \y
 Matches the empty string at either the beginning or the
 end of a word (i.e., the word address@hidden).  For example, @samp{\yballs?\y}
@@ -6506,7 +6506,7 @@ even if the last character in the file is not the 
character in @code{RS}.
 
 @cindex empty strings @seeentry{null strings}
 @cindex null strings
address@hidden strings, empty @seeentry{null strings}
address@hidden strings @subentry empty @seeentry{null strings}
 The empty string @code{""} (a string without any characters)
 has a special meaning
 as the value of @code{RS}. It means that records are separated
@@ -6678,7 +6678,7 @@ simple @command{awk} programs so powerful.
 @cindex field operator @code{$}
 @cindex @code{$} (dollar sign) @subentry @code{$} field operator
 @cindex dollar sign (@code{$}) @subentry @code{$} field operator
address@hidden field address@hidden dollar sign as
address@hidden field operators, dollar sign as
 You use a dollar sign (@samp{$})
 to refer to a field in an @command{awk} program,
 followed by the number of the field you want.  Thus, @code{$1}
@@ -7339,7 +7339,7 @@ encrypted or shadow password.  (A shadow password is 
indicated by the
 presence of a single @samp{x} in the second field.)  A password file
 entry might look like this:
 
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Arnold
 @example
 arnold:x:2076:10:Arnold Robbins:/home/arnold:/bin/bash
 @end example
@@ -8370,9 +8370,9 @@ bletch
 @noindent
 the program might produce:
 
address@hidden Robbins, Bill
address@hidden Robbins, Miriam
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Bill
address@hidden Robbins @subentry Miriam
address@hidden Robbins @subentry Arnold
 @example
 foo
 bar
@@ -9160,7 +9160,7 @@ runs together on a single line.
 @node OFMT
 @section Controlling Numeric Output with @code{print}
 @cindex numeric @subentry output format
address@hidden address@hidden numeric output
address@hidden formats, numeric output
 When printing numeric values with the @code{print} statement,
 @command{awk} internally converts each number to a string of characters
 and prints that string.  @command{awk} uses the @code{sprintf()} function
@@ -9433,7 +9433,7 @@ the IEEE standard.  Further details are provided in
 @subsection Modifiers for @code{printf} Formats
 
 @cindex @code{printf} statement @subentry modifiers
address@hidden address@hidden in format specifiers
address@hidden modifiers, in format specifiers
 A format specification can also include @dfn{modifiers} that can control
 how much of the item's value is printed, as well as how much space it gets.
 The modifiers come between the @samp{%} and the format-control letter.
@@ -10097,7 +10097,7 @@ above two, does actually close the given file 
descriptor.
 @node Special Network
 @subsection Special Files for Network Communications
 @cindex networks @subentry support for
address@hidden TCP/IP, support for
address@hidden TCP/IP @subentry support for
 
 @command{gawk} programs
 can open a two-way
@@ -10326,7 +10326,7 @@ which describes it in more detail and gives an example.
 @sidebar Using @code{close()}'s Return Value
 @cindex dark corner @subentry @code{close()} function
 @cindex @code{close()} function @subentry return value
address@hidden return address@hidden @code{close()} function
address@hidden return value, @code{close()} function
 @cindex differences in @command{awk} and @command{gawk} @subentry 
@code{close()} function
 @cindex Unix @command{awk} @subentry @code{close()} function and
 
@@ -10597,7 +10597,7 @@ have the same value:
 1050e-1
 @end example
 
address@hidden string constants
address@hidden string @subentry constants
 @cindex constants @subentry string
 A @dfn{string constant} consists of a sequence of characters enclosed in
 double quotation marks.  For example:
@@ -11185,7 +11185,7 @@ concatenated together.  The resulting string is 
converted back to the
 number 23, to which 4 is then added.
 
 @cindex null strings @subentry converting numbers to strings
address@hidden type conversion
address@hidden type @subentry conversion
 If, for some reason, you need to force a number to be converted to a
 string, concatenate that number with the empty string, @code{""}.
 To force a string to be converted to a number, add zero to that string.
@@ -11458,7 +11458,7 @@ For maximum portability, do not use the @samp{**} 
operator.
 @author Brian Kernighan
 @end quotation
 
address@hidden string operators
address@hidden string @subentry operators
 @cindex operators @subentry string
 @cindex concatenating
 There is only one string operation: concatenation.  It does not have a
@@ -12051,8 +12051,7 @@ the string constant @code{"0"} is actually true, 
because it is non-null.
 @cindex expressions, matching @seeentry{comparison expressions}
 @cindex matching, expressions @seeentry{comparison expressions}
 @cindex relational operators @seeentry{comparison operators}
address@hidden operators, relational @address@hidden comparison}
address@hidden variable typing
address@hidden operators, relational @seeentry{operators, comparison}
 @cindex variables @subentry types of @subentry comparison expressions and
 Unlike in other programming languages, in @command{awk} variables do not have a
 fixed type. Instead, they can be either a number or a string, depending
@@ -13913,7 +13912,7 @@ For deleting array elements.
 control the flow of execution in @command{awk} programs.  Most of 
@command{awk}'s
 control statements are patterned after similar statements in C.
 
address@hidden compound address@hidden control statements and
address@hidden compound statements, control statements and
 @cindex statements @subentry compound, control statements and
 @cindex body @subentry in actions
 @cindex @address@hidden@}} (braces) @subentry statements, grouping
@@ -15228,7 +15227,7 @@ Assigning a new value to this element changes the 
default.
 The value of the @code{getuid()} system call.
 
 @item PROCINFO["version"]
address@hidden version of @command{gawk}
address@hidden version of @subentry @command{gawk}
 @cindex @command{gawk} version
 The version of @command{gawk}.
 @end table
@@ -15240,10 +15239,10 @@ if your version of @command{gawk} supports 
arbitrary-precision arithmetic
 
 @table @code
 @item PROCINFO["gmp_version"]
address@hidden version of GNU MP library
address@hidden version of @subentry GNU MP library
 The version of the GNU MP library.
 
address@hidden version of GNU MPFR library
address@hidden version of @subentry GNU MPFR library
 @item PROCINFO["mpfr_version"]
 The version of the GNU MPFR library.
 
@@ -15263,7 +15262,7 @@ of @command{gawk} supports dynamic loading of extension 
functions
 
 @table @code
 @item PROCINFO["api_major"]
address@hidden version of @command{gawk} extension API
address@hidden version of @subentry @command{gawk} extension API
 @cindex extension API @subentry version number
 The major version of the extension API.
 
@@ -16685,7 +16684,7 @@ out an array:@footnote{Thanks to Michael Brennan for 
pointing this out.}
 split("", array)
 @end example
 
address@hidden @code{split()} function, array address@hidden deleting
address@hidden @code{split()} function @subentry array elements, deleting
 The @code{split()} function
 (@pxref{String Functions})
 clears out the target array first. This call asks it to split
@@ -16720,7 +16719,7 @@ languages, including @command{awk}) to refer to an 
element of a
 two-dimensional array named @code{grid} is with
 @address@hidden,@var{y}]}.
 
address@hidden @code{SUBSEP} variable, multidimensional arrays and
address@hidden @code{SUBSEP} variable @subentry multidimensional arrays and
 Multidimensional arrays are supported in @command{awk} through
 concatenation of indices into one string.
 @command{awk} converts the indices into strings
@@ -17561,7 +17560,7 @@ and the third argument must be assignable.
 
 @item @code{index(@var{in}, @var{find})}
 @cindexawkfunc{index}
address@hidden search in string
address@hidden search for substring
 @cindex find substring in string
 Search the string @var{in} for the first occurrence of the string
 @var{find}, and return the position in characters where that occurrence
@@ -17583,7 +17582,7 @@ constant as an expression meaning @samp{$0 ~ /regexp/}. 
@value{DARKCORNER}
 
 @item @code{length(address@hidden@code{)}
 @cindexawkfunc{length}
address@hidden string length
address@hidden string @subentry length
 @cindex length of string
 Return the number of characters in @var{string}.  If
 @var{string} is a number, the length of the digit string representing
@@ -17659,7 +17658,7 @@ If @option{--posix} is supplied, using an array 
argument is a fatal error
 
 @item @code{match(@var{string}, @var{regexp}} address@hidden, @address@hidden)}
 @cindexawkfunc{match}
address@hidden string, regular expression match
address@hidden string @subentry regular expression match
 @cindex match regexp in string
 Search @var{string} for the
 longest, leftmost substring matched by the regular expression
@@ -17683,6 +17682,8 @@ for @code{match()}, the order is the same as for the 
@samp{~} operator:
 @cindex @code{RSTART} variable @subentry @code{match()} function and
 @cindex @code{RLENGTH} variable @subentry @code{match()} function and
 @cindex @code{match()} function @subentry @code{RSTART}/@code{RLENGTH} 
variables
address@hidden @code{match()} function @subentry side effects
address@hidden side effects @subentry @code{match()} function
 The @code{match()} function sets the predefined variable @code{RSTART} to
 the index.  It also sets the predefined variable @code{RLENGTH} to the
 length in characters of the matched substring.  If no match is found,
@@ -17830,7 +17831,7 @@ split("cul-de-sac", a, "-", seps)
 @end example
 
 @noindent
address@hidden strings splitting @subentry example
address@hidden strings @subentry splitting, example
 splits the string @code{"cul-de-sac"} into three fields using @samp{-} as the
 separator.  It sets the contents of the array @code{a} as follows:
 
@@ -18006,6 +18007,8 @@ an @samp{&}:
 
 @cindex @code{sub()} function @subentry arguments of
 @cindex @code{gsub()} function @subentry arguments of
address@hidden side effects @subentry @code{sub()} function
address@hidden side effects @subentry @code{gsub()} function
 As mentioned, the third argument to @code{sub()} must
 be a variable, field, or array element.
 Some versions of @command{awk} allow the third argument to
@@ -19285,6 +19288,7 @@ Here is a user-defined function (@pxref{User-defined})
 that illustrates the use of these functions:
 
 @cindex @code{bits2str()} user-defined function
address@hidden user-defined @subentry function @subentry @code{bits2str()}
 @cindex @code{testbits.awk} program
 @example
 @group
@@ -19455,8 +19459,8 @@ that traverses every element of an array of arrays
 Return a true value if @var{x} is an array. Otherwise, return false.
 
 @cindexgawkfunc{typeof}
address@hidden variable type
address@hidden type, of variable
address@hidden variable type, @code{typeof()} function (@command{gawk})
address@hidden type @subentry of variable, @code{typeof()} function 
(@command{gawk})
 @item typeof(@var{x})
 Return one of the following strings, depending upon the type of @var{x}:
 
@@ -19552,7 +19556,7 @@ Optional parameters are enclosed in square brackets ([ 
]):
 
 @table @asis
 @cindexgawkfunc{bindtextdomain}
address@hidden set directory of message catalogs
address@hidden set @subentry directory of message catalogs
 @item @code{bindtextdomain(@var{directory}} address@hidden,} @address@hidden)}
 Set the directory in which
 @command{gawk} will look for message translation files, in case they
@@ -19587,7 +19591,7 @@ The default value for @var{category} is 
@code{"LC_MESSAGES"}.
 @node User-defined
 @section User-Defined Functions
 
address@hidden user-defined functions
address@hidden user-defined @subentry functions
 @cindex functions @subentry user-defined
 Complicated @command{awk} programs can often be simplified by defining
 your own functions.  User-defined functions can be called just like
@@ -19824,6 +19828,7 @@ already empty:
 
 @c 8/2014: Thanks to Mike Brennan for the improved formulation
 @cindex @code{rev()} user-defined function
address@hidden user-defined @subentry function @subentry @code{rev()}
 @example
 function rev(str)
 @{
@@ -19850,6 +19855,7 @@ The following example uses the built-in 
@code{strftime()} function
 to create an @command{awk} version of @code{ctime()}:
 
 @cindex @code{ctime()} user-defined function
address@hidden user-defined @subentry function @subentry @code{ctime()}
 @example
 @c file eg/lib/ctime.awk
 # ctime.awk
@@ -20207,7 +20213,7 @@ don't like the warning, fix your code!  It's incorrect, 
after all.)
 
 @node Return Statement
 @subsection The @code{return} Statement
address@hidden @code{return} address@hidden user-defined functions
address@hidden @code{return} statement, user-defined functions
 
 As seen in several earlier examples,
 the body of a user-defined function can contain a @code{return} statement.
@@ -21139,6 +21145,7 @@ be tested with @command{gawk} and the results compared 
to the built-in
 
 @cindex assertions
 @cindex @code{assert()} function (C library)
address@hidden C library functions @subentry @code{assert()}
 @cindex libraries of @command{awk} functions @subentry assertions
 @cindex functions @subentry library @subentry assertions
 @cindex @command{awk} programs @subentry lengthy @subentry assertions
@@ -21172,6 +21179,7 @@ prog.c:5: assertion failed: a <= 5 && b >= 17.1
 @end example
 
 @cindex @code{assert()} user-defined function
address@hidden user-defined @subentry function @subentry @code{assert()}
 The C language makes it possible to turn the condition into a string for use
 in printing the diagnostic message.  This is not possible in @command{awk}, so
 this @code{assert()} function also requires a string version of the condition
@@ -21267,7 +21275,7 @@ with an @code{exit} statement.
 @cindex functions @subentry library @subentry rounding numbers
 @cindex @code{print} statement @subentry @code{sprintf()} function and
 @cindex @code{printf} statement @subentry @code{sprintf()} function and
address@hidden @code{sprintf()} function, @code{print}/@code{printf} statements 
and
address@hidden @code{sprintf()} function @subentry @code{print}/@code{printf} 
statements and
 The way @code{printf} and @code{sprintf()}
 (@pxref{Printf})
 perform rounding often depends upon the system's C @code{sprintf()}
@@ -21281,6 +21289,7 @@ traditional rounding; it might be useful if your 
@command{awk}'s @code{printf}
 does unbiased rounding:
 
 @cindex @code{round()} user-defined function
address@hidden user-defined @subentry function @subentry @code{round()}
 @example
 @c file eg/lib/round.awk
 # round.awk --- do normal rounding
@@ -21340,6 +21349,7 @@ for randomness by showing no structure.''
 It is easily programmed, in less than 10 lines of @command{awk} code:
 
 @cindex @code{cliff_rand()} user-defined function
address@hidden user-defined @subentry function @subentry @code{cliff_rand()}
 @example
 @c file eg/lib/cliff_rand.awk
 # cliff_rand.awk --- generate Cliff random numbers
@@ -21389,8 +21399,11 @@ Both functions are written very nicely in 
@command{awk}; there is no real
 reason to build them into the @command{awk} interpreter:
 
 @cindex @code{ord()} user-defined function
address@hidden user-defined @subentry function @subentry @code{ord()}
 @cindex @code{chr()} user-defined function
address@hidden user-defined @subentry function @subentry @code{chr()}
 @cindex @code{_ord_init()} user-defined function
address@hidden user-defined @subentry function @subentry @code{_ord_init()}
 @example
 @c file eg/lib/ord.awk
 # ord.awk --- do ord and chr
@@ -21517,6 +21530,7 @@ assumption, as the array was likely created with 
@code{split()}
 (@pxref{String Functions}):
 
 @cindex @code{join()} user-defined function
address@hidden user-defined @subentry function @subentry @code{join()}
 @example
 @c file eg/lib/join.awk
 # join.awk --- join an array into a string
@@ -21575,6 +21589,7 @@ with preformatted time information.  It returns a 
string with the current
 time formatted in the same way as the @command{date} utility:
 
 @cindex @code{getlocaltime()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getlocaltime()}
 @example
 @c file eg/lib/gettime.awk
 # getlocaltime.awk --- get the time of day in a usable format
@@ -21686,6 +21701,7 @@ The following function, based on a suggestion by Denis 
Shirokov,
 reads the entire contents of the named file in one shot:
 
 @cindex @code{readfile()} user-defined function
address@hidden user-defined @subentry function @subentry @code{readfile()}
 @example
 @c file eg/lib/readfile.awk
 # readfile.awk --- read an entire file at once
@@ -21898,7 +21914,9 @@ supplied in the ``main'' program, @code{endfile()} is 
called first.  Once
 again, the value of multiple @code{BEGIN} and @code{END} rules should be clear.
 
 @cindex @code{beginfile()} user-defined function
address@hidden user-defined @subentry function @subentry @code{beginfile()}
 @cindex @code{endfile()} user-defined function
address@hidden user-defined @subentry function @subentry @code{endfile()}
 If the same @value{DF} occurs twice in a row on the command line, then
 @code{endfile()} and @code{beginfile()} are not executed at the end of the
 first pass and at the beginning of the second pass.
@@ -21966,6 +21984,7 @@ and then start over with it from the top.
 For lack of a better name, we'll call the function @code{rewind()}:
 
 @cindex @code{rewind()} user-defined function
address@hidden user-defined @subentry function @subentry @code{rewind()}
 @example
 @c file eg/lib/rewind.awk
 # rewind.awk --- rewind the current file and start over
@@ -22040,7 +22059,7 @@ $ @kbd{gawk -f rewind.awk -f test.awk data }
 @subsection Checking for Readable @value{DDF}s
 
 @cindex troubleshooting @subentry readable data files
address@hidden readable data address@hidden checking
address@hidden readable data files, checking
 @cindex files @subentry skipping
 Normally, if you give @command{awk} a @value{DF} that isn't readable,
 it stops with a fatal error.  There are times when you might want to
@@ -22079,7 +22098,7 @@ BEGIN @{
 @c endfile
 @end example
 
address@hidden troubleshooting @subentry @code{getline} function
address@hidden troubleshooting @subentry @code{getline} command
 This works, because the @code{getline} won't be fatal.
 Removing the element from @code{ARGV} with @code{delete}
 skips the file (because it's no longer in the list).
@@ -22233,6 +22252,7 @@ The first occurrence on the command line of either 
@option{--} or a
 string that does not begin with @samp{-} ends the options.
 
 @cindex @code{getopt()} function (C library)
address@hidden C library functions @subentry @code{getopt()}
 Modern Unix systems provide a C function named @code{getopt()} for processing
 command-line arguments.  The programmer provides a string describing the
 one-letter options. If an option requires an argument, it is followed in the
@@ -22336,6 +22356,7 @@ We have left it alone, as using @code{substr()} is more 
portable.}
 The discussion that follows walks through the code a bit at a time:
 
 @cindex @code{getopt()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getopt()}
 @example
 @c file eg/lib/getopt.awk
 # getopt.awk --- Do C library getopt(3) function in awk
@@ -22378,6 +22399,7 @@ a string of options (the @code{options} parameter).  If 
@code{options}
 has a zero length, @code{getopt()} immediately returns @minus{}1:
 
 @cindex @code{getopt()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getopt()}
 @example
 @c file eg/lib/getopt.awk
 function getopt(argc, argv, options,    thisopt, i)
@@ -22592,7 +22614,9 @@ user database.  @xref{Group Functions}
 for a similar suite that retrieves information from the group database.
 
 @cindex @code{getpwent()} function (C library)
address@hidden C library functions @subentry @code{getpwent()}
 @cindex @code{getpwent()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getpwent()}
 @cindex users @subentry information about @subentry retrieving
 @cindex login information
 @cindex account information
@@ -22725,8 +22749,8 @@ shell, such as Bash.
 A few lines representative of @command{pwcat}'s output are as follows:
 
 @cindex Jacobs, Andrew
address@hidden Robbins, Arnold
address@hidden Robbins, Miriam
address@hidden Robbins @subentry Arnold
address@hidden Robbins @subentry Miriam
 @example
 $ @kbd{pwcat}
 @print{} root:x:0:1:Operator:/:/bin/sh
@@ -22745,6 +22769,7 @@ information.  There are several functions here, 
corresponding to the C
 functions of the same names:
 
 @cindex @code{_pw_init()} user-defined function
address@hidden user-defined @subentry function @subentry @code{_pw_init()}
 @example
 @c file eg/lib/passwdawk.in
 # passwd.awk --- access password file information
@@ -22837,12 +22862,14 @@ if necessary), @code{RS}, and @code{$0}.
 The use of @address@hidden is explained shortly.
 
 @cindex @code{getpwnam()} function (C library)
address@hidden C library functions @subentry @code{getpwnam()}
 The @code{getpwnam()} function takes a username as a string argument. If that
 user is in the database, it returns the appropriate line. Otherwise, it
 relies on the array reference to a nonexistent
 element to create the element with the null string as its value:
 
 @cindex @code{getpwnam()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getpwnam()}
 @example
 @group
 @c file eg/lib/passwdawk.in
@@ -22856,11 +22883,13 @@ function getpwnam(name)
 @end example
 
 @cindex @code{getpwuid()} function (C library)
address@hidden C library functions @subentry @code{getpwuid()}
 Similarly, the @code{getpwuid()} function takes a user ID number
 argument. If that user number is in the database, it returns the
 appropriate line. Otherwise, it returns the null string:
 
 @cindex @code{getpwuid()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getpwuid()}
 @example
 @c file eg/lib/passwdawk.in
 function getpwuid(uid)
@@ -22872,11 +22901,13 @@ function getpwuid(uid)
 @end example
 
 @cindex @code{getpwent()} function (C library)
address@hidden C library functions @subentry @code{getpwent()}
 The @code{getpwent()} function simply steps through the database, one entry at
 a time.  It uses @code{_pw_count} to track its current position in the
 @code{_pw_bycount} array:
 
 @cindex @code{getpwent()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getpwent()}
 @example
 @c file eg/lib/passwdawk.in
 function getpwent()
@@ -22890,10 +22921,12 @@ function getpwent()
 @end example
 
 @cindex @code{endpwent()} function (C library)
address@hidden C library functions @subentry @code{endpwent()}
 The @address@hidden()}} function resets @address@hidden to zero, so that
 subsequent calls to @code{getpwent()} start over again:
 
 @cindex @code{endpwent()} user-defined function
address@hidden user-defined @subentry function @subentry @code{endpwent()}
 @example
 @c file eg/lib/passwdawk.in
 function endpwent()
@@ -22934,7 +22967,9 @@ uses these functions.
 @cindex database @subentry group, reading
 @cindex @code{PROCINFO} array @subentry group membership and
 @cindex @code{getgrent()} function (C library)
address@hidden C library functions @subentry @code{getgrent()}
 @cindex @code{getgrent()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getgrent()}
 @cindex groups, information about
 @cindex account information
 @cindex group file
@@ -23076,6 +23111,7 @@ There are several, modeled after the C library 
functions of the same names:
 
 @cindex @code{getline} command @subentry @code{_gr_init()} user-defined 
function
 @cindex @code{_gr_init()} user-defined function
address@hidden user-defined @subentry function @subentry @code{_gr_init()}
 @example
 @c file eg/lib/groupawk.in
 # group.awk --- functions for dealing with the group file
@@ -23189,6 +23225,7 @@ initializes @code{_gr_count} to zero
 (it is used later), and makes @code{_gr_inited} nonzero.
 
 @cindex @code{getgrnam()} function (C library)
address@hidden C library functions @subentry @code{getgrnam()}
 The @code{getgrnam()} function takes a group name as its argument, and if that
 group exists, it is returned.
 Otherwise, it
@@ -23196,6 +23233,7 @@ relies on the array reference to a nonexistent
 element to create the element with the null string as its value:
 
 @cindex @code{getgrnam()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getgrnam()}
 @example
 @c file eg/lib/groupawk.in
 function getgrnam(group)
@@ -23207,10 +23245,12 @@ function getgrnam(group)
 @end example
 
 @cindex @code{getgrgid()} function (C library)
address@hidden C library functions @subentry @code{getgrgid()}
 The @code{getgrgid()} function is similar; it takes a numeric group ID and
 looks up the information associated with that group ID:
 
 @cindex @code{getgrgid()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getgrgid()}
 @example
 @c file eg/lib/groupawk.in
 function getgrgid(gid)
@@ -23222,10 +23262,12 @@ function getgrgid(gid)
 @end example
 
 @cindex @code{getgruser()} function (C library)
address@hidden C library functions @subentry @code{getgruser()}
 The @code{getgruser()} function does not have a C counterpart. It takes a
 username and returns the list of groups that have the user as a member:
 
 @cindex @code{getgruser()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getgruser()}
 @example
 @c file eg/lib/groupawk.in
 function getgruser(user)
@@ -23237,10 +23279,12 @@ function getgruser(user)
 @end example
 
 @cindex @code{getgrent()} function (C library)
address@hidden C library functions @subentry @code{getgrent()}
 The @code{getgrent()} function steps through the database one entry at a time.
 It uses @code{_gr_count} to track its position in the list:
 
 @cindex @code{getgrent()} user-defined function
address@hidden user-defined @subentry function @subentry @code{getgrent()}
 @example
 @c file eg/lib/groupawk.in
 function getgrent()
@@ -23256,10 +23300,12 @@ function getgrent()
 @end example
 
 @cindex @code{endgrent()} function (C library)
address@hidden C library functions @subentry @code{endgrent()}
 The @code{endgrent()} function resets @code{_gr_count} to zero so that 
@code{getgrent()} can
 start over again:
 
 @cindex @code{endgrent()} user-defined function
address@hidden user-defined @subentry function @subentry @code{endgrent()}
 @example
 @c file eg/lib/groupawk.in
 function endgrent()
@@ -23296,6 +23342,7 @@ You call it with the array and a string representing 
the name
 of the array:
 
 @cindex @code{walk_array()} user-defined function
address@hidden user-defined @subentry function @subentry @code{walk_array()}
 @example
 @c file eg/lib/walkarray.awk
 function walk_array(arr, name,      i)
@@ -25109,7 +25156,7 @@ We hope you find them both interesting and enjoyable.
 
 @cindex words @subentry duplicate, searching for
 @cindex searching @subentry for words
address@hidden address@hidden searching
address@hidden documents, searching
 A common error when writing large amounts of prose is to accidentally
 duplicate words.  Typically you will see this in text as something like ``the
 the program does the address@hidden''  When the text is online, often
@@ -25177,7 +25224,7 @@ word, comparing it to the previous one:
 @node Alarm Program
 @subsection An Alarm Clock Program
 @cindex insomnia, cure for
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Arnold
 @quotation
 @i{Nothing cures insomnia like a ringing alarm clock.}
 @author Arnold Robbins
@@ -25518,7 +25565,7 @@ for inspiration.
 @subsection Printing Mailing Labels
 
 @cindex printing @subentry mailing labels
address@hidden mailing address@hidden printing
address@hidden mailing labels, printing
 Here is a ``real-world''@footnote{``Real world'' is defined as
 ``a program actually used to get something done.''}
 program.  This
@@ -27061,7 +27108,7 @@ things considerably.  What problem does this engender 
though?
 
 @cindex search paths
 @cindex search paths @subentry for source files
address@hidden source address@hidden search path for
address@hidden source files, search path for
 @cindex files @subentry source, search path for
 @cindex directories @subentry searching @subentry for source files
 @item
@@ -27240,7 +27287,7 @@ disabled.  If you want it, you must explicitly request 
it.
 
 @cindex programming conventions @subentry @code{--non-decimal-data} option
 @cindex @option{--non-decimal-data} option @subentry @code{strtonum()} 
function and
address@hidden @code{strtonum()} function (@command{gawk}), 
@code{--non-decimal-data} option and
address@hidden @code{strtonum()} function (@command{gawk}) @subentry 
@code{--non-decimal-data} option and
 @quotation CAUTION
 @emph{Use of this option is not recommended.}
 It can break old programs very badly.
@@ -27552,8 +27599,10 @@ sorted array traversal is not the default.
 @cindex arrays @subentry sorting @subentry @code{asorti()} function 
(@command{gawk})
 @cindexgawkfunc{asort}
 @cindex @code{asort()} function (@command{gawk}) @subentry arrays, sorting
address@hidden @code{asort()} function (@command{gawk}) @subentry side effects
 @cindexgawkfunc{asorti}
 @cindex @code{asorti()} function (@command{gawk}) @subentry arrays, sorting
address@hidden @code{asorti()} function (@command{gawk}) @subentry side effects
 @cindex sort function, arrays, sorting
 In most @command{awk} implementations, sorting an array requires writing
 a @code{sort()} function.  This can be educational for exploring
@@ -27578,6 +27627,7 @@ All numeric values come before all string values,
 which in turn come before all subarrays.
 
 @cindex side effects @subentry @code{asort()} function
address@hidden side effects @subentry @code{asorti()} function
 An important side effect of calling @code{asort()} is that
 @emph{the array's original indices are irrevocably lost}.
 As this isn't always desirable, @code{asort()} accepts a
@@ -27838,7 +27888,7 @@ These strings tell @command{gawk} to close the end of 
the pipe
 that sends data to the coprocess or the end that reads from it,
 respectively.
 
address@hidden @command{sort} utility, coprocesses and
address@hidden @command{sort} utility @subentry coprocesses and
 This is particularly necessary in order to use
 the system @command{sort} utility as part of a coprocess;
 @command{sort} must read @emph{all} of its input
@@ -28046,6 +28096,7 @@ respectively.  TCP should be used for most applications.
 
 @item local-port
 @cindex @code{getaddrinfo()} function (C library)
address@hidden C library functions @subentry @code{getaddrinfo()}
 The local TCP or UDP port number to use.  Use a port number of @samp{0}
 when you want the system to pick a port. This is what you should do
 when writing a TCP or UDP client.
@@ -28361,10 +28412,10 @@ $ @kbd{gawk --profile -f myprog &}
 [1] 13992
 @end example
 
address@hidden @command{kill} address@hidden dynamic profiling
address@hidden @command{kill} command, dynamic profiling
 @cindex @code{USR1} signal, for dynamic profiling
 @cindex @code{SIGUSR1} signal, for dynamic profiling
address@hidden signals @subentry @code{USR1}/@code{SIGUSR1} @subentry for 
profiling
address@hidden signals @subentry @code{USR1}/@code{SIGUSR1}, for profiling
 @noindent
 The shell prints a job number and process ID number; in this case, 13992.
 Use the @command{kill} command to send the @code{USR1} signal
@@ -28397,7 +28448,7 @@ profile file.
 
 @cindex @code{HUP} signal, for dynamic profiling
 @cindex @code{SIGHUP} signal, for dynamic profiling
address@hidden signals @subentry @code{HUP}/@code{SIGHUP} @subentry for 
profiling
address@hidden signals @subentry @code{HUP}/@code{SIGHUP}, for profiling
 If you use the @code{HUP} signal instead of the @code{USR1} signal,
 @command{gawk} produces the profile and the function call trace and then exits.
 
@@ -28539,7 +28590,7 @@ a requirement.
 @section Internationalization and Localization
 
 @cindex internationalization
address@hidden localization @address@hidden localization}
address@hidden localization @seeentry{internationalization, localization}
 @cindex internationalization @subentry localization
 @dfn{Internationalization} means writing (or modifying) a program once,
 in such a way that it can use multiple languages without requiring
@@ -28587,6 +28638,7 @@ A table with strings of option names is not (e.g., 
@command{gawk}'s
 language).
 
 @cindex @code{textdomain()} function (C library)
address@hidden C library functions @subentry @code{textdomain()}
 @item
 The programmer indicates the application's text domain
 (@command{"guide"}) to the @command{gettext} library,
@@ -28630,6 +28682,7 @@ When @command{guide} is built and installed, the binary 
translation files
 are installed in a standard place.
 
 @cindex @code{bindtextdomain()} function (C library)
address@hidden C library functions @subentry @code{bindtextdomain()}
 @item
 For testing and development, it is possible to tell @command{gettext}
 to use @file{.gmo} files in a different directory than the standard
@@ -28652,6 +28705,7 @@ and forth.
 @end enumerate
 
 @cindex @code{gettext()} function (C library)
address@hidden C library functions @subentry @code{gettext()}
 In C (or C++), the string marking and dynamic translation lookup
 are accomplished by wrapping each string in a call to @code{gettext()}:
 
@@ -28969,7 +29023,7 @@ is covered.
 @cindex strings @subentry extracting
 @cindex @option{--gen-pot} option
 @cindex command line @subentry options @subentry string extraction
address@hidden string extraction (internationalization)
address@hidden string @subentry extraction (internationalization)
 @cindex marked string extraction (internationalization)
 @cindex extraction, of marked strings (internationalization)
 
@@ -29923,7 +29977,7 @@ controlling breakpoints are:
 @cindex debugger commands @subentry @code{break}
 @cindex @code{break} debugger command
 @cindex @code{b} debugger command (alias for @code{break})
address@hidden set breakpoint
address@hidden set @subentry breakpoint
 @cindex breakpoint @subentry setting
 @item @code{break} address@hidden@code{:address@hidden | @var{function}] 
address@hidden"@var{expression}"}]
 @itemx @code{b} address@hidden@code{:address@hidden | @var{function}] 
address@hidden"@var{expression}"}]
@@ -30280,7 +30334,7 @@ You can also set special @command{awk} variables, such 
as @code{FS},
 @cindex debugger commands @subentry @code{watch}
 @cindex @code{watch} debugger command
 @cindex @code{w} debugger command (alias for @code{watch})
address@hidden set watchpoint
address@hidden set @subentry watchpoint
 @item @code{watch} @var{var} | @address@hidden 
address@hidden"@var{expression}"}]
 @itemx @code{w} @var{var} | @address@hidden address@hidden"@var{expression}"}]
 Add variable @var{var} (or field @address@hidden) to the watch list.
@@ -30386,11 +30440,13 @@ The value for @var{what} should be one of the 
following:
 @c nested table
 @table @code
 @item args
address@hidden show function arguments, in debugger
address@hidden show in debugger @subentry function arguments
address@hidden function arguments, show in debugger
 List arguments of the selected frame.
 
 @item break
address@hidden show breakpoints
address@hidden show in debugger @subentry breakpoints
address@hidden breakpoints, show in debugger
 List all currently set breakpoints.
 
 @item display
@@ -30403,15 +30459,19 @@ Give a description of the selected stack frame.
 
 @item functions
 @cindex list function definitions, in debugger
address@hidden function definitions, list in debugger
 List all function definitions including source @value{FN}s and
 line numbers.
 
 @item locals
address@hidden show local variables, in debugger
address@hidden show in debugger @subentry local variables
address@hidden local variables, show in debugger
 List local variables of the selected frame.
 
 @item source
address@hidden show name of current source file, in debugger
address@hidden show in debugger @subentry name of current source file
address@hidden current source file, show in debugger
address@hidden source file, show in debugger
 Print the name of the current source file. Each time the program stops, the
 current source file is the file containing the current instruction.
 When the debugger first starts, the current source file is the first file
@@ -30420,15 +30480,18 @@ included via the @option{-f} option. The
 be used at any time to change the current source.
 
 @item sources
address@hidden show all source files, in debugger
address@hidden show in debugger @subentry all source files
address@hidden all source files, show in debugger
 List all program sources.
 
 @item variables
 @cindex list all global variables, in debugger
address@hidden global variables, show in debugger
 List all global variables.
 
 @item watch
address@hidden show watchpoints
address@hidden show in debugger @subentry watchpoints
address@hidden watchpoints, show in debugger
 List all items in the watch list.
 @end table
 @end table
@@ -32957,7 +33020,7 @@ the macros as if they were functions.
 @node General Data Types
 @subsection General-Purpose Data Types
 
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Arnold
 @cindex Ramey, Chet
 @quotation
 @i{I have a true love/hate relationship with unions.}
@@ -38994,7 +39057,7 @@ distribution.
 Juan Manuel Guerrero took over maintenance of the DJGPP port.
 
 @item
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Arnold
 Arnold Robbins
 has been working on @command{gawk} since 1988, at first
 helping David Trueman, and as the primary maintainer since around 1994.
@@ -39212,7 +39275,7 @@ A description of behaviors in the POSIX standard for 
@command{awk} that
 are left undefined, or where @command{gawk} may not comply fully, as well
 as a list of things that the POSIX standard should describe but does not.
 
address@hidden artificial address@hidden @command{gawk} and
address@hidden artificial intelligence, @command{gawk} and
 @item doc/awkforai.txt
 Pointers to the original draft of
 a short article describing why @command{gawk} is a good language for
@@ -39493,7 +39556,7 @@ Add the argument to the end of the @env{AWKLIBPATH} 
environment variable.
 @node Additional Configuration Options
 @appendixsubsec Additional Configuration Options
 @cindex @command{gawk} @subentry configuring @subentry options
address@hidden configuration address@hidden @command{gawk}
address@hidden configuration options, @command{gawk}
 
 There are several additional options you may use on the @command{configure}
 command line when compiling @command{gawk} from scratch, including:
@@ -40360,7 +40423,7 @@ The people maintaining the various @command{gawk} ports 
are:
 @cindex Malmberg, John
 @cindex Pitts, Dave
 @cindex G., Daniel Richard
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Arnold
 @cindex Zaretskii, Eli
 @cindex Guerrero, Juan Manuel
 @multitable {MS-Windows with MinGW} 
{123456789012345678901234567890123456789001234567890}
@@ -40507,7 +40570,7 @@ since approximately 2001.
 
 @cindex Beebe, Nelson H.F.@:
 @cindex @command{pawk} (profiling version of Brian Kernighan's @command{awk})
address@hidden source code @subentry @command{pawk}
address@hidden source code @subentry @command{pawk} (profiling version of Brian 
Kernighan's @command{awk})
 @item @command{pawk}
 Nelson H.F.@: Beebe at the University of Utah has modified
 BWK @command{awk} to provide timing and profiling information.
@@ -41287,7 +41350,7 @@ Larry
 @end ignore
 @cindex Perl
 @cindex Wall, Larry
address@hidden Robbins, Arnold
address@hidden Robbins @subentry Arnold
 @quotation
 @i{AWK is a language similar to PERL, only considerably more elegant.}
 @author Arnold Robbins
@@ -41737,7 +41800,7 @@ and even more often, as ``I/O'' for short.
 (You will also see ``input'' and ``output'' used as verbs.)
 
 @cindex data-driven languages
address@hidden address@hidden data-driven
address@hidden languages, data-driven
 @command{awk} manages the reading of data for you, as well as the
 breaking it up into records and fields.  Your program's job is to
 tell @command{awk} what to do with the data.  You do this by describing

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

Summary of changes:
 ChangeLog                        |   27 +
 ChangeLog.1                      |    0
 Checklist                        |    4 +-
 Makefile.am                      |    1 +
 Makefile.in                      |    1 +
 POSIX.STD                        |   12 +-
 awk.h                            |    1 +
 awkgram.c                        |    2 +-
 awkgram.y                        |    2 +-
 awklib/ChangeLog                 |    4 +
 awklib/Makefile.am               |    3 +-
 awklib/Makefile.in               |    4 +-
 command.c                        |   14 +-
 command.y                        |   14 +-
 doc/ChangeLog                    |   21 +
 doc/Makefile.am                  |    3 +-
 doc/Makefile.in                  |    3 +-
 doc/gawk.info                    | 1174 +++++++++++++++++++-------------------
 doc/gawk.texi                    |   57 +-
 doc/gawktexi.in                  |  272 ++++++---
 doc/it/ChangeLog                 |    4 +
 doc/it/gawktexi.in               |   13 +-
 extension/ChangeLog              |    4 +
 extension/Makefile.am            |    1 +
 extension/Makefile.in            |    1 +
 field.c                          |    1 +
 interpret.h                      |    3 +-
 main.c                           |    6 +
 msg.c                            |    9 +-
 test/ChangeLog                   |   11 +
 test/Makefile.am                 |   12 +-
 test/Makefile.in                 |   22 +-
 test/Maketests                   |   10 +
 test/fscaret.awk                 |    8 +
 test/{exitval2.ok => fscaret.in} |    0
 test/fscaret.ok                  |    1 +
 test/synerr3.awk                 |    1 +
 test/synerr3.ok                  |    5 +
 38 files changed, 1030 insertions(+), 701 deletions(-)
 mode change 100755 => 100644 ChangeLog.1
 create mode 100644 test/fscaret.awk
 copy test/{exitval2.ok => fscaret.in} (100%)
 create mode 100644 test/fscaret.ok
 create mode 100644 test/synerr3.awk
 create mode 100644 test/synerr3.ok


hooks/post-receive
-- 
gawk



reply via email to

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