gawk-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, feature/namespaces, updated. gawk-4.1.0-3804-gafe4134
Date: Wed, 12 Dec 2018 14:33:19 -0500 (EST)

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/namespaces has been updated
       via  afe4134cc17810f3f7b2c22a3ef48451a72f413e (commit)
       via  aeb58e66c4e77a3deadabc02ec303ce08654d2f6 (commit)
       via  d96d8fc0e8d06705127d0374f505ca4958124103 (commit)
       via  7ed7c53aace0f24d3ae0432695fa6dcc8cdd5bf8 (commit)
       via  d5d60a503f6de8866be843b40fe6de7c20a0f3a0 (commit)
      from  52c4db4a58e18961b3ed47fd7f78126decb0fd5d (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=afe4134cc17810f3f7b2c22a3ef48451a72f413e

commit afe4134cc17810f3f7b2c22a3ef48451a72f413e
Merge: 7ed7c53 aeb58e6
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 12 21:33:10 2018 +0200

    Merge branch 'master' into feature/namespaces

diff --cc ChangeLog
index ef5a21b,11d9e99..4995e33
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,23 -1,15 +1,35 @@@
  2018-12-12         Arnold D. Robbins     <address@hidden>
  
+       * TODO: Updated.
+ 
+ 2018-12-12         Andrew J. Schorr      <address@hidden>
+ 
+       * configure.ac (AC_CHECK_FUNCS): Check for timegm.
+       * builtin.c (mktime_tz): Remove function; we will use timegm instead.
+       (do_mktime): Replace 'mktime_tz(& then, "UTC+0")' with 'timegm(& then)'.
+       * protos.h (timegm): Add timegm proto on systems lacking it.
+       * replace.c (timegm): Include missing_d/timegm.c if needed.
+ 
++2018-12-12         Arnold D. Robbins     <address@hidden>
++
 +      * NEWS: Updated some.
 +
 +2018-12-12         Arnold D. Robbins     <address@hidden>
 +
 +      * awk.h: Add new Op_K_namespace opcode for pretty printing.
 +      * awkgram.y (namespace_chain): New variable, list of successive
 +      @namespace directives seen, for the pretty printer.
 +      (namespace_comment): Removed.
 +      (set_namespace): Takes comment as second argument, builds the chain.
 +      (mk_function, append_rule): Adjust to store the chain.
 +      * debug.c (print_ns_list): New function.
 +      (print_instruction): Adjust Op_rule and Op_func to use print_ns_list.
 +      Add case for Op_K_namespace.
 +      * eval.c (optable): Add entry for Op_K_namespace.
 +      (opcode2str, op2str): Edit / add leading comments, respectively.
 +      * profile.c (pp_namespace_list): New function.
 +      (pprint): Adjust code to call pp_namespace_list.
 +
  2018-12-06         Arnold D. Robbins     <address@hidden>
  
        * configure.ac: Add -ggdb3 to CFLAGS if developing and remove

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=7ed7c53aace0f24d3ae0432695fa6dcc8cdd5bf8

commit 7ed7c53aace0f24d3ae0432695fa6dcc8cdd5bf8
Author: Arnold D. Robbins <address@hidden>
Date:   Wed Dec 12 21:27:29 2018 +0200

    Documentation updates.

diff --git a/ChangeLog b/ChangeLog
index dbb86a1..ef5a21b 100755
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2018-12-12         Arnold D. Robbins     <address@hidden>
 
+       * NEWS: Updated some.
+
+2018-12-12         Arnold D. Robbins     <address@hidden>
+
        * awk.h: Add new Op_K_namespace opcode for pretty printing.
        * awkgram.y (namespace_chain): New variable, list of successive
        @namespace directives seen, for the pretty printer.
diff --git a/NEWS b/NEWS
index 99c933b..e5f34f8 100644
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,12 @@ Changes from 4.2.x to 5.0.0
    from scratch. As a result, comments in many corner cases that were
    previously lost are now included in the formatted output.
 
-7. Namespaces have been implemented! See the manual.
+7. Namespaces have been implemented! See the manual.  One consequence of this
+   is that file included with -i, read with -f, and command line program
+   segments must all be self-contained syntactic units. E.g., you can no
+   longer do something like this:
+
+       gawk -e 'BEGIN {' -e 'print "hello" }'
 
 Changes from 4.2.1 to 4.2.2
 ---------------------------
diff --git a/doc/ChangeLog b/doc/ChangeLog
index d659dc7..da6d683 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,9 @@
+2018-12-12         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: Clean up some FIXMEs and other improvements.
+       * gawk.1: Mention that files read with -f and -i and command
+       line segments all implicitly start with @namespace "awk".
+
 2018-11-29         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in (Auto-set): Document that you can no longer use
diff --git a/doc/gawk.1 b/doc/gawk.1
index c5cac74..4b188ae 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -13,7 +13,7 @@
 .              if \w'\(rq' .ds rq "\(rq
 .      \}
 .\}
-.TH GAWK 1 "Nov 29 2018" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Dec 12 2018" "Free Software Foundation" "Utility Commands"
 .SH NAME
 gawk \- pattern scanning and processing language
 .SH SYNOPSIS
@@ -132,6 +132,9 @@ Multiple
 (or
 .BR \-\^\-file )
 options may be used.
+Files read with
+.B \-f
+are treated as if they begin with an implict address@hidden "awk"\fR statement.
 .TP
 .PD 0
 .BI \-F " fs"
@@ -253,6 +256,9 @@ and
 options) with source code entered on the command line.
 It is intended primarily for medium to large \*(AK programs used
 in shell scripts.
+Each argument supplied via
+.B \-e
+is treated as if it begins with an implict address@hidden "awk"\fR statement.
 .TP
 .PD 0
 .BI "\-E " file
@@ -310,6 +316,9 @@ be made after appending the
 suffix.  The file will be loaded only
 once (i.e., duplicates are eliminated), and the code does not constitute
 the main program source.
+Files read with
+.B \-i
+are treated as if they begin with an implict address@hidden "awk"\fR statement.
 .TP
 .PD 0
 .BI "\-l " lib
diff --git a/doc/gawk.info b/doc/gawk.info
index 8921187..6ce38bf 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2496,7 +2496,8 @@ The following list describes options mandated by the 
POSIX standard:
      each specified SOURCE-FILE.
 
      Files named with '-i' are treated as if they had '@namespace "awk"'
-     at their beginning.  *Note Namespaces::, for more information.
+     at their beginning.  *Note Changing The Namespace::, for more
+     information.
 
 '-v VAR=VAL'
 '--assign VAR=VAL'
@@ -2594,9 +2595,9 @@ The following list describes options mandated by the 
POSIX standard:
      character (even if it doesn't).  This makes building the total
      program easier.
 
-          CAUTION: Prior to version *FIXME* 5.0, there was no
-          requirement that each PROGRAM-TEXT be a full syntactic unit.
-          I.e., the following worked:
+          CAUTION: Prior to version 5.0, there was no requirement that
+          each PROGRAM-TEXT be a full syntactic unit.  I.e., the
+          following worked:
 
                $ gawk -e 'BEGIN { a = 5 ;' -e 'print a }'
                -| 5
@@ -2605,8 +2606,8 @@ The following list describes options mandated by the 
POSIX standard:
           rely upon this feature, you should revise them.
 
           This is because each PROGRAM-TEXT is treated as if it had
-          '@namespace "awk"' at its beginning.  *Note Namespaces::, for
-          more information.
+          '@namespace "awk"' at its beginning.  *Note Changing The
+          Namespace::, for more information.
 
 '-E' FILE
 '--exec' FILE
@@ -2656,7 +2657,8 @@ The following list describes options mandated by the 
POSIX standard:
      source code via the '-f' option or on the command line.
 
      Files named with '-i' are treated as if they had '@namespace "awk"'
-     at their beginning.  *Note Namespaces::, for more information.
+     at their beginning.  *Note Changing The Namespace::, for more
+     information.
 
 '-l' EXT
 '--load' EXT
@@ -3282,8 +3284,8 @@ from web pages.
 Variable:: also apply to files loaded with '@include'.
 
    Finally, files included with '@include' are treated as if they had
-'@namespace "awk"' at their beginning.  *Note Namespaces::, for more
-information.
+'@namespace "awk"' at their beginning.  *Note Changing The Namespace::,
+for more information.
 
 
 File: gawk.info,  Node: Loading Shared Libraries,  Next: Obsolete,  Prev: 
Include Files,  Up: Invoking Gawk
@@ -15339,10 +15341,9 @@ and '_pw_count'.
 conventions.  You are not required to write your programs this way--we
 merely recommend that you do so.
 
-   Beginning with version *FIXME* 5.0, 'gawk' provides a powerful
-mechanism for solving the problems described in this section:
-"namespaces".  Namespaces and their use are described in detail in *note
-Namespaces::.
+   Beginning with version 5.0, 'gawk' provides a powerful mechanism for
+solving the problems described in this section: "namespaces".
+Namespaces and their use are described in detail in *note Namespaces::.
 
    ---------- Footnotes ----------
 
@@ -18272,6 +18273,10 @@ line of input data:
          close(outputfile)
      }
 
+   As a side note, this program does not follow our recommended
+convention of naming global variables with a leading capital letter.
+Doing that would make the program a little easier to follow.
+
 
 File: gawk.info,  Node: Wc Program,  Prev: Uniq Program,  Up: Clones
 
@@ -22743,8 +22748,8 @@ are much fewer namespaces in use by any given program, 
and thus much
 less chance for collisions.)  These facilities are sometimes referred to
 as "packages" or "modules".
 
-   Starting with version *FIXME* 5.0, 'gawk' provides a simple mechanism
-to put functions and global variables into separate namespaces.
+   Starting with version 5.0, 'gawk' provides a simple mechanism to put
+functions and global variables into separate namespaces.
 
 
 File: gawk.info,  Node: Qualified Names,  Next: Default Namespace,  Prev: 
Global Namespace,  Up: Namespaces
@@ -22806,9 +22811,9 @@ are placed into the 'passwd' namespace.
 file, although this is likely to become confusing if you do it too much.
 
      NOTE: Association of unqualified identifiers to a namespace is
-     handled while 'gawk' parses your program, before it starts to run.
-     There is no concept of a "current" namespace once your program
-     starts executing.  Be sure you understand this.
+     handled while 'gawk' parses your program, _before_ it starts to
+     run.  There is no concept of a "current" namespace once your
+     program starts executing.  Be sure you understand this.
 
    Each source file for '-i' and '-f' starts out with an implicit
 '@namespace "awk"'.  Similarly, each chunk of command-line code supplied
@@ -22848,7 +22853,7 @@ follows.
 
    * Outside the 'awk' namespace, the names of the additional 'gawk'
      built-in functions (such as 'gensub()' or 'strftime()') _may_ be
-     used as a component name.  The same set of names may be used as
+     used as component names.  The same set of names may be used as
      namespace names, although this has the potential to be confusing.
 
    * The additional 'gawk' built-in functions may still be called from
@@ -24321,7 +24326,9 @@ operations:
 
    * The following types, macros, and/or functions are referenced in
      'gawkapi.h'.  For correct use, you must therefore include the
-     corresponding standard header file _before_ including 'gawkapi.h':
+     corresponding standard header file _before_ including 'gawkapi.h'.
+     The list of macros and related header files is shown in *note Table
+     17.1: table-api-std-headers.
 
      C entity                 Header file
      -------------------------------------------
@@ -24334,6 +24341,8 @@ operations:
      'size_t'                 '<sys/types.h>'
      'struct stat'            '<sys/stat.h>'
 
+     Table 17.1: Standard header files needed by API
+
      Due to portability concerns, especially to systems that are not
      fully standards-compliant, it is your responsibility to include the
      correct files in the correct way.  This requirement is necessary in
@@ -25463,7 +25472,7 @@ function returns true and fills in the 'awk_value_t' 
result.  Otherwise,
 the function returns false, and the 'val_type' member indicates the type
 of the actual value.  You may then print an error message or reissue the
 request for the actual value type, as appropriate.  This behavior is
-summarized in *note Table 17.1: table-value-types-returned.
+summarized in *note Table 17.2: table-value-types-returned.
 
                                      Type of Actual Value
 --------------------------------------------------------------------------
@@ -25479,7 +25488,7 @@ Requested   Array       false    false    false    
false   Array   false
             Value       false    false    false    false   false   false
             cookie
 
-Table 17.1: API value types returned
+Table 17.2: API value types returned
 
 
 File: gawk.info,  Node: Accessing Parameters,  Next: Symbol Table Access,  
Prev: Requesting Values,  Up: Extension API Description
@@ -25496,7 +25505,7 @@ your extension function.  They are:
      Fill in the 'awk_value_t' structure pointed to by 'result' with the
      'count'th argument.  Return true if the actual type matches
      'wanted', and false otherwise.  In the latter case,
-     'result->val_type' indicates the actual type (*note Table 17.1:
+     'result->val_type' indicates the actual type (*note Table 17.2:
      table-value-types-returned.).  Counts are zero-based--the first
      argument is numbered zero, the second one, and so on.  'wanted'
      indicates the type of value expected.
@@ -25542,7 +25551,7 @@ termed a "symbol table".  The functions are as follows:
      regular C string.  'wanted' indicates the type of value expected.
      Return true if the actual type matches 'wanted', and false
      otherwise.  In the latter case, 'result->val_type' indicates the
-     actual type (*note Table 17.1: table-value-types-returned.).
+     actual type (*note Table 17.2: table-value-types-returned.).
 
 'awk_bool_t sym_lookup_ns(const char *name,'
 '                         const char *name_space,'
@@ -25553,6 +25562,9 @@ termed a "symbol table".  The functions are as follows:
      cannot be 'NULL'.  If it is '""' or '"awk', then 'name' is searched
      for in the default 'awk' namespace.
 
+     Note that 'namespace' is a C++ keyword.  For interoperability with
+     C++, you should avoid using that identifier in C code.
+
 'awk_bool_t sym_update(const char *name, awk_value_t *value);'
      Update the variable named by the string 'name', which is a regular
      C string.  The variable is added to 'gawk''s symbol table if it is
@@ -25910,7 +25922,7 @@ The following functions relate to individual array 
elements:
      value of the element whose index is 'index'.  'wanted' specifies
      the type of value you wish to retrieve.  Return false if 'wanted'
      does not match the actual type or if 'index' is not in the array
-     (*note Table 17.1: table-value-types-returned.).
+     (*note Table 17.2: table-value-types-returned.).
 
      The value for 'index' can be numeric, in which case 'gawk' converts
      it to a string.  Using nonintegral values is possible, but requires
@@ -26396,7 +26408,7 @@ API Version   C Preprocessor Define      enum constant
 Major         'gawk_api_major_version'   'GAWK_API_MAJOR_VERSION'
 Minor         'gawk_api_minor_version'   'GAWK_API_MINOR_VERSION'
 
-Table 17.2: gawk API version constants
+Table 17.3: gawk API version constants
 
    The minor version increases when new functions are added to the API.
 Such new functions are always added to the end of the API 'struct'.
@@ -27662,7 +27674,7 @@ number and the file name, separated by a forward slash 
character.  On
 systems where the directory entry contains the file type, the record has
 a third field (also separated by a slash), which is a single letter
 indicating the type of the file.  The letters and their corresponding
-file types are shown in *note Table 17.3: table-readdir-file-types.
+file types are shown in *note Table 17.4: table-readdir-file-types.
 
 Letter  File type
 --------------------------------------------------------------------------
@@ -27675,7 +27687,7 @@ Letter  File type
 's'     Socket
 'u'     Anything else (unknown)
 
-Table 17.3: File types returned by the 'readdir' extension
+Table 17.4: File types returned by the 'readdir' extension
 
    On systems without the file type information, the third field is
 always 'u'.
@@ -33513,13 +33525,13 @@ Index
 * - (hyphen), -- operator <1>:           Precedence.          (line  45)
 * - (hyphen), -= operator:               Assignment Ops.      (line 129)
 * - (hyphen), -= operator <1>:           Precedence.          (line  94)
-* - (hyphen), filenames beginning with:  Options.             (line  63)
+* - (hyphen), filenames beginning with:  Options.             (line  64)
 * - (hyphen), in bracket expressions:    Bracket Expressions. (line  25)
-* --assign option:                       Options.             (line  35)
-* --bignum option:                       Options.             (line 227)
-* --characters-as-bytes option:          Options.             (line  72)
-* --copyright option:                    Options.             (line  92)
-* --debug option:                        Options.             (line 111)
+* --assign option:                       Options.             (line  36)
+* --bignum option:                       Options.             (line 229)
+* --characters-as-bytes option:          Options.             (line  73)
+* --copyright option:                    Options.             (line  93)
+* --debug option:                        Options.             (line 112)
 * --disable-extensions configuration option: Additional Configuration Options.
                                                               (line   9)
 * --disable-lint configuration option:   Additional Configuration Options.
@@ -33528,81 +33540,81 @@ Index
                                                               (line  32)
 * --disable-nls configuration option:    Additional Configuration Options.
                                                               (line  37)
-* --dump-variables option:               Options.             (line  97)
+* --dump-variables option:               Options.             (line  98)
 * --dump-variables option, using for library functions: Library Names.
                                                               (line  45)
 * --enable-versioned-extension-dir configuration option: Additional 
Configuration Options.
                                                               (line  42)
-* --exec option:                         Options.             (line 146)
+* --exec option:                         Options.             (line 147)
 * --field-separator option:              Options.             (line  21)
 * --file option:                         Options.             (line  25)
-* --gen-pot option:                      Options.             (line 168)
+* --gen-pot option:                      Options.             (line 169)
 * --gen-pot option <1>:                  String Extraction.   (line   6)
 * --gen-pot option <2>:                  String Extraction.   (line   6)
-* --help option:                         Options.             (line 175)
-* --include option:                      Options.             (line 180)
+* --help option:                         Options.             (line 176)
+* --include option:                      Options.             (line 181)
 * --lint option:                         Command Line.        (line  20)
-* --lint option <1>:                     Options.             (line 208)
-* --lint-old option:                     Options.             (line 322)
-* --load option:                         Options.             (line 196)
-* --no-optimize option:                  Options.             (line 308)
-* --non-decimal-data option:             Options.             (line 233)
+* --lint option <1>:                     Options.             (line 210)
+* --lint-old option:                     Options.             (line 324)
+* --load option:                         Options.             (line 198)
+* --no-optimize option:                  Options.             (line 310)
+* --non-decimal-data option:             Options.             (line 235)
 * --non-decimal-data option <1>:         Nondecimal Data.     (line   6)
 * --non-decimal-data option, strtonum() function and: Nondecimal Data.
                                                               (line  35)
-* --optimize option:                     Options.             (line 258)
-* --posix option:                        Options.             (line 280)
-* --posix option, --traditional option and: Options.          (line 295)
-* --pretty-print option:                 Options.             (line 247)
-* --profile option:                      Options.             (line 268)
+* --optimize option:                     Options.             (line 260)
+* --posix option:                        Options.             (line 282)
+* --posix option, --traditional option and: Options.          (line 297)
+* --pretty-print option:                 Options.             (line 249)
+* --profile option:                      Options.             (line 270)
 * --profile option <1>:                  Profiling.           (line  12)
-* --re-interval option:                  Options.             (line 301)
-* --sandbox option:                      Options.             (line 313)
+* --re-interval option:                  Options.             (line 303)
+* --sandbox option:                      Options.             (line 315)
 * --sandbox option, disabling system() function: I/O Functions.
                                                               (line 128)
 * --sandbox option, input redirection with getline: Getline.  (line  19)
 * --sandbox option, output redirection with print, printf: Redirection.
                                                               (line   6)
-* --source option:                       Options.             (line 120)
-* --traditional option:                  Options.             (line  85)
-* --traditional option, --posix option and: Options.          (line 295)
-* --use-lc-numeric option:               Options.             (line 242)
-* --version option:                      Options.             (line 327)
-* -b option:                             Options.             (line  72)
-* -c option:                             Options.             (line  85)
-* -C option:                             Options.             (line  92)
-* -d option:                             Options.             (line  97)
-* -D option:                             Options.             (line 111)
-* -e option:                             Options.             (line 120)
-* -E option:                             Options.             (line 146)
-* -e option <1>:                         Options.             (line 363)
+* --source option:                       Options.             (line 121)
+* --traditional option:                  Options.             (line  86)
+* --traditional option, --posix option and: Options.          (line 297)
+* --use-lc-numeric option:               Options.             (line 244)
+* --version option:                      Options.             (line 329)
+* -b option:                             Options.             (line  73)
+* -c option:                             Options.             (line  86)
+* -C option:                             Options.             (line  93)
+* -d option:                             Options.             (line  98)
+* -D option:                             Options.             (line 112)
+* -e option:                             Options.             (line 121)
+* -E option:                             Options.             (line 147)
+* -e option <1>:                         Options.             (line 365)
 * -f option:                             Long.                (line  12)
 * -F option:                             Options.             (line  21)
 * -f option <1>:                         Options.             (line  25)
-* -F option, -Ft sets FS to TAB:         Options.             (line 335)
+* -F option, -Ft sets FS to TAB:         Options.             (line 337)
 * -F option, command-line:               Command Line Field Separator.
                                                               (line   6)
-* -f option, multiple uses:              Options.             (line 340)
-* -g option:                             Options.             (line 168)
-* -h option:                             Options.             (line 175)
-* -i option:                             Options.             (line 180)
-* -l option:                             Options.             (line 196)
-* -l option <1>:                         Options.             (line 208)
-* -L option:                             Options.             (line 322)
-* -M option:                             Options.             (line 227)
-* -n option:                             Options.             (line 233)
-* -N option:                             Options.             (line 242)
-* -o option:                             Options.             (line 247)
-* -O option:                             Options.             (line 258)
-* -p option:                             Options.             (line 268)
-* -P option:                             Options.             (line 280)
-* -r option:                             Options.             (line 301)
-* -s option:                             Options.             (line 308)
-* -S option:                             Options.             (line 313)
-* -v option:                             Options.             (line  35)
-* -V option:                             Options.             (line 327)
+* -f option, multiple uses:              Options.             (line 342)
+* -g option:                             Options.             (line 169)
+* -h option:                             Options.             (line 176)
+* -i option:                             Options.             (line 181)
+* -l option:                             Options.             (line 198)
+* -l option <1>:                         Options.             (line 210)
+* -L option:                             Options.             (line 324)
+* -M option:                             Options.             (line 229)
+* -n option:                             Options.             (line 235)
+* -N option:                             Options.             (line 244)
+* -o option:                             Options.             (line 249)
+* -O option:                             Options.             (line 260)
+* -p option:                             Options.             (line 270)
+* -P option:                             Options.             (line 282)
+* -r option:                             Options.             (line 303)
+* -s option:                             Options.             (line 310)
+* -S option:                             Options.             (line 315)
+* -v option:                             Options.             (line  36)
+* -V option:                             Options.             (line 329)
 * -v option <1>:                         Assignment Options.  (line  12)
-* -W option:                             Options.             (line  50)
+* -W option:                             Options.             (line  51)
 * . (period), regexp operator:           Regexp Operators.    (line  44)
 * .gmo files:                            Explaining gettext.  (line  42)
 * .gmo files, specifying directory of:   Explaining gettext.  (line  54)
@@ -33898,9 +33910,9 @@ Index
 * atan2:                                 Numeric Functions.   (line  12)
 * automatic displays, in debugger:       Debugger Info.       (line  24)
 * awf (amazingly workable formatter) program: Glossary.       (line  23)
-* awk debugging, enabling:               Options.             (line 111)
+* awk debugging, enabling:               Options.             (line 112)
 * awk language, POSIX version:           Assignment Ops.      (line 138)
-* awk profiling, enabling:               Options.             (line 268)
+* awk profiling, enabling:               Options.             (line 270)
 * awk programs:                          Getting Started.     (line  12)
 * awk programs <1>:                      Executable Scripts.  (line   6)
 * awk programs <2>:                      Two Rules.           (line   6)
@@ -33914,8 +33926,8 @@ Index
 * awk programs, lengthy:                 Long.                (line   6)
 * awk programs, lengthy, assertions:     Assert Function.     (line   6)
 * awk programs, location of:             Options.             (line  25)
-* awk programs, location of <1>:         Options.             (line 146)
-* awk programs, location of <2>:         Options.             (line 180)
+* awk programs, location of <1>:         Options.             (line 147)
+* awk programs, location of <2>:         Options.             (line 181)
 * awk programs, one-line examples:       Very Simple.         (line  46)
 * awk programs, profiling:               Profiling.           (line   6)
 * awk programs, running:                 Running gawk.        (line   6)
@@ -33957,7 +33969,7 @@ Index
 * AWKPATH environment variable <1>:      PC Using.            (line  13)
 * awkprof.out file:                      Profiling.           (line   6)
 * awksed.awk program:                    Simple Sed.          (line  25)
-* awkvars.out file:                      Options.             (line  97)
+* awkvars.out file:                      Options.             (line  98)
 * b debugger command (alias for break):  Breakpoint Control.  (line  11)
 * backslash (\):                         Comments.            (line  50)
 * backslash (\), as field separator:     Command Line Field Separator.
@@ -34158,7 +34170,7 @@ Index
 * case sensitivity, example programs:    Library Functions.   (line  53)
 * case sensitivity, gawk:                Case-sensitivity.    (line  26)
 * case sensitivity, regexps and:         Case-sensitivity.    (line   6)
-* CGI, awk scripts for:                  Options.             (line 146)
+* CGI, awk scripts for:                  Options.             (line 147)
 * character classes, See bracket expressions: Regexp Operators.
                                                               (line  56)
 * character lists in regular expression: Bracket Expressions. (line   6)
@@ -34216,7 +34228,7 @@ Index
 * command line, invoking awk from:       Command Line.        (line   6)
 * command line, option -f:               Long.                (line  12)
 * command line, options:                 Options.             (line   6)
-* command line, options, end of:         Options.             (line  58)
+* command line, options, end of:         Options.             (line  59)
 * command line, variables, assigning on: Assignment Options.  (line   6)
 * command-line options, processing:      Getopt Function.     (line   6)
 * command-line options, string extraction: String Extraction. (line   6)
@@ -34252,7 +34264,7 @@ Index
                                                               (line  59)
 * compatibility mode (gawk), octal numbers: Nondecimal-numbers.
                                                               (line  59)
-* compatibility mode (gawk), specifying: Options.             (line  85)
+* compatibility mode (gawk), specifying: Options.             (line  86)
 * compiled programs:                     Basic High Level.    (line  13)
 * compiled programs <1>:                 Glossary.            (line 216)
 * compiling gawk for Cygwin:             Cygwin.              (line   6)
@@ -34310,7 +34322,7 @@ Index
 * cosine:                                Numeric Functions.   (line  16)
 * counting:                              Wc Program.          (line   6)
 * csh utility:                           Statements/Lines.    (line  43)
-* csh utility, POSIXLY_CORRECT environment variable: Options. (line 381)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 383)
 * csh utility, |& operator, comparison with: Two-way I/O.     (line  27)
 * ctime() user-defined function:         Function Example.    (line  74)
 * Curreli, Marco:                        Contributors.        (line 147)
@@ -34504,7 +34516,7 @@ Index
 * debugger, read commands from a file:   Debugger Info.       (line  97)
 * debugging awk programs:                Debugger.            (line   6)
 * debugging gawk, bug reports:           Bugs.                (line   9)
-* decimal point character, locale specific: Options.          (line 292)
+* decimal point character, locale specific: Options.          (line 294)
 * decrement operators:                   Increment Ops.       (line  35)
 * default keyword:                       Switch Statement.    (line   6)
 * Deifik, Scott:                         Acknowledgments.     (line  60)
@@ -34626,7 +34638,7 @@ Index
 * down debugger command:                 Execution Stack.     (line  23)
 * Drepper, Ulrich:                       Acknowledgments.     (line  52)
 * Duman, Patrice:                        Acknowledgments.     (line  75)
-* dump all variables of a program:       Options.             (line  97)
+* dump all variables of a program:       Options.             (line  98)
 * dump debugger command:                 Miscellaneous Debugger Commands.
                                                               (line   9)
 * dupword.awk program:                   Dupword Program.     (line  31)
@@ -34857,7 +34869,7 @@ Index
 * files, /inet6/... (gawk):              TCP/IP Networking.   (line   6)
 * files, awk programs in:                Long.                (line   6)
 * files, awkprof.out:                    Profiling.           (line   6)
-* files, awkvars.out:                    Options.             (line  97)
+* files, awkvars.out:                    Options.             (line  98)
 * files, closing:                        I/O Functions.       (line  10)
 * files, descriptors, See file descriptors: Special FD.       (line   6)
 * files, group:                          Group Functions.     (line   6)
@@ -34884,7 +34896,7 @@ Index
 * files, portable object template:       Explaining gettext.  (line  31)
 * files, portable object, converting to message object files: I18N Example.
                                                               (line  66)
-* files, portable object, generating:    Options.             (line 168)
+* files, portable object, generating:    Options.             (line 169)
 * files, processing, ARGIND variable and: Auto-set.           (line  50)
 * files, reading:                        Rewind Function.     (line   6)
 * files, reading, multiline records:     Multiple Line.       (line   6)
@@ -34954,7 +34966,7 @@ Index
 * FS variable, --field-separator option and: Options.         (line  21)
 * FS variable, as null string:           Single Character Fields.
                                                               (line  20)
-* FS variable, as TAB character:         Options.             (line 289)
+* FS variable, as TAB character:         Options.             (line 291)
 * FS variable, changing value of:        Field Separators.    (line  34)
 * FS variable, running awk programs and: Cut Program.         (line  63)
 * FS variable, setting from command line: Command Line Field Separator.
@@ -35044,7 +35056,7 @@ Index
 * gawk, ERRNO variable in <3>:           Auto-set.            (line  87)
 * gawk, ERRNO variable in <4>:           TCP/IP Networking.   (line  54)
 * gawk, escape sequences:                Escape Sequences.    (line 121)
-* gawk, extensions, disabling:           Options.             (line 280)
+* gawk, extensions, disabling:           Options.             (line 282)
 * gawk, features, adding:                Adding Code.         (line   6)
 * gawk, features, advanced:              Advanced Features.   (line   6)
 * gawk, field separators and:            User-modified.       (line  74)
@@ -35106,7 +35118,7 @@ Index
 * gawk, TEXTDOMAIN variable in:          User-modified.       (line 155)
 * gawk, timestamps:                      Time Functions.      (line   6)
 * gawk, uses for:                        Preface.             (line  34)
-* gawk, versions of, information about, printing: Options.    (line 327)
+* gawk, versions of, information about, printing: Options.    (line 329)
 * gawk, VMS version of:                  VMS Installation.    (line   6)
 * gawk, word-boundary operator:          GNU Regexp Operators.
                                                               (line  66)
@@ -35185,7 +35197,7 @@ Index
 * GNU Lesser General Public License:     Glossary.            (line 489)
 * GNU long options:                      Command Line.        (line  13)
 * GNU long options <1>:                  Options.             (line   6)
-* GNU long options, printing list of:    Options.             (line 175)
+* GNU long options, printing list of:    Options.             (line 176)
 * GNU Project:                           Manual History.      (line  11)
 * GNU Project <1>:                       Glossary.            (line 403)
 * GNU/Linux:                             Manual History.      (line  28)
@@ -35196,7 +35208,7 @@ Index
 * Gordon, Assaf:                         Contributors.        (line 108)
 * GPL (General Public License):          Manual History.      (line  11)
 * GPL (General Public License) <1>:      Glossary.            (line 394)
-* GPL (General Public License), printing: Options.            (line  92)
+* GPL (General Public License), printing: Options.            (line  93)
 * grcat program:                         Group Functions.     (line  16)
 * Grigera, Juan:                         Contributors.        (line  58)
 * group database, reading:               Group Functions.     (line   6)
@@ -35222,7 +35234,7 @@ Index
 * help debugger command:                 Miscellaneous Debugger Commands.
                                                               (line  67)
 * hexadecimal numbers:                   Nondecimal-numbers.  (line   6)
-* hexadecimal values, enabling interpretation of: Options.    (line 233)
+* hexadecimal values, enabling interpretation of: Options.    (line 235)
 * history expansion, in debugger:        Readline Support.    (line   6)
 * histsort.awk program:                  History Sorting.     (line  25)
 * Hughes, Phil:                          Acknowledgments.     (line  43)
@@ -35233,7 +35245,7 @@ Index
 * hyphen (-), -- operator <1>:           Precedence.          (line  45)
 * hyphen (-), -= operator:               Assignment Ops.      (line 129)
 * hyphen (-), -= operator <1>:           Precedence.          (line  94)
-* hyphen (-), filenames beginning with:  Options.             (line  63)
+* hyphen (-), filenames beginning with:  Options.             (line  64)
 * hyphen (-), in bracket expressions:    Bracket Expressions. (line  25)
 * i debugger command (alias for info):   Debugger Info.       (line  13)
 * id utility:                            Id Program.          (line   6)
@@ -35435,9 +35447,9 @@ Index
 * lint checking, array subscripts:       Uninitialized Subscripts.
                                                               (line  43)
 * lint checking, empty programs:         Command Line.        (line  16)
-* lint checking, issuing warnings:       Options.             (line 208)
+* lint checking, issuing warnings:       Options.             (line 210)
 * lint checking, POSIXLY_CORRECT environment variable: Options.
-                                                              (line 366)
+                                                              (line 368)
 * lint checking, undefined functions:    Pass By Value/Reference.
                                                               (line  85)
 * LINT variable:                         User-modified.       (line  90)
@@ -35450,10 +35462,10 @@ Index
 * list function definitions, in debugger: Debugger Info.      (line  30)
 * loading extensions, @load directive:   Loading Shared Libraries.
                                                               (line   8)
-* loading, extensions:                   Options.             (line 196)
+* loading, extensions:                   Options.             (line 198)
 * local variables, in a function:        Variable Scope.      (line   6)
 * locale categories:                     Explaining gettext.  (line  81)
-* locale decimal point character:        Options.             (line 292)
+* locale decimal point character:        Options.             (line 294)
 * locale, definition of:                 Locales.             (line   6)
 * localization:                          I18N and L10N.       (line   6)
 * localization, See internationalization, localization: I18N and L10N.
@@ -35536,7 +35548,7 @@ Index
 * networks, programming:                 TCP/IP Networking.   (line   6)
 * networks, support for:                 Special Network.     (line   6)
 * newlines:                              Statements/Lines.    (line   6)
-* newlines <1>:                          Options.             (line 286)
+* newlines <1>:                          Options.             (line 288)
 * newlines <2>:                          Boolean Ops.         (line  69)
 * newlines, as record separators:        awk split records.   (line  12)
 * newlines, in dynamic regexps:          Computed Regexps.    (line  60)
@@ -35611,7 +35623,7 @@ Index
 * o debugger command (alias for option): Debugger Info.       (line  57)
 * obsolete features:                     Obsolete.            (line   6)
 * octal numbers:                         Nondecimal-numbers.  (line   6)
-* octal values, enabling interpretation of: Options.          (line 233)
+* octal values, enabling interpretation of: Options.          (line 235)
 * OFMT variable:                         OFMT.                (line  15)
 * OFMT variable <1>:                     Strings And Numbers. (line  56)
 * OFMT variable <2>:                     User-modified.       (line 107)
@@ -35659,13 +35671,13 @@ Index
                                                               (line  66)
 * option debugger command:               Debugger Info.       (line  57)
 * options, command-line:                 Options.             (line   6)
-* options, command-line, end of:         Options.             (line  58)
+* options, command-line, end of:         Options.             (line  59)
 * options, command-line, invoking awk:   Command Line.        (line   6)
 * options, command-line, processing:     Getopt Function.     (line   6)
 * options, deprecated:                   Obsolete.            (line   6)
 * options, long:                         Command Line.        (line  13)
 * options, long <1>:                     Options.             (line   6)
-* options, printing list of:             Options.             (line 175)
+* options, printing list of:             Options.             (line 176)
 * or:                                    Bitwise Functions.   (line  50)
 * OR bitwise operation:                  Bitwise Functions.   (line   6)
 * or Boolean-logic operator:             Boolean Ops.         (line   6)
@@ -35764,13 +35776,13 @@ Index
 * portability, NF variable, decrementing: Changing Fields.    (line 115)
 * portability, operators:                Increment Ops.       (line  60)
 * portability, operators, not in POSIX awk: Precedence.       (line  97)
-* portability, POSIXLY_CORRECT environment variable: Options. (line 386)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 388)
 * portability, substr() function:        String Functions.    (line 518)
 * portable object files:                 Explaining gettext.  (line  37)
 * portable object files <1>:             Translator i18n.     (line   6)
 * portable object files, converting to message object files: I18N Example.
                                                               (line  66)
-* portable object files, generating:     Options.             (line 168)
+* portable object files, generating:     Options.             (line 169)
 * portable object template files:        Explaining gettext.  (line  31)
 * porting gawk:                          New Ports.           (line   6)
 * positional specifiers, printf statement: Format Modifiers.  (line  13)
@@ -35812,18 +35824,18 @@ Index
 * POSIX awk, regular expressions and:    Regexp Operators.    (line 161)
 * POSIX awk, timestamps and:             Time Functions.      (line   6)
 * POSIX awk, | I/O operator and:         Getline/Pipe.        (line  56)
-* POSIX mode:                            Options.             (line 280)
-* POSIX mode <1>:                        Options.             (line 366)
+* POSIX mode:                            Options.             (line 282)
+* POSIX mode <1>:                        Options.             (line 368)
 * POSIX, awk and:                        Preface.             (line  21)
 * POSIX, gawk extensions not included in: POSIX/GNU.          (line   6)
 * POSIX, programs, implementing in awk:  Clones.              (line   6)
-* POSIXLY_CORRECT environment variable:  Options.             (line 366)
+* POSIXLY_CORRECT environment variable:  Options.             (line 368)
 * PREC variable:                         User-modified.       (line 127)
 * precedence:                            Increment Ops.       (line  60)
 * precedence <1>:                        Precedence.          (line   6)
 * precedence, regexp operators:          Regexp Operators.    (line 156)
 * predefined variables:                  Built-in Variables.  (line   6)
-* predefined variables, -v option, setting with: Options.     (line  44)
+* predefined variables, -v option, setting with: Options.     (line  45)
 * predefined variables, conveying information: Auto-set.      (line   6)
 * predefined variables, user-modifiable: User-modified.       (line   6)
 * print debugger command:                Viewing And Changing Data.
@@ -35859,7 +35871,7 @@ Index
 * printf statement, syntax of:           Basic Printf.        (line   6)
 * printing:                              Printing.            (line   6)
 * printing messages from extensions:     Printing Messages.   (line   6)
-* printing, list of options:             Options.             (line 175)
+* printing, list of options:             Options.             (line 176)
 * printing, mailing labels:              Labels Program.      (line   6)
 * printing, unduplicated lines of text:  Uniq Program.        (line   6)
 * printing, user information:            Id Program.          (line   6)
@@ -36001,7 +36013,7 @@ Index
                                                               (line  60)
 * regular expressions, gawk, command-line options: GNU Regexp Operators.
                                                               (line  73)
-* regular expressions, interval expressions and: Options.     (line 301)
+* regular expressions, interval expressions and: Options.     (line 303)
 * regular expressions, leftmost longest match: Leftmost Longest.
                                                               (line   6)
 * regular expressions, operators:        Regexp Usage.        (line  19)
@@ -36085,7 +36097,7 @@ Index
                                                               (line  68)
 * sample debugging session:              Sample Debugging Session.
                                                               (line   6)
-* sandbox mode:                          Options.             (line 313)
+* sandbox mode:                          Options.             (line 315)
 * save debugger options:                 Debugger Info.       (line  85)
 * scalar or array:                       Type Functions.      (line  11)
 * scalar values:                         Basic Data Typing.   (line  13)
@@ -36251,7 +36263,7 @@ Index
 * source code, jawk:                     Other Versions.      (line 121)
 * source code, libmawk:                  Other Versions.      (line 129)
 * source code, mawk:                     Other Versions.      (line  39)
-* source code, mixing:                   Options.             (line 120)
+* source code, mixing:                   Options.             (line 121)
 * source code, pawk:                     Other Versions.      (line  78)
 * source code, pawk (Python version):    Other Versions.      (line 133)
 * source code, QSE awk:                  Other Versions.      (line 139)
@@ -36413,7 +36425,7 @@ Index
 * translate string:                      I18N Functions.      (line  21)
 * translate.awk program:                 Translate Program.   (line  55)
 * treating files, as single records:     gawk split records.  (line  92)
-* troubleshooting, --non-decimal-data option: Options.        (line 233)
+* troubleshooting, --non-decimal-data option: Options.        (line 235)
 * troubleshooting, == operator:          Comparison Operators.
                                                               (line  37)
 * troubleshooting, awk uses FS not IFS:  Field Separators.    (line  29)
@@ -36444,7 +36456,7 @@ Index
 * troubleshooting, substr() function:    String Functions.    (line 505)
 * troubleshooting, system() function:    I/O Functions.       (line 128)
 * troubleshooting, typographical errors, global variables: Options.
-                                                              (line 102)
+                                                              (line 103)
 * true, logical:                         Truth Values.        (line   6)
 * Trueman, David:                        History.             (line  30)
 * Trueman, David <1>:                    Acknowledgments.     (line  47)
@@ -36515,14 +36527,14 @@ Index
 * variables, getline command into, using <3>: Getline/Variable/Coprocess.
                                                               (line   6)
 * variables, global, for library functions: Library Names.    (line  11)
-* variables, global, printing list of:   Options.             (line  97)
+* variables, global, printing list of:   Options.             (line  98)
 * variables, initializing:               Using Variables.     (line  23)
 * variables, local to a function:        Variable Scope.      (line   6)
 * variables, predefined:                 Built-in Variables.  (line   6)
-* variables, predefined -v option, setting with: Options.     (line  44)
+* variables, predefined -v option, setting with: Options.     (line  45)
 * variables, predefined conveying information: Auto-set.      (line   6)
 * variables, private:                    Library Names.       (line  11)
-* variables, setting:                    Options.             (line  35)
+* variables, setting:                    Options.             (line  36)
 * variables, shadowing:                  Definition Syntax.   (line  77)
 * variables, types of:                   Assignment Ops.      (line  39)
 * variables, types of, comparison expressions and: Typing and Comparison.
@@ -36554,7 +36566,7 @@ Index
 * Wall, Larry:                           Array Intro.         (line   6)
 * Wall, Larry <1>:                       Future Extensions.   (line   6)
 * Wallin, Anders:                        Contributors.        (line 106)
-* warnings, issuing:                     Options.             (line 208)
+* warnings, issuing:                     Options.             (line 210)
 * watch debugger command:                Viewing And Changing Data.
                                                               (line  66)
 * watchpoint:                            Debugging Terms.     (line  42)
@@ -36570,7 +36582,7 @@ Index
 * whitespace, as field separators:       Default Field Splitting.
                                                               (line   6)
 * whitespace, functions, calling:        Calling Built-in.    (line  10)
-* whitespace, newlines as:               Options.             (line 286)
+* whitespace, newlines as:               Options.             (line 288)
 * Williams, Kent:                        Contributors.        (line  35)
 * Woehlke, Matthew:                      Contributors.        (line  82)
 * Woods, John:                           Contributors.        (line  28)
@@ -36640,551 +36652,552 @@ Node: Intro Summary116077
 Node: Invoking Gawk116961
 Node: Command Line118475
 Node: Options119273
-Ref: Options-Footnote-1136312
-Ref: Options-Footnote-2136543
-Node: Other Arguments136568
-Node: Naming Standard Input139515
-Node: Environment Variables140608
-Node: AWKPATH Variable141166
-Ref: AWKPATH Variable-Footnote-1144578
-Ref: AWKPATH Variable-Footnote-2144612
-Node: AWKLIBPATH Variable144873
-Node: Other Environment Variables146531
-Node: Exit Status150352
-Node: Include Files151029
-Node: Loading Shared Libraries154707
-Node: Obsolete156135
-Node: Undocumented156827
-Node: Invoking Summary157124
-Node: Regexp158784
-Node: Regexp Usage160238
-Node: Escape Sequences162275
-Node: Regexp Operators168507
-Ref: Regexp Operators-Footnote-1175923
-Ref: Regexp Operators-Footnote-2176070
-Node: Bracket Expressions176168
-Ref: table-char-classes178644
-Node: Leftmost Longest181970
-Node: Computed Regexps183273
-Node: GNU Regexp Operators186700
-Node: Case-sensitivity190379
-Ref: Case-sensitivity-Footnote-1193266
-Ref: Case-sensitivity-Footnote-2193501
-Node: Regexp Summary193609
-Node: Reading Files195075
-Node: Records197344
-Node: awk split records198419
-Node: gawk split records203694
-Ref: gawk split records-Footnote-1208280
-Node: Fields208317
-Node: Nonconstant Fields211058
-Ref: Nonconstant Fields-Footnote-1213294
-Node: Changing Fields213498
-Node: Field Separators219529
-Node: Default Field Splitting222227
-Node: Regexp Field Splitting223345
-Node: Single Character Fields226698
-Node: Command Line Field Separator227758
-Node: Full Line Fields230976
-Ref: Full Line Fields-Footnote-1232498
-Ref: Full Line Fields-Footnote-2232544
-Node: Field Splitting Summary232645
-Node: Constant Size234719
-Node: Fixed width data235451
-Node: Skipping intervening238918
-Node: Allowing trailing data239716
-Node: Fields with fixed data240753
-Node: Splitting By Content242271
-Ref: Splitting By Content-Footnote-1245921
-Node: Testing field creation246084
-Node: Multiple Line247709
-Ref: Multiple Line-Footnote-1253593
-Node: Getline253772
-Node: Plain Getline256241
-Node: Getline/Variable258882
-Node: Getline/File260033
-Node: Getline/Variable/File261421
-Ref: Getline/Variable/File-Footnote-1263026
-Node: Getline/Pipe263114
-Node: Getline/Variable/Pipe265821
-Node: Getline/Coprocess266956
-Node: Getline/Variable/Coprocess268223
-Node: Getline Notes268965
-Node: Getline Summary271762
-Ref: table-getline-variants272186
-Node: Read Timeout272934
-Ref: Read Timeout-Footnote-1276840
-Node: Retrying Input276898
-Node: Command-line directories278097
-Node: Input Summary279003
-Node: Input Exercises282175
-Node: Printing282903
-Node: Print284737
-Node: Print Examples286194
-Node: Output Separators288974
-Node: OFMT290991
-Node: Printf292347
-Node: Basic Printf293132
-Node: Control Letters294706
-Node: Format Modifiers299868
-Node: Printf Examples305883
-Node: Redirection308369
-Node: Special FD315210
-Ref: Special FD-Footnote-1318378
-Node: Special Files318452
-Node: Other Inherited Files319069
-Node: Special Network320070
-Node: Special Caveats320930
-Node: Close Files And Pipes321879
-Ref: table-close-pipe-return-values328786
-Ref: Close Files And Pipes-Footnote-1329599
-Ref: Close Files And Pipes-Footnote-2329747
-Node: Nonfatal329899
-Node: Output Summary332237
-Node: Output Exercises333459
-Node: Expressions334138
-Node: Values335326
-Node: Constants336004
-Node: Scalar Constants336695
-Ref: Scalar Constants-Footnote-1339220
-Node: Nondecimal-numbers339470
-Node: Regexp Constants342471
-Node: Using Constant Regexps342997
-Node: Standard Regexp Constants343619
-Node: Strong Regexp Constants346807
-Node: Variables349765
-Node: Using Variables350422
-Node: Assignment Options352332
-Node: Conversion354799
-Node: Strings And Numbers355323
-Ref: Strings And Numbers-Footnote-1358386
-Node: Locale influences conversions358495
-Ref: table-locale-affects361253
-Node: All Operators361871
-Node: Arithmetic Ops362500
-Node: Concatenation365006
-Ref: Concatenation-Footnote-1367853
-Node: Assignment Ops367960
-Ref: table-assign-ops372951
-Node: Increment Ops374264
-Node: Truth Values and Conditions377724
-Node: Truth Values378798
-Node: Typing and Comparison379846
-Node: Variable Typing380666
-Ref: Variable Typing-Footnote-1387129
-Ref: Variable Typing-Footnote-2387201
-Node: Comparison Operators387278
-Ref: table-relational-ops387697
-Node: POSIX String Comparison391192
-Ref: POSIX String Comparison-Footnote-1392887
-Ref: POSIX String Comparison-Footnote-2393026
-Node: Boolean Ops393110
-Ref: Boolean Ops-Footnote-1397592
-Node: Conditional Exp397684
-Node: Function Calls399420
-Node: Precedence403297
-Node: Locales406956
-Node: Expressions Summary408588
-Node: Patterns and Actions411161
-Node: Pattern Overview412281
-Node: Regexp Patterns413958
-Node: Expression Patterns414500
-Node: Ranges418281
-Node: BEGIN/END421389
-Node: Using BEGIN/END422150
-Ref: Using BEGIN/END-Footnote-1424886
-Node: I/O And BEGIN/END424992
-Node: BEGINFILE/ENDFILE427306
-Node: Empty430219
-Node: Using Shell Variables430536
-Node: Action Overview432810
-Node: Statements435135
-Node: If Statement436983
-Node: While Statement438478
-Node: Do Statement440506
-Node: For Statement441654
-Node: Switch Statement444825
-Node: Break Statement447211
-Node: Continue Statement449303
-Node: Next Statement451130
-Node: Nextfile Statement453513
-Node: Exit Statement456165
-Node: Built-in Variables458568
-Node: User-modified459701
-Node: Auto-set467468
-Ref: Auto-set-Footnote-1484275
-Ref: Auto-set-Footnote-2484481
-Node: ARGC and ARGV484537
-Node: Pattern Action Summary488750
-Node: Arrays491180
-Node: Array Basics492509
-Node: Array Intro493353
-Ref: figure-array-elements495328
-Ref: Array Intro-Footnote-1498032
-Node: Reference to Elements498160
-Node: Assigning Elements500624
-Node: Array Example501115
-Node: Scanning an Array502874
-Node: Controlling Scanning505896
-Ref: Controlling Scanning-Footnote-1511295
-Node: Numeric Array Subscripts511611
-Node: Uninitialized Subscripts513795
-Node: Delete515414
-Ref: Delete-Footnote-1518166
-Node: Multidimensional518223
-Node: Multiscanning521318
-Node: Arrays of Arrays522909
-Node: Arrays Summary527677
-Node: Functions529770
-Node: Built-in530808
-Node: Calling Built-in531889
-Node: Numeric Functions533885
-Ref: Numeric Functions-Footnote-1537913
-Ref: Numeric Functions-Footnote-2538270
-Ref: Numeric Functions-Footnote-3538318
-Node: String Functions538590
-Ref: String Functions-Footnote-1562448
-Ref: String Functions-Footnote-2562576
-Ref: String Functions-Footnote-3562824
-Node: Gory Details562911
-Ref: table-sub-escapes564702
-Ref: table-sub-proposed566221
-Ref: table-posix-sub567584
-Ref: table-gensub-escapes569125
-Ref: Gory Details-Footnote-1569948
-Node: I/O Functions570102
-Ref: table-system-return-values576570
-Ref: I/O Functions-Footnote-1578650
-Ref: I/O Functions-Footnote-2578798
-Node: Time Functions578918
-Ref: Time Functions-Footnote-1589589
-Ref: Time Functions-Footnote-2589657
-Ref: Time Functions-Footnote-3589815
-Ref: Time Functions-Footnote-4589926
-Ref: Time Functions-Footnote-5590038
-Ref: Time Functions-Footnote-6590265
-Node: Bitwise Functions590531
-Ref: table-bitwise-ops591125
-Ref: Bitwise Functions-Footnote-1597188
-Ref: Bitwise Functions-Footnote-2597361
-Node: Type Functions597552
-Node: I18N Functions600303
-Node: User-defined601954
-Node: Definition Syntax602759
-Ref: Definition Syntax-Footnote-1608446
-Node: Function Example608517
-Ref: Function Example-Footnote-1611439
-Node: Function Caveats611461
-Node: Calling A Function611979
-Node: Variable Scope612937
-Node: Pass By Value/Reference615931
-Node: Return Statement619430
-Node: Dynamic Typing622409
-Node: Indirect Calls623339
-Ref: Indirect Calls-Footnote-1633591
-Node: Functions Summary633719
-Node: Library Functions636424
-Ref: Library Functions-Footnote-1640031
-Ref: Library Functions-Footnote-2640174
-Node: Library Names640345
-Ref: Library Names-Footnote-1644021
-Ref: Library Names-Footnote-2644244
-Node: General Functions644330
-Node: Strtonum Function645433
-Node: Assert Function648455
-Node: Round Function651781
-Node: Cliff Random Function653321
-Node: Ordinal Functions654337
-Ref: Ordinal Functions-Footnote-1657400
-Ref: Ordinal Functions-Footnote-2657652
-Node: Join Function657862
-Ref: Join Function-Footnote-1659632
-Node: Getlocaltime Function659832
-Node: Readfile Function663574
-Node: Shell Quoting665551
-Node: Data File Management666952
-Node: Filetrans Function667584
-Node: Rewind Function671680
-Node: File Checking673590
-Ref: File Checking-Footnote-1674924
-Node: Empty Files675125
-Node: Ignoring Assigns677104
-Node: Getopt Function678654
-Ref: Getopt Function-Footnote-1690123
-Node: Passwd Functions690323
-Ref: Passwd Functions-Footnote-1699162
-Node: Group Functions699250
-Ref: Group Functions-Footnote-1707148
-Node: Walking Arrays707355
-Node: Library Functions Summary710363
-Node: Library Exercises711769
-Node: Sample Programs712234
-Node: Running Examples713004
-Node: Clones713732
-Node: Cut Program714956
-Node: Egrep Program724885
-Ref: Egrep Program-Footnote-1732397
-Node: Id Program732507
-Node: Split Program736187
-Ref: Split Program-Footnote-1739645
-Node: Tee Program739774
-Node: Uniq Program742564
-Node: Wc Program749990
-Ref: Wc Program-Footnote-1754245
-Node: Miscellaneous Programs754339
-Node: Dupword Program755552
-Node: Alarm Program757582
-Node: Translate Program762437
-Ref: Translate Program-Footnote-1767002
-Node: Labels Program767272
-Ref: Labels Program-Footnote-1770623
-Node: Word Sorting770707
-Node: History Sorting774779
-Node: Extract Program776614
-Node: Simple Sed784668
-Node: Igawk Program787742
-Ref: Igawk Program-Footnote-1802073
-Ref: Igawk Program-Footnote-2802275
-Ref: Igawk Program-Footnote-3802397
-Node: Anagram Program802512
-Node: Signature Program805574
-Node: Programs Summary806821
-Node: Programs Exercises808035
-Ref: Programs Exercises-Footnote-1812164
-Node: Advanced Features812255
-Node: Nondecimal Data814245
-Node: Array Sorting815836
-Node: Controlling Array Traversal816536
-Ref: Controlling Array Traversal-Footnote-1824904
-Node: Array Sorting Functions825022
-Ref: Array Sorting Functions-Footnote-1830113
-Node: Two-way I/O830309
-Ref: Two-way I/O-Footnote-1838029
-Ref: Two-way I/O-Footnote-2838216
-Node: TCP/IP Networking838298
-Node: Profiling841416
-Node: Advanced Features Summary850421
-Node: Internationalization852265
-Node: I18N and L10N853745
-Node: Explaining gettext854432
-Ref: Explaining gettext-Footnote-1860324
-Ref: Explaining gettext-Footnote-2860509
-Node: Programmer i18n860674
-Ref: Programmer i18n-Footnote-1865623
-Node: Translator i18n865672
-Node: String Extraction866466
-Ref: String Extraction-Footnote-1867598
-Node: Printf Ordering867684
-Ref: Printf Ordering-Footnote-1870470
-Node: I18N Portability870534
-Ref: I18N Portability-Footnote-1872990
-Node: I18N Example873053
-Ref: I18N Example-Footnote-1875859
-Node: Gawk I18N875932
-Node: I18N Summary876577
-Node: Debugger877918
-Node: Debugging878921
-Node: Debugging Concepts879362
-Node: Debugging Terms881171
-Node: Awk Debugging883746
-Node: Sample Debugging Session884652
-Node: Debugger Invocation885186
-Node: Finding The Bug886572
-Node: List of Debugger Commands893050
-Node: Breakpoint Control894383
-Node: Debugger Execution Control898077
-Node: Viewing And Changing Data901439
-Node: Execution Stack904813
-Node: Debugger Info906450
-Node: Miscellaneous Debugger Commands910521
-Node: Readline Support915583
-Node: Limitations916479
-Node: Debugging Summary918588
-Node: Namespaces919867
-Node: Global Namespace920685
-Node: Qualified Names922039
-Node: Default Namespace923038
-Node: Changing The Namespace923779
-Node: Naming Rules925390
-Node: Internal Name Management927239
-Node: Namespace Example928281
-Node: Namespace And Features930843
-Node: Namespace Summary932278
-Node: Arbitrary Precision Arithmetic933755
-Node: Computer Arithmetic935242
-Ref: table-numeric-ranges939008
-Ref: table-floating-point-ranges939501
-Ref: Computer Arithmetic-Footnote-1940159
-Node: Math Definitions940216
-Ref: table-ieee-formats943532
-Ref: Math Definitions-Footnote-1944135
-Node: MPFR features944240
-Node: FP Math Caution945958
-Ref: FP Math Caution-Footnote-1947030
-Node: Inexactness of computations947399
-Node: Inexact representation948359
-Node: Comparing FP Values949719
-Node: Errors accumulate950960
-Node: Getting Accuracy952393
-Node: Try To Round955103
-Node: Setting precision956002
-Ref: table-predefined-precision-strings956699
-Node: Setting the rounding mode958529
-Ref: table-gawk-rounding-modes958903
-Ref: Setting the rounding mode-Footnote-1962834
-Node: Arbitrary Precision Integers963013
-Ref: Arbitrary Precision Integers-Footnote-1966188
-Node: Checking for MPFR966337
-Node: POSIX Floating Point Problems967811
-Ref: POSIX Floating Point Problems-Footnote-1972096
-Node: Floating point summary972134
-Node: Dynamic Extensions974324
-Node: Extension Intro975877
-Node: Plugin License977143
-Node: Extension Mechanism Outline977940
-Ref: figure-load-extension978379
-Ref: figure-register-new-function979944
-Ref: figure-call-new-function981036
-Node: Extension API Description983098
-Node: Extension API Functions Introduction984740
-Node: General Data Types990280
-Ref: General Data Types-Footnote-1998641
-Node: Memory Allocation Functions998940
-Ref: Memory Allocation Functions-Footnote-11003150
-Node: Constructor Functions1003249
-Node: Registration Functions1006835
-Node: Extension Functions1007520
-Node: Exit Callback Functions1012735
-Node: Extension Version String1013985
-Node: Input Parsers1014648
-Node: Output Wrappers1027369
-Node: Two-way processors1031881
-Node: Printing Messages1034146
-Ref: Printing Messages-Footnote-11035317
-Node: Updating ERRNO1035470
-Node: Requesting Values1036209
-Ref: table-value-types-returned1036946
-Node: Accessing Parameters1037882
-Node: Symbol Table Access1039117
-Node: Symbol table by name1039629
-Ref: Symbol table by name-Footnote-11042519
-Node: Symbol table by cookie1042647
-Ref: Symbol table by cookie-Footnote-11046832
-Node: Cached values1046896
-Ref: Cached values-Footnote-11050432
-Node: Array Manipulation1050585
-Ref: Array Manipulation-Footnote-11051676
-Node: Array Data Types1051713
-Ref: Array Data Types-Footnote-11054371
-Node: Array Functions1054463
-Node: Flattening Arrays1058961
-Node: Creating Arrays1065937
-Node: Redirection API1070704
-Node: Extension API Variables1073537
-Node: Extension Versioning1074248
-Ref: gawk-api-version1074677
-Node: Extension GMP/MPFR Versioning1076408
-Node: Extension API Informational Variables1078036
-Node: Extension API Boilerplate1079109
-Node: Changes from API V11083083
-Node: Finding Extensions1084655
-Node: Extension Example1085214
-Node: Internal File Description1086012
-Node: Internal File Ops1090092
-Ref: Internal File Ops-Footnote-11101442
-Node: Using Internal File Ops1101582
-Ref: Using Internal File Ops-Footnote-11103965
-Node: Extension Samples1104239
-Node: Extension Sample File Functions1105768
-Node: Extension Sample Fnmatch1113417
-Node: Extension Sample Fork1114904
-Node: Extension Sample Inplace1116122
-Node: Extension Sample Ord1119426
-Node: Extension Sample Readdir1120262
-Ref: table-readdir-file-types1121151
-Node: Extension Sample Revout1121956
-Node: Extension Sample Rev2way1122545
-Node: Extension Sample Read write array1123285
-Node: Extension Sample Readfile1125227
-Node: Extension Sample Time1126322
-Node: Extension Sample API Tests1127670
-Node: gawkextlib1128162
-Node: Extension summary1131080
-Node: Extension Exercises1134782
-Node: Language History1136024
-Node: V7/SVR3.11137680
-Node: SVR41139832
-Node: POSIX1141266
-Node: BTL1142646
-Node: POSIX/GNU1143375
-Node: Feature History1149153
-Node: Common Extensions1165199
-Node: Ranges and Locales1166482
-Ref: Ranges and Locales-Footnote-11171098
-Ref: Ranges and Locales-Footnote-21171125
-Ref: Ranges and Locales-Footnote-31171360
-Node: Contributors1171581
-Node: History summary1177526
-Node: Installation1178906
-Node: Gawk Distribution1179850
-Node: Getting1180334
-Node: Extracting1181297
-Node: Distribution contents1182935
-Node: Unix Installation1189415
-Node: Quick Installation1190097
-Node: Shell Startup Files1192511
-Node: Additional Configuration Options1193600
-Node: Configuration Philosophy1195765
-Node: Non-Unix Installation1198134
-Node: PC Installation1198594
-Node: PC Binary Installation1199432
-Node: PC Compiling1199867
-Node: PC Using1200984
-Node: Cygwin1204537
-Node: MSYS1205636
-Node: VMS Installation1206137
-Node: VMS Compilation1206928
-Ref: VMS Compilation-Footnote-11208157
-Node: VMS Dynamic Extensions1208215
-Node: VMS Installation Details1209900
-Node: VMS Running1212153
-Node: VMS GNV1216432
-Node: VMS Old Gawk1217167
-Node: Bugs1217638
-Node: Bug address1218301
-Node: Usenet1221283
-Node: Maintainers1222287
-Node: Other Versions1223548
-Node: Installation summary1230462
-Node: Notes1231664
-Node: Compatibility Mode1232458
-Node: Additions1233240
-Node: Accessing The Source1234165
-Node: Adding Code1235602
-Node: New Ports1241821
-Node: Derived Files1246309
-Ref: Derived Files-Footnote-11251955
-Ref: Derived Files-Footnote-21251990
-Ref: Derived Files-Footnote-31252588
-Node: Future Extensions1252702
-Node: Implementation Limitations1253360
-Node: Extension Design1254543
-Node: Old Extension Problems1255687
-Ref: Old Extension Problems-Footnote-11257205
-Node: Extension New Mechanism Goals1257262
-Ref: Extension New Mechanism Goals-Footnote-11260626
-Node: Extension Other Design Decisions1260815
-Node: Extension Future Growth1262928
-Node: Notes summary1263764
-Node: Basic Concepts1264939
-Node: Basic High Level1265620
-Ref: figure-general-flow1265902
-Ref: figure-process-flow1266587
-Ref: Basic High Level-Footnote-11269888
-Node: Basic Data Typing1270073
-Node: Glossary1273401
-Node: Copying1305239
-Node: GNU Free Documentation License1342782
-Node: Index1367902
+Ref: Options-Footnote-1136351
+Ref: Options-Footnote-2136582
+Node: Other Arguments136607
+Node: Naming Standard Input139554
+Node: Environment Variables140647
+Node: AWKPATH Variable141205
+Ref: AWKPATH Variable-Footnote-1144617
+Ref: AWKPATH Variable-Footnote-2144651
+Node: AWKLIBPATH Variable144912
+Node: Other Environment Variables146570
+Node: Exit Status150391
+Node: Include Files151068
+Node: Loading Shared Libraries154758
+Node: Obsolete156186
+Node: Undocumented156878
+Node: Invoking Summary157175
+Node: Regexp158835
+Node: Regexp Usage160289
+Node: Escape Sequences162326
+Node: Regexp Operators168558
+Ref: Regexp Operators-Footnote-1175974
+Ref: Regexp Operators-Footnote-2176121
+Node: Bracket Expressions176219
+Ref: table-char-classes178695
+Node: Leftmost Longest182021
+Node: Computed Regexps183324
+Node: GNU Regexp Operators186751
+Node: Case-sensitivity190430
+Ref: Case-sensitivity-Footnote-1193317
+Ref: Case-sensitivity-Footnote-2193552
+Node: Regexp Summary193660
+Node: Reading Files195126
+Node: Records197395
+Node: awk split records198470
+Node: gawk split records203745
+Ref: gawk split records-Footnote-1208331
+Node: Fields208368
+Node: Nonconstant Fields211109
+Ref: Nonconstant Fields-Footnote-1213345
+Node: Changing Fields213549
+Node: Field Separators219580
+Node: Default Field Splitting222278
+Node: Regexp Field Splitting223396
+Node: Single Character Fields226749
+Node: Command Line Field Separator227809
+Node: Full Line Fields231027
+Ref: Full Line Fields-Footnote-1232549
+Ref: Full Line Fields-Footnote-2232595
+Node: Field Splitting Summary232696
+Node: Constant Size234770
+Node: Fixed width data235502
+Node: Skipping intervening238969
+Node: Allowing trailing data239767
+Node: Fields with fixed data240804
+Node: Splitting By Content242322
+Ref: Splitting By Content-Footnote-1245972
+Node: Testing field creation246135
+Node: Multiple Line247760
+Ref: Multiple Line-Footnote-1253644
+Node: Getline253823
+Node: Plain Getline256292
+Node: Getline/Variable258933
+Node: Getline/File260084
+Node: Getline/Variable/File261472
+Ref: Getline/Variable/File-Footnote-1263077
+Node: Getline/Pipe263165
+Node: Getline/Variable/Pipe265872
+Node: Getline/Coprocess267007
+Node: Getline/Variable/Coprocess268274
+Node: Getline Notes269016
+Node: Getline Summary271813
+Ref: table-getline-variants272237
+Node: Read Timeout272985
+Ref: Read Timeout-Footnote-1276891
+Node: Retrying Input276949
+Node: Command-line directories278148
+Node: Input Summary279054
+Node: Input Exercises282226
+Node: Printing282954
+Node: Print284788
+Node: Print Examples286245
+Node: Output Separators289025
+Node: OFMT291042
+Node: Printf292398
+Node: Basic Printf293183
+Node: Control Letters294757
+Node: Format Modifiers299919
+Node: Printf Examples305934
+Node: Redirection308420
+Node: Special FD315261
+Ref: Special FD-Footnote-1318429
+Node: Special Files318503
+Node: Other Inherited Files319120
+Node: Special Network320121
+Node: Special Caveats320981
+Node: Close Files And Pipes321930
+Ref: table-close-pipe-return-values328837
+Ref: Close Files And Pipes-Footnote-1329650
+Ref: Close Files And Pipes-Footnote-2329798
+Node: Nonfatal329950
+Node: Output Summary332288
+Node: Output Exercises333510
+Node: Expressions334189
+Node: Values335377
+Node: Constants336055
+Node: Scalar Constants336746
+Ref: Scalar Constants-Footnote-1339271
+Node: Nondecimal-numbers339521
+Node: Regexp Constants342522
+Node: Using Constant Regexps343048
+Node: Standard Regexp Constants343670
+Node: Strong Regexp Constants346858
+Node: Variables349816
+Node: Using Variables350473
+Node: Assignment Options352383
+Node: Conversion354850
+Node: Strings And Numbers355374
+Ref: Strings And Numbers-Footnote-1358437
+Node: Locale influences conversions358546
+Ref: table-locale-affects361304
+Node: All Operators361922
+Node: Arithmetic Ops362551
+Node: Concatenation365057
+Ref: Concatenation-Footnote-1367904
+Node: Assignment Ops368011
+Ref: table-assign-ops373002
+Node: Increment Ops374315
+Node: Truth Values and Conditions377775
+Node: Truth Values378849
+Node: Typing and Comparison379897
+Node: Variable Typing380717
+Ref: Variable Typing-Footnote-1387180
+Ref: Variable Typing-Footnote-2387252
+Node: Comparison Operators387329
+Ref: table-relational-ops387748
+Node: POSIX String Comparison391243
+Ref: POSIX String Comparison-Footnote-1392938
+Ref: POSIX String Comparison-Footnote-2393077
+Node: Boolean Ops393161
+Ref: Boolean Ops-Footnote-1397643
+Node: Conditional Exp397735
+Node: Function Calls399471
+Node: Precedence403348
+Node: Locales407007
+Node: Expressions Summary408639
+Node: Patterns and Actions411212
+Node: Pattern Overview412332
+Node: Regexp Patterns414009
+Node: Expression Patterns414551
+Node: Ranges418332
+Node: BEGIN/END421440
+Node: Using BEGIN/END422201
+Ref: Using BEGIN/END-Footnote-1424937
+Node: I/O And BEGIN/END425043
+Node: BEGINFILE/ENDFILE427357
+Node: Empty430270
+Node: Using Shell Variables430587
+Node: Action Overview432861
+Node: Statements435186
+Node: If Statement437034
+Node: While Statement438529
+Node: Do Statement440557
+Node: For Statement441705
+Node: Switch Statement444876
+Node: Break Statement447262
+Node: Continue Statement449354
+Node: Next Statement451181
+Node: Nextfile Statement453564
+Node: Exit Statement456216
+Node: Built-in Variables458619
+Node: User-modified459752
+Node: Auto-set467519
+Ref: Auto-set-Footnote-1484326
+Ref: Auto-set-Footnote-2484532
+Node: ARGC and ARGV484588
+Node: Pattern Action Summary488801
+Node: Arrays491231
+Node: Array Basics492560
+Node: Array Intro493404
+Ref: figure-array-elements495379
+Ref: Array Intro-Footnote-1498083
+Node: Reference to Elements498211
+Node: Assigning Elements500675
+Node: Array Example501166
+Node: Scanning an Array502925
+Node: Controlling Scanning505947
+Ref: Controlling Scanning-Footnote-1511346
+Node: Numeric Array Subscripts511662
+Node: Uninitialized Subscripts513846
+Node: Delete515465
+Ref: Delete-Footnote-1518217
+Node: Multidimensional518274
+Node: Multiscanning521369
+Node: Arrays of Arrays522960
+Node: Arrays Summary527728
+Node: Functions529821
+Node: Built-in530859
+Node: Calling Built-in531940
+Node: Numeric Functions533936
+Ref: Numeric Functions-Footnote-1537964
+Ref: Numeric Functions-Footnote-2538321
+Ref: Numeric Functions-Footnote-3538369
+Node: String Functions538641
+Ref: String Functions-Footnote-1562499
+Ref: String Functions-Footnote-2562627
+Ref: String Functions-Footnote-3562875
+Node: Gory Details562962
+Ref: table-sub-escapes564753
+Ref: table-sub-proposed566272
+Ref: table-posix-sub567635
+Ref: table-gensub-escapes569176
+Ref: Gory Details-Footnote-1569999
+Node: I/O Functions570153
+Ref: table-system-return-values576621
+Ref: I/O Functions-Footnote-1578701
+Ref: I/O Functions-Footnote-2578849
+Node: Time Functions578969
+Ref: Time Functions-Footnote-1589640
+Ref: Time Functions-Footnote-2589708
+Ref: Time Functions-Footnote-3589866
+Ref: Time Functions-Footnote-4589977
+Ref: Time Functions-Footnote-5590089
+Ref: Time Functions-Footnote-6590316
+Node: Bitwise Functions590582
+Ref: table-bitwise-ops591176
+Ref: Bitwise Functions-Footnote-1597239
+Ref: Bitwise Functions-Footnote-2597412
+Node: Type Functions597603
+Node: I18N Functions600354
+Node: User-defined602005
+Node: Definition Syntax602810
+Ref: Definition Syntax-Footnote-1608497
+Node: Function Example608568
+Ref: Function Example-Footnote-1611490
+Node: Function Caveats611512
+Node: Calling A Function612030
+Node: Variable Scope612988
+Node: Pass By Value/Reference615982
+Node: Return Statement619481
+Node: Dynamic Typing622460
+Node: Indirect Calls623390
+Ref: Indirect Calls-Footnote-1633642
+Node: Functions Summary633770
+Node: Library Functions636475
+Ref: Library Functions-Footnote-1640082
+Ref: Library Functions-Footnote-2640225
+Node: Library Names640396
+Ref: Library Names-Footnote-1644063
+Ref: Library Names-Footnote-2644286
+Node: General Functions644372
+Node: Strtonum Function645475
+Node: Assert Function648497
+Node: Round Function651823
+Node: Cliff Random Function653363
+Node: Ordinal Functions654379
+Ref: Ordinal Functions-Footnote-1657442
+Ref: Ordinal Functions-Footnote-2657694
+Node: Join Function657904
+Ref: Join Function-Footnote-1659674
+Node: Getlocaltime Function659874
+Node: Readfile Function663616
+Node: Shell Quoting665593
+Node: Data File Management666994
+Node: Filetrans Function667626
+Node: Rewind Function671722
+Node: File Checking673632
+Ref: File Checking-Footnote-1674966
+Node: Empty Files675167
+Node: Ignoring Assigns677146
+Node: Getopt Function678696
+Ref: Getopt Function-Footnote-1690165
+Node: Passwd Functions690365
+Ref: Passwd Functions-Footnote-1699204
+Node: Group Functions699292
+Ref: Group Functions-Footnote-1707190
+Node: Walking Arrays707397
+Node: Library Functions Summary710405
+Node: Library Exercises711811
+Node: Sample Programs712276
+Node: Running Examples713046
+Node: Clones713774
+Node: Cut Program714998
+Node: Egrep Program724927
+Ref: Egrep Program-Footnote-1732439
+Node: Id Program732549
+Node: Split Program736229
+Ref: Split Program-Footnote-1739687
+Node: Tee Program739816
+Node: Uniq Program742606
+Node: Wc Program750227
+Ref: Wc Program-Footnote-1754482
+Node: Miscellaneous Programs754576
+Node: Dupword Program755789
+Node: Alarm Program757819
+Node: Translate Program762674
+Ref: Translate Program-Footnote-1767239
+Node: Labels Program767509
+Ref: Labels Program-Footnote-1770860
+Node: Word Sorting770944
+Node: History Sorting775016
+Node: Extract Program776851
+Node: Simple Sed784905
+Node: Igawk Program787979
+Ref: Igawk Program-Footnote-1802310
+Ref: Igawk Program-Footnote-2802512
+Ref: Igawk Program-Footnote-3802634
+Node: Anagram Program802749
+Node: Signature Program805811
+Node: Programs Summary807058
+Node: Programs Exercises808272
+Ref: Programs Exercises-Footnote-1812401
+Node: Advanced Features812492
+Node: Nondecimal Data814482
+Node: Array Sorting816073
+Node: Controlling Array Traversal816773
+Ref: Controlling Array Traversal-Footnote-1825141
+Node: Array Sorting Functions825259
+Ref: Array Sorting Functions-Footnote-1830350
+Node: Two-way I/O830546
+Ref: Two-way I/O-Footnote-1838266
+Ref: Two-way I/O-Footnote-2838453
+Node: TCP/IP Networking838535
+Node: Profiling841653
+Node: Advanced Features Summary850658
+Node: Internationalization852502
+Node: I18N and L10N853982
+Node: Explaining gettext854669
+Ref: Explaining gettext-Footnote-1860561
+Ref: Explaining gettext-Footnote-2860746
+Node: Programmer i18n860911
+Ref: Programmer i18n-Footnote-1865860
+Node: Translator i18n865909
+Node: String Extraction866703
+Ref: String Extraction-Footnote-1867835
+Node: Printf Ordering867921
+Ref: Printf Ordering-Footnote-1870707
+Node: I18N Portability870771
+Ref: I18N Portability-Footnote-1873227
+Node: I18N Example873290
+Ref: I18N Example-Footnote-1876096
+Node: Gawk I18N876169
+Node: I18N Summary876814
+Node: Debugger878155
+Node: Debugging879158
+Node: Debugging Concepts879599
+Node: Debugging Terms881408
+Node: Awk Debugging883983
+Node: Sample Debugging Session884889
+Node: Debugger Invocation885423
+Node: Finding The Bug886809
+Node: List of Debugger Commands893287
+Node: Breakpoint Control894620
+Node: Debugger Execution Control898314
+Node: Viewing And Changing Data901676
+Node: Execution Stack905050
+Node: Debugger Info906687
+Node: Miscellaneous Debugger Commands910758
+Node: Readline Support915820
+Node: Limitations916716
+Node: Debugging Summary918825
+Node: Namespaces920104
+Node: Global Namespace920922
+Node: Qualified Names922268
+Node: Default Namespace923267
+Node: Changing The Namespace924008
+Node: Naming Rules925622
+Node: Internal Name Management927470
+Node: Namespace Example928512
+Node: Namespace And Features931074
+Node: Namespace Summary932509
+Node: Arbitrary Precision Arithmetic933986
+Node: Computer Arithmetic935473
+Ref: table-numeric-ranges939239
+Ref: table-floating-point-ranges939732
+Ref: Computer Arithmetic-Footnote-1940390
+Node: Math Definitions940447
+Ref: table-ieee-formats943763
+Ref: Math Definitions-Footnote-1944366
+Node: MPFR features944471
+Node: FP Math Caution946189
+Ref: FP Math Caution-Footnote-1947261
+Node: Inexactness of computations947630
+Node: Inexact representation948590
+Node: Comparing FP Values949950
+Node: Errors accumulate951191
+Node: Getting Accuracy952624
+Node: Try To Round955334
+Node: Setting precision956233
+Ref: table-predefined-precision-strings956930
+Node: Setting the rounding mode958760
+Ref: table-gawk-rounding-modes959134
+Ref: Setting the rounding mode-Footnote-1963065
+Node: Arbitrary Precision Integers963244
+Ref: Arbitrary Precision Integers-Footnote-1966419
+Node: Checking for MPFR966568
+Node: POSIX Floating Point Problems968042
+Ref: POSIX Floating Point Problems-Footnote-1972327
+Node: Floating point summary972365
+Node: Dynamic Extensions974555
+Node: Extension Intro976108
+Node: Plugin License977374
+Node: Extension Mechanism Outline978171
+Ref: figure-load-extension978610
+Ref: figure-register-new-function980175
+Ref: figure-call-new-function981267
+Node: Extension API Description983329
+Node: Extension API Functions Introduction984971
+Ref: table-api-std-headers986807
+Node: General Data Types990672
+Ref: General Data Types-Footnote-1999033
+Node: Memory Allocation Functions999332
+Ref: Memory Allocation Functions-Footnote-11003542
+Node: Constructor Functions1003641
+Node: Registration Functions1007227
+Node: Extension Functions1007912
+Node: Exit Callback Functions1013127
+Node: Extension Version String1014377
+Node: Input Parsers1015040
+Node: Output Wrappers1027761
+Node: Two-way processors1032273
+Node: Printing Messages1034538
+Ref: Printing Messages-Footnote-11035709
+Node: Updating ERRNO1035862
+Node: Requesting Values1036601
+Ref: table-value-types-returned1037338
+Node: Accessing Parameters1038274
+Node: Symbol Table Access1039509
+Node: Symbol table by name1040021
+Ref: Symbol table by name-Footnote-11043044
+Node: Symbol table by cookie1043172
+Ref: Symbol table by cookie-Footnote-11047357
+Node: Cached values1047421
+Ref: Cached values-Footnote-11050957
+Node: Array Manipulation1051110
+Ref: Array Manipulation-Footnote-11052201
+Node: Array Data Types1052238
+Ref: Array Data Types-Footnote-11054896
+Node: Array Functions1054988
+Node: Flattening Arrays1059486
+Node: Creating Arrays1066462
+Node: Redirection API1071229
+Node: Extension API Variables1074062
+Node: Extension Versioning1074773
+Ref: gawk-api-version1075202
+Node: Extension GMP/MPFR Versioning1076933
+Node: Extension API Informational Variables1078561
+Node: Extension API Boilerplate1079634
+Node: Changes from API V11083608
+Node: Finding Extensions1085180
+Node: Extension Example1085739
+Node: Internal File Description1086537
+Node: Internal File Ops1090617
+Ref: Internal File Ops-Footnote-11101967
+Node: Using Internal File Ops1102107
+Ref: Using Internal File Ops-Footnote-11104490
+Node: Extension Samples1104764
+Node: Extension Sample File Functions1106293
+Node: Extension Sample Fnmatch1113942
+Node: Extension Sample Fork1115429
+Node: Extension Sample Inplace1116647
+Node: Extension Sample Ord1119951
+Node: Extension Sample Readdir1120787
+Ref: table-readdir-file-types1121676
+Node: Extension Sample Revout1122481
+Node: Extension Sample Rev2way1123070
+Node: Extension Sample Read write array1123810
+Node: Extension Sample Readfile1125752
+Node: Extension Sample Time1126847
+Node: Extension Sample API Tests1128195
+Node: gawkextlib1128687
+Node: Extension summary1131605
+Node: Extension Exercises1135307
+Node: Language History1136549
+Node: V7/SVR3.11138205
+Node: SVR41140357
+Node: POSIX1141791
+Node: BTL1143171
+Node: POSIX/GNU1143900
+Node: Feature History1149678
+Node: Common Extensions1165724
+Node: Ranges and Locales1167007
+Ref: Ranges and Locales-Footnote-11171623
+Ref: Ranges and Locales-Footnote-21171650
+Ref: Ranges and Locales-Footnote-31171885
+Node: Contributors1172106
+Node: History summary1178051
+Node: Installation1179431
+Node: Gawk Distribution1180375
+Node: Getting1180859
+Node: Extracting1181822
+Node: Distribution contents1183460
+Node: Unix Installation1189940
+Node: Quick Installation1190622
+Node: Shell Startup Files1193036
+Node: Additional Configuration Options1194125
+Node: Configuration Philosophy1196290
+Node: Non-Unix Installation1198659
+Node: PC Installation1199119
+Node: PC Binary Installation1199957
+Node: PC Compiling1200392
+Node: PC Using1201509
+Node: Cygwin1205062
+Node: MSYS1206161
+Node: VMS Installation1206662
+Node: VMS Compilation1207453
+Ref: VMS Compilation-Footnote-11208682
+Node: VMS Dynamic Extensions1208740
+Node: VMS Installation Details1210425
+Node: VMS Running1212678
+Node: VMS GNV1216957
+Node: VMS Old Gawk1217692
+Node: Bugs1218163
+Node: Bug address1218826
+Node: Usenet1221808
+Node: Maintainers1222812
+Node: Other Versions1224073
+Node: Installation summary1230987
+Node: Notes1232189
+Node: Compatibility Mode1232983
+Node: Additions1233765
+Node: Accessing The Source1234690
+Node: Adding Code1236127
+Node: New Ports1242346
+Node: Derived Files1246834
+Ref: Derived Files-Footnote-11252480
+Ref: Derived Files-Footnote-21252515
+Ref: Derived Files-Footnote-31253113
+Node: Future Extensions1253227
+Node: Implementation Limitations1253885
+Node: Extension Design1255068
+Node: Old Extension Problems1256212
+Ref: Old Extension Problems-Footnote-11257730
+Node: Extension New Mechanism Goals1257787
+Ref: Extension New Mechanism Goals-Footnote-11261151
+Node: Extension Other Design Decisions1261340
+Node: Extension Future Growth1263453
+Node: Notes summary1264289
+Node: Basic Concepts1265464
+Node: Basic High Level1266145
+Ref: figure-general-flow1266427
+Ref: figure-process-flow1267112
+Ref: Basic High Level-Footnote-11270413
+Node: Basic Data Typing1270598
+Node: Glossary1273926
+Node: Copying1305764
+Node: GNU Free Documentation License1343307
+Node: Index1368427
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 989e909..f3c2141 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3839,7 +3839,7 @@ program consists of the concatenation of the contents of
 each specified @var{source-file}.
 
 Files named with @option{-i} are treated as if they had @samp{@@namespace 
"awk"}
-at their beginning. @xref{Namespaces}, for more information.
+at their beginning. @xref{Changing The Namespace}, for more information.
 
 @item -v @address@hidden
 @itemx --assign @address@hidden
@@ -3986,7 +3986,7 @@ a newline character (even if it doesn't). This makes 
building
 the total program easier.
 
 @quotation CAUTION
-Prior to @value{PVERSION} @strong{FIXME} 5.0, there was
+Prior to @value{PVERSION} 5.0, there was
 no requirement that each @var{program-text}
 be a full syntactic unit. I.e., the following worked:
 
@@ -4000,8 +4000,8 @@ However, this is no longer true. If you have any scripts 
that
 rely upon this feature, you should revise them.
 
 This is because each @var{program-text} is treated as if it had
address@hidden@@namespace "awk"} at its beginning. @xref{Namespaces}, for more
-information.
address@hidden@@namespace "awk"} at its beginning. @xref{Changing The 
Namespace},
+for more information.
 @end quotation
 
 @item @option{-E} @var{file}
@@ -4081,7 +4081,7 @@ still expects to find the main source code via the 
@option{-f} option
 or on the command line.
 
 Files named with @option{-i} are treated as if they had @samp{@@namespace 
"awk"}
-at their beginning. @xref{Namespaces}, for more information.
+at their beginning.  @xref{Changing The Namespace}, for more information.
 
 @item @option{-l} @var{ext}
 @itemx @option{--load} @var{ext}
@@ -4871,7 +4871,7 @@ apply to files loaded with @code{@@include}.
 
 Finally, files included with @code{@@include}
 are treated as if they had @samp{@@namespace "awk"}
-at their beginning. @xref{Namespaces}, for more information.
+at their beginning.  @xref{Changing The Namespace}, for more information.
 
 @node Loading Shared Libraries
 @section Loading Dynamic Extensions into Your Program
@@ -21838,7 +21838,7 @@ The conventions presented in this @value{SECTION} are 
exactly
 that: conventions. You are not required to write your programs this
 way---we merely recommend that you do so.
 
-Beginning with version @strong{FIXME} 5.0, @command{gawk} provides
+Beginning with version 5.0, @command{gawk} provides
 a powerful mechanism for solving the problems described in this
 section: @dfn{namespaces}.  Namespaces and their use are described
 in detail in @ref{Namespaces}.
@@ -25741,12 +25741,9 @@ END @{
 @c endfile
 @end example
 
address@hidden FIXME: Include this?
address@hidden
-This program does not follow our recommended convention of naming
+As a side note, this program does not follow our recommended convention of 
naming
 global variables with a leading capital letter.  Doing that would
 make the program a little easier to follow.
address@hidden ignore
 
 @ifset FOR_PRINT
 The logic for choosing which lines to print represents a @dfn{state
@@ -31698,7 +31695,7 @@ are much fewer namespaces in use by any given program, 
and thus much
 less chance for collisions.)  These facilities are sometimes referred
 to as @dfn{packages} or @dfn{modules}.
 
-Starting with @value{PVERSION} @strong{FIXME} 5.0, @command{gawk} provides a
+Starting with @value{PVERSION} 5.0, @command{gawk} provides a
 simple mechanism to put functions and global variables into separate 
namespaces.
 
 @node Qualified Names
@@ -31758,7 +31755,7 @@ do it too much.
 
 @quotation NOTE
 Association of unqualified identifiers to a namespace is handled while
address@hidden parses your program, before it starts to run.  There is
address@hidden parses your program, @emph{before} it starts to run.  There is
 no concept of a ``current'' namespace once your program starts executing.
 Be sure you understand this.
 @end quotation
@@ -31803,7 +31800,7 @@ function gsub(str, pat, result) @{ @dots{} @}
 @item
 Outside the @code{awk} namespace, the names of the additional @command{gawk}
 built-in functions (such as @code{gensub()} or @code{strftime()}) @emph{may}
-be used as a component name.  The same set of names may be used as namespace
+be used as component names.  The same set of names may be used as namespace
 names, although this has the potential to be confusing.
 
 @item
@@ -33646,9 +33643,11 @@ Some points about using the API:
 @item
 The following types, macros, and/or functions are referenced
 in @file{gawkapi.h}.  For correct use, you must therefore include the
-corresponding standard header file @emph{before} including @file{gawkapi.h}:
+corresponding standard header file @emph{before} including @file{gawkapi.h}.
+The list of macros and related header files is shown in 
@ref{table-api-std-headers}.
 
address@hidden FIXME: Make this is a float at some point.
address@hidden Table,table-api-std-headers
address@hidden header files needed by API}
 @multitable address@hidden()}, @code{memcpy()}} address@hidden<sys/types.h>}}
 @headitem C entity @tab Header file
 @item @code{EOF} @tab @code{<stdio.h>}
@@ -33660,6 +33659,7 @@ corresponding standard header file @emph{before} 
including @file{gawkapi.h}:
 @item @code{size_t} @tab @code{<sys/types.h>}
 @item @code{struct stat} @tab @code{<sys/stat.h>}
 @end multitable
address@hidden float
 
 Due to portability concerns, especially to systems that are not
 fully standards-compliant, it is your responsibility
@@ -35118,6 +35118,9 @@ to specify which namespace @code{name} is part of.  
@code{name_space} cannot be
 @code{NULL}. If it is @code{""} or @code{"awk}, then @code{name} is searched
 for in the default @code{awk} namespace.
 
+Note that @code{namespace} is a C++ keyword. For interoperability with C++,
+you should avoid using that identifier in C code.
+
 @item awk_bool_t sym_update(const char *name, awk_value_t *value);
 Update the variable named by the string @code{name}, which is a regular
 C string.  The variable is added to @command{gawk}'s symbol table
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index 802b7c5..50353d8 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -3749,7 +3749,7 @@ program consists of the concatenation of the contents of
 each specified @var{source-file}.
 
 Files named with @option{-i} are treated as if they had @samp{@@namespace 
"awk"}
-at their beginning. @xref{Namespaces}, for more information.
+at their beginning. @xref{Changing The Namespace}, for more information.
 
 @item -v @address@hidden
 @itemx --assign @address@hidden
@@ -3896,7 +3896,7 @@ a newline character (even if it doesn't). This makes 
building
 the total program easier.
 
 @quotation CAUTION
-Prior to @value{PVERSION} @strong{FIXME} 5.0, there was
+Prior to @value{PVERSION} 5.0, there was
 no requirement that each @var{program-text}
 be a full syntactic unit. I.e., the following worked:
 
@@ -3910,8 +3910,8 @@ However, this is no longer true. If you have any scripts 
that
 rely upon this feature, you should revise them.
 
 This is because each @var{program-text} is treated as if it had
address@hidden@@namespace "awk"} at its beginning. @xref{Namespaces}, for more
-information.
address@hidden@@namespace "awk"} at its beginning. @xref{Changing The 
Namespace},
+for more information.
 @end quotation
 
 @item @option{-E} @var{file}
@@ -3991,7 +3991,7 @@ still expects to find the main source code via the 
@option{-f} option
 or on the command line.
 
 Files named with @option{-i} are treated as if they had @samp{@@namespace 
"awk"}
-at their beginning. @xref{Namespaces}, for more information.
+at their beginning.  @xref{Changing The Namespace}, for more information.
 
 @item @option{-l} @var{ext}
 @itemx @option{--load} @var{ext}
@@ -4781,7 +4781,7 @@ apply to files loaded with @code{@@include}.
 
 Finally, files included with @code{@@include}
 are treated as if they had @samp{@@namespace "awk"}
-at their beginning. @xref{Namespaces}, for more information.
+at their beginning.  @xref{Changing The Namespace}, for more information.
 
 @node Loading Shared Libraries
 @section Loading Dynamic Extensions into Your Program
@@ -20881,7 +20881,7 @@ The conventions presented in this @value{SECTION} are 
exactly
 that: conventions. You are not required to write your programs this
 way---we merely recommend that you do so.
 
-Beginning with version @strong{FIXME} 5.0, @command{gawk} provides
+Beginning with version 5.0, @command{gawk} provides
 a powerful mechanism for solving the problems described in this
 section: @dfn{namespaces}.  Namespaces and their use are described
 in detail in @ref{Namespaces}.
@@ -24754,12 +24754,9 @@ END @{
 @c endfile
 @end example
 
address@hidden FIXME: Include this?
address@hidden
-This program does not follow our recommended convention of naming
+As a side note, this program does not follow our recommended convention of 
naming
 global variables with a leading capital letter.  Doing that would
 make the program a little easier to follow.
address@hidden ignore
 
 @ifset FOR_PRINT
 The logic for choosing which lines to print represents a @dfn{state
@@ -30711,7 +30708,7 @@ are much fewer namespaces in use by any given program, 
and thus much
 less chance for collisions.)  These facilities are sometimes referred
 to as @dfn{packages} or @dfn{modules}.
 
-Starting with @value{PVERSION} @strong{FIXME} 5.0, @command{gawk} provides a
+Starting with @value{PVERSION} 5.0, @command{gawk} provides a
 simple mechanism to put functions and global variables into separate 
namespaces.
 
 @node Qualified Names
@@ -30771,7 +30768,7 @@ do it too much.
 
 @quotation NOTE
 Association of unqualified identifiers to a namespace is handled while
address@hidden parses your program, before it starts to run.  There is
address@hidden parses your program, @emph{before} it starts to run.  There is
 no concept of a ``current'' namespace once your program starts executing.
 Be sure you understand this.
 @end quotation
@@ -30816,7 +30813,7 @@ function gsub(str, pat, result) @{ @dots{} @}
 @item
 Outside the @code{awk} namespace, the names of the additional @command{gawk}
 built-in functions (such as @code{gensub()} or @code{strftime()}) @emph{may}
-be used as a component name.  The same set of names may be used as namespace
+be used as component names.  The same set of names may be used as namespace
 names, although this has the potential to be confusing.
 
 @item
@@ -32620,9 +32617,11 @@ Some points about using the API:
 @item
 The following types, macros, and/or functions are referenced
 in @file{gawkapi.h}.  For correct use, you must therefore include the
-corresponding standard header file @emph{before} including @file{gawkapi.h}:
+corresponding standard header file @emph{before} including @file{gawkapi.h}.
+The list of macros and related header files is shown in 
@ref{table-api-std-headers}.
 
address@hidden FIXME: Make this is a float at some point.
address@hidden Table,table-api-std-headers
address@hidden header files needed by API}
 @multitable address@hidden()}, @code{memcpy()}} address@hidden<sys/types.h>}}
 @headitem C entity @tab Header file
 @item @code{EOF} @tab @code{<stdio.h>}
@@ -32634,6 +32633,7 @@ corresponding standard header file @emph{before} 
including @file{gawkapi.h}:
 @item @code{size_t} @tab @code{<sys/types.h>}
 @item @code{struct stat} @tab @code{<sys/stat.h>}
 @end multitable
address@hidden float
 
 Due to portability concerns, especially to systems that are not
 fully standards-compliant, it is your responsibility
@@ -34092,6 +34092,9 @@ to specify which namespace @code{name} is part of.  
@code{name_space} cannot be
 @code{NULL}. If it is @code{""} or @code{"awk}, then @code{name} is searched
 for in the default @code{awk} namespace.
 
+Note that @code{namespace} is a C++ keyword. For interoperability with C++,
+you should avoid using that identifier in C code.
+
 @item awk_bool_t sym_update(const char *name, awk_value_t *value);
 Update the variable named by the string @code{name}, which is a regular
 C string.  The variable is added to @command{gawk}'s symbol table

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

Summary of changes:
 ChangeLog           |   16 +
 NEWS                |    7 +-
 TODO                |    4 +-
 builtin.c           |   30 +-
 configh.in          |    3 +
 configure           |    2 +-
 configure.ac        |    2 +-
 doc/ChangeLog       |    6 +
 doc/gawk.1          |   11 +-
 doc/gawk.info       | 1365 ++++++++++++++++++++++++++-------------------------
 doc/gawk.texi       |   35 +-
 doc/gawktexi.in     |   35 +-
 missing_d/ChangeLog |    4 +
 missing_d/timegm.c  |   29 ++
 protos.h            |    4 +
 replace.c           |    4 +
 16 files changed, 813 insertions(+), 744 deletions(-)
 create mode 100644 missing_d/timegm.c


hooks/post-receive
-- 
gawk



reply via email to

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