gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, gawk-5.0-stable, updated. gawk-4.1.0-371


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, gawk-5.0-stable, updated. gawk-4.1.0-3715-g7760ee1
Date: Sun, 21 Apr 2019 11:02:01 -0400 (EDT)

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "gawk".

The branch, gawk-5.0-stable has been updated
       via  7760ee121f8f3a231f4d949819fb49025d840297 (commit)
       via  0c2d3fdf3d3cec1f2b276995ccb085f2c35ca95b (commit)
       via  df615d8f1afb1f4bfc2ca5e8fa629d5fba1c8a46 (commit)
      from  847657fa4ec580658371d6fcaea547f7769fb569 (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=7760ee121f8f3a231f4d949819fb49025d840297

commit 7760ee121f8f3a231f4d949819fb49025d840297
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 21 18:00:42 2019 +0300

    Doc, add link to Mircea Neacsu's embeddable awk interpreter.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 20c89e9..fa330c2 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -11,6 +11,8 @@
        after the program text is placed into ARGV and not
        parsed for options. Thanks to Neil Ormos <address@hidden>
        for the tip.
+       (Other Versions): Add a link to Mircea Neacsu's embeddable
+       awk interpreter.
 
 2019-04-18         Arnold D. Robbins     <address@hidden>
 
diff --git a/doc/gawk.info b/doc/gawk.info
index 9f8d38f..85bd574 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -30593,6 +30593,10 @@ Libmawk
      This is an embeddable 'awk' interpreter derived from 'mawk'.  For
      more information, see <http://repo.hu/projects/libmawk/>.
 
+Mircea Neacsu's Embeddable 'awk'
+     Mircea Neacsu has created an embeddable 'awk' interpreter, based on
+     BWK awk.  It's available at <https://github.com/neacsum/awk>.
+
 'pawk'
      This is a Python module that claims to bring 'awk'-like features to
      Python.  See <https://github.com/alecthomas/pawk> for more
@@ -35787,6 +35791,7 @@ Index
                                                               (line   9)
 * namespaces, qualified names:           Qualified Names.     (line   6)
 * naming rules, namespaces and component names: Naming Rules. (line   6)
+* Neacsu, Mircea:                        Other Versions.      (line 132)
 * NetBSD:                                Glossary.            (line 746)
 * networks, programming:                 TCP/IP Networking.   (line   6)
 * networks, support for:                 Special Network.     (line   6)
@@ -35971,7 +35976,7 @@ Index
 * patterns, types of:                    Pattern Overview.    (line  15)
 * pawk (profiling version of Brian Kernighan's awk): Other Versions.
                                                               (line  78)
-* pawk, awk-like facilities for Python:  Other Versions.      (line 133)
+* pawk, awk-like facilities for Python:  Other Versions.      (line 137)
 * PC operating systems, gawk on:         PC Using.            (line   6)
 * PC operating systems, gawk on, installing: PC Installation. (line   6)
 * percent sign (%), % operator:          Precedence.          (line  54)
@@ -36182,7 +36187,7 @@ Index
 * pwcat program:                         Passwd Functions.    (line  23)
 * q debugger command (alias for quit):   Miscellaneous Debugger Commands.
                                                               (line 100)
-* QSE awk:                               Other Versions.      (line 139)
+* QSE awk:                               Other Versions.      (line 143)
 * qualified name, definition of:         Qualified Names.     (line   6)
 * qualified name, use of:                Qualified Names.     (line  17)
 * Quanstrom, Erik:                       Alarm Program.       (line   8)
@@ -36191,7 +36196,7 @@ Index
                                                               (line 107)
 * question mark (?), regexp operator <1>: GNU Regexp Operators.
                                                               (line  62)
-* QuikTrim Awk:                          Other Versions.      (line 143)
+* QuikTrim Awk:                          Other Versions.      (line 147)
 * quit debugger command:                 Miscellaneous Debugger Commands.
                                                               (line 100)
 * QUIT signal (MS-Windows):              Profiling.           (line 214)
@@ -36528,6 +36533,7 @@ Index
 * source code, awka:                     Other Versions.      (line  64)
 * source code, Brian Kernighan's awk:    Other Versions.      (line  13)
 * source code, BusyBox Awk:              Other Versions.      (line  88)
+* source code, embeddable awk interpreter: Other Versions.    (line 132)
 * source code, gawk:                     Gawk Distribution.   (line   6)
 * source code, goawk:                    Other Versions.      (line 113)
 * source code, Illumos awk:              Other Versions.      (line 105)
@@ -36536,9 +36542,9 @@ Index
 * source code, mawk:                     Other Versions.      (line  39)
 * 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)
-* source code, QuikTrim Awk:             Other Versions.      (line 143)
+* source code, pawk (Python version):    Other Versions.      (line 137)
+* source code, QSE awk:                  Other Versions.      (line 143)
+* source code, QuikTrim Awk:             Other Versions.      (line 147)
 * source code, Solaris awk:              Other Versions.      (line  96)
 * source files, search path for:         Programs Exercises.  (line  70)
 * sparse arrays:                         Array Intro.         (line  76)
@@ -37447,36 +37453,36 @@ Node: Bug address1223635
 Node: Usenet1226617
 Node: Maintainers1227621
 Node: Other Versions1228882
-Node: Installation summary1235796
-Node: Notes1236998
-Node: Compatibility Mode1237792
-Node: Additions1238574
-Node: Accessing The Source1239499
-Node: Adding Code1240936
-Node: New Ports1247155
-Node: Derived Files1251530
-Ref: Derived Files-Footnote-11257190
-Ref: Derived Files-Footnote-21257225
-Ref: Derived Files-Footnote-31257823
-Node: Future Extensions1257937
-Node: Implementation Limitations1258595
-Node: Extension Design1259778
-Node: Old Extension Problems1260922
-Ref: Old Extension Problems-Footnote-11262440
-Node: Extension New Mechanism Goals1262497
-Ref: Extension New Mechanism Goals-Footnote-11265861
-Node: Extension Other Design Decisions1266050
-Node: Extension Future Growth1268163
-Node: Notes summary1268999
-Node: Basic Concepts1270157
-Node: Basic High Level1270838
-Ref: figure-general-flow1271120
-Ref: figure-process-flow1271805
-Ref: Basic High Level-Footnote-11275106
-Node: Basic Data Typing1275291
-Node: Glossary1278619
-Node: Copying1310457
-Node: GNU Free Documentation License1348000
-Node: Index1373120
+Node: Installation summary1235970
+Node: Notes1237172
+Node: Compatibility Mode1237966
+Node: Additions1238748
+Node: Accessing The Source1239673
+Node: Adding Code1241110
+Node: New Ports1247329
+Node: Derived Files1251704
+Ref: Derived Files-Footnote-11257364
+Ref: Derived Files-Footnote-21257399
+Ref: Derived Files-Footnote-31257997
+Node: Future Extensions1258111
+Node: Implementation Limitations1258769
+Node: Extension Design1259952
+Node: Old Extension Problems1261096
+Ref: Old Extension Problems-Footnote-11262614
+Node: Extension New Mechanism Goals1262671
+Ref: Extension New Mechanism Goals-Footnote-11266035
+Node: Extension Other Design Decisions1266224
+Node: Extension Future Growth1268337
+Node: Notes summary1269173
+Node: Basic Concepts1270331
+Node: Basic High Level1271012
+Ref: figure-general-flow1271294
+Ref: figure-process-flow1271979
+Ref: Basic High Level-Footnote-11275280
+Node: Basic Data Typing1275465
+Node: Glossary1278793
+Node: Copying1310631
+Node: GNU Free Documentation License1348174
+Node: Index1373294
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 0e20dc8..4b146a5 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -41604,6 +41604,13 @@ This is an embeddable @command{awk} interpreter 
derived from
 @command{mawk}. For more information, see
 @uref{http://repo.hu/projects/libmawk/}.
 
address@hidden source code, embeddable @command{awk} interpreter
address@hidden Neacsu, Mircea
address@hidden Mircea Neacsu's Embeddable @command{awk}
+Mircea Neacsu has created an embeddable @command{awk}
+interpreter, based on BWK awk. It's available
+at @uref{https://github.com/neacsum/awk}.
+
 @item @code{pawk}
 @cindex source code, @command{pawk} (Python version)
 @cindex @code{pawk}, @command{awk}-like facilities for Python
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index c0a7b7d..757fb4c 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -40577,6 +40577,13 @@ This is an embeddable @command{awk} interpreter 
derived from
 @command{mawk}. For more information, see
 @uref{http://repo.hu/projects/libmawk/}.
 
address@hidden source code, embeddable @command{awk} interpreter
address@hidden Neacsu, Mircea
address@hidden Mircea Neacsu's Embeddable @command{awk}
+Mircea Neacsu has created an embeddable @command{awk}
+interpreter, based on BWK awk. It's available
+at @uref{https://github.com/neacsum/awk}.
+
 @item @code{pawk}
 @cindex source code, @command{pawk} (Python version)
 @cindex @code{pawk}, @command{awk}-like facilities for Python

http://git.sv.gnu.org/cgit/gawk.git/commit/?id=0c2d3fdf3d3cec1f2b276995ccb085f2c35ca95b

commit 0c2d3fdf3d3cec1f2b276995ccb085f2c35ca95b
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 21 17:49:53 2019 +0300

    Speed field assignment back up.

diff --git a/ChangeLog b/ChangeLog
index 8ca1e09..637b5d0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2019-02-21         Andrew J. Schorr      <address@hidden>
+
+       * interpert.h (Op_store_field): Move call to force_string to
+       here from unfield.  Speeds up work with fields that are numeric
+       only. Thanks to Tom Gray <address@hidden> for the report.
+
 2019-04-21         Arnold D. Robbins     <address@hidden>
 
        * POSIX.STD: Updated.
diff --git a/interpret.h b/interpret.h
index cc6e02a..478dc82 100644
--- a/interpret.h
+++ b/interpret.h
@@ -46,7 +46,6 @@ unfield(NODE **l, NODE **r)
                (*l) = dupnode(*r);
                DEREF(*r);
        }
-       force_string(*l);
 }
 
 #define UNFIELD(l, r)  unfield(& (l), & (r))
@@ -729,6 +728,8 @@ mod:
                        unref(*lhs);
                        r = POP_SCALAR();
                        UNFIELD(*lhs, r);
+                       /* field variables need the string representation: */
+                       force_string(*lhs);
                }
                        break;
 

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

commit df615d8f1afb1f4bfc2ca5e8fa629d5fba1c8a46
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 21 17:07:00 2019 +0300

    Doc: Fix a typo. Add doc of command line if no -f or -e.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 2af0aa5..20c89e9 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -7,6 +7,10 @@
        (Multiple Lines): Note that POSIX seems to require \n as
        separator for all values of FS, but that in reality it
        doesn't apply to regexps; this is a POSIX bug.
+       (Options): Document clearly that if no -f or -e, anything
+       after the program text is placed into ARGV and not
+       parsed for options. Thanks to Neil Ormos <address@hidden>
+       for the tip.
 
 2019-04-18         Arnold D. Robbins     <address@hidden>
 
diff --git a/doc/gawk.info b/doc/gawk.info
index 513be76..9f8d38f 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2832,8 +2832,11 @@ your source code; it allows you to easily mix 
command-line and library
 source code (*note AWKPATH Variable::).  As with '-f', the '-e' and '-i'
 options may also be used multiple times on the command line.
 
-   If no '-f' or '-e' option is specified, then 'gawk' uses the first
-nonoption command-line argument as the text of the program source code.
+   If no '-f' option (or '-e' option for 'gawk') is specified, then
+'awk' uses the first nonoption command-line argument as the text of the
+program source code.  Arguments on the command line that follow the
+program text are entered into the 'ARGV' array; 'awk' does _not_
+continue to parse the command line looking for options.
 
    If the environment variable 'POSIXLY_CORRECT' exists, then 'gawk'
 behaves in strict POSIX mode, exactly as if you had supplied '--posix'.
@@ -5597,91 +5600,90 @@ whatever field separations result from 'FS'.
      'awk' has never behaved that way, nor has 'gawk'.  This is
      essentially a bug in POSIX.
 
-     The original motivation for this special exception was probably to
-     provide useful behavior in the default case (i.e., 'FS' is equal to
-     '" "').  This feature can be a problem if you really don't want the
-     newline character to separate fields, because there is no way to
-     prevent it.  However, you can work around this by using the
-     'split()' function to break up the record manually (*note String
-     Functions::).  If you have a single-character field separator, you
-     can work around the special feature in a different way, by making
-     'FS' into a regexp for that single character.  For example, if the
-     field separator is a percent character, instead of 'FS = "%"', use
-     'FS = "[%]"'.
-
-     Another way to separate fields is to put each field on a separate
-     line: to do this, just set the variable 'FS' to the string '"\n"'.
-     (This single-character separator matches a single newline.)  A
-     practical example of a data file organized this way might be a
-     mailing list, where blank lines separate the entries.  Consider a
-     mailing list in a file named 'addresses', which looks like this:
-
-          Jane Doe
-          123 Main Street
-          Anywhere, SE 12345-6789
-
-          John Smith
-          456 Tree-lined Avenue
-          Smallville, MW 98765-4321
-          ...
+   The original motivation for this special exception was probably to
+provide useful behavior in the default case (i.e., 'FS' is equal to
+'" "').  This feature can be a problem if you really don't want the
+newline character to separate fields, because there is no way to prevent
+it.  However, you can work around this by using the 'split()' function
+to break up the record manually (*note String Functions::).  If you have
+a single-character field separator, you can work around the special
+feature in a different way, by making 'FS' into a regexp for that single
+character.  For example, if the field separator is a percent character,
+instead of 'FS = "%"', use 'FS = "[%]"'.
+
+   Another way to separate fields is to put each field on a separate
+line: to do this, just set the variable 'FS' to the string '"\n"'.
+(This single-character separator matches a single newline.)  A practical
+example of a data file organized this way might be a mailing list, where
+blank lines separate the entries.  Consider a mailing list in a file
+named 'addresses', which looks like this:
+
+     Jane Doe
+     123 Main Street
+     Anywhere, SE 12345-6789
+
+     John Smith
+     456 Tree-lined Avenue
+     Smallville, MW 98765-4321
+     ...
 
-     A simple program to process this file is as follows:
+A simple program to process this file is as follows:
 
-          # addrs.awk --- simple mailing list program
+     # addrs.awk --- simple mailing list program
 
-          # Records are separated by blank lines.
-          # Each line is one field.
-          BEGIN { RS = "" ; FS = "\n" }
+     # Records are separated by blank lines.
+     # Each line is one field.
+     BEGIN { RS = "" ; FS = "\n" }
 
-          {
-                print "Name is:", $1
-                print "Address is:", $2
-                print "City and State are:", $3
-                print ""
-          }
+     {
+           print "Name is:", $1
+           print "Address is:", $2
+           print "City and State are:", $3
+           print ""
+     }
 
-     Running the program produces the following output:
+   Running the program produces the following output:
 
-          $ awk -f addrs.awk addresses
-          -| Name is: Jane Doe
-          -| Address is: 123 Main Street
-          -| City and State are: Anywhere, SE 12345-6789
-          -|
-          -| Name is: John Smith
-          -| Address is: 456 Tree-lined Avenue
-          -| City and State are: Smallville, MW 98765-4321
-          -|
-          ...
+     $ awk -f addrs.awk addresses
+     -| Name is: Jane Doe
+     -| Address is: 123 Main Street
+     -| City and State are: Anywhere, SE 12345-6789
+     -|
+     -| Name is: John Smith
+     -| Address is: 456 Tree-lined Avenue
+     -| City and State are: Smallville, MW 98765-4321
+     -|
+     ...
 
-     *Note Labels Program:: for a more realistic program dealing with
-     address lists.  The following list summarizes how records are
-     split, based on the value of 'RS'.  ('==' means "is equal to.")
+   *Note Labels Program:: for a more realistic program dealing with
+address lists.  The following list summarizes how records are split,
+based on the value of 'RS'.  ('==' means "is equal to.")
 
-     'RS == "\n"'
-          Records are separated by the newline character ('\n').  In
-          effect, every line in the data file is a separate record,
-          including blank lines.  This is the default.
+'RS == "\n"'
+     Records are separated by the newline character ('\n').  In effect,
+     every line in the data file is a separate record, including blank
+     lines.  This is the default.
 
-     'RS == ANY SINGLE CHARACTER'
-          Records are separated by each occurrence of the character.
-          Multiple successive occurrences delimit empty records.
+'RS == ANY SINGLE CHARACTER'
+     Records are separated by each occurrence of the character.
+     Multiple successive occurrences delimit empty records.
 
-     'RS == ""'
-          Records are separated by runs of blank lines.  When 'FS' is a
-          single character, then the newline character always serves as
-          a field separator, in addition to whatever value 'FS' may
-          have.  Leading and trailing newlines in a file are ignored.
+'RS == ""'
+     Records are separated by runs of blank lines.  When 'FS' is a
+     single character, then the newline character always serves as a
+     field separator, in addition to whatever value 'FS' may have.
+     Leading and trailing newlines in a file are ignored.
 
-     'RS == REGEXP'
-          Records are separated by occurrences of characters that match
-          REGEXP.  Leading and trailing matches of REGEXP delimit empty
-          records.  (This is a 'gawk' extension; it is not specified by
-          the POSIX standard.)
+'RS == REGEXP'
+     Records are separated by occurrences of characters that match
+     REGEXP.  Leading and trailing matches of REGEXP delimit empty
+     records.  (This is a 'gawk' extension; it is not specified by the
+     POSIX standard.)
 
-     If not in compatibility mode (*note Options::), 'gawk' sets 'RT' to
-     the input text that matched the value specified by 'RS'.  But if
-     the input file ended without any text that matches 'RS', then
-     'gawk' sets 'RT' to the null string.
+   If not in compatibility mode (*note Options::), 'gawk' sets 'RT' to
+the input text that matched the value specified by 'RS'.  But if the
+input file ended without any text that matches 'RS', then 'gawk' sets
+'RT' to the null string.
 
 
 File: gawk.info,  Node: Getline,  Next: Read Timeout,  Prev: Multiple Line,  
Up: Reading Files
@@ -34481,7 +34483,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 383)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 386)
 * csh utility, |& operator, comparison with: Two-way I/O.     (line  27)
 * ctime() user-defined function:         Function Example.    (line  74)
 * Curreli, Marco:                        Contributors.        (line 147)
@@ -34790,7 +34792,7 @@ Index
 * differences in awk and gawk, RS/RT variables <1>: gawk split records.
                                                               (line  58)
 * differences in awk and gawk, RS/RT variables <2>: Multiple Line.
-                                                              (line 140)
+                                                              (line 139)
 * differences in awk and gawk, RS/RT variables <3>: Auto-set. (line 348)
 * differences in awk and gawk, single-character fields: Single Character 
Fields.
                                                               (line   6)
@@ -35318,7 +35320,7 @@ Index
                                                               (line 136)
 * gawk, RT variable in:                  awk split records.   (line 131)
 * gawk, RT variable in <1>:              gawk split records.  (line  58)
-* gawk, RT variable in <2>:              Multiple Line.       (line 140)
+* gawk, RT variable in <2>:              Multiple Line.       (line 139)
 * gawk, RT variable in <3>:              Auto-set.            (line 348)
 * gawk, See Also awk:                    Preface.             (line  34)
 * gawk, source code, obtaining:          Getting.             (line   6)
@@ -35663,7 +35665,7 @@ Index
 * lint checking, empty programs:         Command Line.        (line  16)
 * lint checking, issuing warnings:       Options.             (line 210)
 * lint checking, POSIXLY_CORRECT environment variable: Options.
-                                                              (line 368)
+                                                              (line 371)
 * lint checking, undefined functions:    Function Caveats.    (line  23)
 * LINT variable:                         User-modified.       (line  90)
 * Linux:                                 Manual History.      (line  28)
@@ -36024,7 +36026,7 @@ 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 388)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 391)
 * portability, substr() function:        String Functions.    (line 518)
 * portable object files:                 Explaining gettext.  (line  37)
 * portable object files <1>:             Translator i18n.     (line   6)
@@ -36076,11 +36078,11 @@ Index
 * POSIX awk, timestamps and:             Time Functions.      (line   6)
 * POSIX awk, | I/O operator and:         Getline/Pipe.        (line  56)
 * POSIX mode:                            Options.             (line 282)
-* POSIX mode <1>:                        Options.             (line 368)
+* POSIX mode <1>:                        Options.             (line 371)
 * 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 368)
+* POSIXLY_CORRECT environment variable:  Options.             (line 371)
 * PREC variable:                         User-modified.       (line 127)
 * precedence:                            Increment Ops.       (line  60)
 * precedence <1>:                        Precedence.          (line   6)
@@ -36352,7 +36354,7 @@ Index
 * RSTART variable, match() function and: String Functions.    (line 228)
 * RT variable:                           awk split records.   (line 131)
 * RT variable <1>:                       gawk split records.  (line  58)
-* RT variable <2>:                       Multiple Line.       (line 140)
+* RT variable <2>:                       Multiple Line.       (line 139)
 * RT variable <3>:                       Auto-set.            (line 348)
 * Rubin, Paul:                           History.             (line  30)
 * Rubin, Paul <1>:                       Contributors.        (line  16)
@@ -36924,557 +36926,557 @@ Node: Intro Summary116293
 Node: Invoking Gawk117177
 Node: Command Line118691
 Node: Options119489
-Ref: Options-Footnote-1136567
-Ref: Options-Footnote-2136798
-Node: Other Arguments136823
-Node: Naming Standard Input139770
-Node: Environment Variables140980
-Node: AWKPATH Variable141538
-Ref: AWKPATH Variable-Footnote-1144950
-Ref: AWKPATH Variable-Footnote-2144984
-Node: AWKLIBPATH Variable145245
-Node: Other Environment Variables146903
-Node: Exit Status150724
-Node: Include Files151401
-Node: Loading Shared Libraries155091
-Node: Obsolete156519
-Node: Undocumented157211
-Node: Invoking Summary157508
-Node: Regexp159168
-Node: Regexp Usage160622
-Node: Escape Sequences162659
-Node: Regexp Operators168891
-Node: Regexp Operator Details169376
-Ref: Regexp Operator Details-Footnote-1175498
-Node: Interval Expressions175645
-Ref: Interval Expressions-Footnote-1177080
-Node: Bracket Expressions177178
-Ref: table-char-classes179654
-Node: Leftmost Longest182980
-Node: Computed Regexps184283
-Node: GNU Regexp Operators187710
-Node: Case-sensitivity191389
-Ref: Case-sensitivity-Footnote-1194255
-Ref: Case-sensitivity-Footnote-2194490
-Node: Regexp Summary194598
-Node: Reading Files196064
-Node: Records198333
-Node: awk split records199408
-Node: gawk split records204683
-Ref: gawk split records-Footnote-1209269
-Node: Fields209306
-Node: Nonconstant Fields212047
-Ref: Nonconstant Fields-Footnote-1214283
-Node: Changing Fields214487
-Node: Field Separators220518
-Node: Default Field Splitting223216
-Node: Regexp Field Splitting224334
-Node: Single Character Fields227687
-Node: Command Line Field Separator228747
-Node: Full Line Fields231965
-Ref: Full Line Fields-Footnote-1233487
-Ref: Full Line Fields-Footnote-2233533
-Node: Field Splitting Summary233634
-Node: Constant Size235708
-Node: Fixed width data236440
-Node: Skipping intervening239907
-Node: Allowing trailing data240705
-Node: Fields with fixed data241742
-Node: Splitting By Content243260
-Ref: Splitting By Content-Footnote-1246910
-Node: Testing field creation247073
-Node: Multiple Line248698
-Node: Getline255311
-Node: Plain Getline257780
-Node: Getline/Variable260421
-Node: Getline/File261572
-Node: Getline/Variable/File262960
-Ref: Getline/Variable/File-Footnote-1264565
-Node: Getline/Pipe264653
-Node: Getline/Variable/Pipe267360
-Node: Getline/Coprocess268495
-Node: Getline/Variable/Coprocess269762
-Node: Getline Notes270504
-Node: Getline Summary273301
-Ref: table-getline-variants273725
-Node: Read Timeout274473
-Ref: Read Timeout-Footnote-1278379
-Node: Retrying Input278437
-Node: Command-line directories279636
-Node: Input Summary280542
-Node: Input Exercises283714
-Node: Printing284442
-Node: Print286276
-Node: Print Examples287733
-Node: Output Separators290513
-Node: OFMT292530
-Node: Printf293886
-Node: Basic Printf294671
-Node: Control Letters296245
-Node: Format Modifiers301409
-Node: Printf Examples307424
-Node: Redirection309910
-Node: Special FD316751
-Ref: Special FD-Footnote-1319919
-Node: Special Files319993
-Node: Other Inherited Files320610
-Node: Special Network321611
-Node: Special Caveats322471
-Node: Close Files And Pipes323420
-Ref: table-close-pipe-return-values330327
-Ref: Close Files And Pipes-Footnote-1331140
-Ref: Close Files And Pipes-Footnote-2331288
-Node: Nonfatal331440
-Node: Output Summary333778
-Node: Output Exercises335000
-Node: Expressions335679
-Node: Values336867
-Node: Constants337545
-Node: Scalar Constants338236
-Ref: Scalar Constants-Footnote-1340760
-Node: Nondecimal-numbers341010
-Node: Regexp Constants344011
-Node: Using Constant Regexps344537
-Node: Standard Regexp Constants345159
-Node: Strong Regexp Constants348347
-Node: Variables351305
-Node: Using Variables351962
-Node: Assignment Options353872
-Node: Conversion356339
-Node: Strings And Numbers356863
-Ref: Strings And Numbers-Footnote-1359926
-Node: Locale influences conversions360035
-Ref: table-locale-affects362793
-Node: All Operators363411
-Node: Arithmetic Ops364040
-Node: Concatenation366546
-Ref: Concatenation-Footnote-1369393
-Node: Assignment Ops369500
-Ref: table-assign-ops374491
-Node: Increment Ops375804
-Node: Truth Values and Conditions379264
-Node: Truth Values380338
-Node: Typing and Comparison381386
-Node: Variable Typing382206
-Ref: Variable Typing-Footnote-1388669
-Ref: Variable Typing-Footnote-2388741
-Node: Comparison Operators388818
-Ref: table-relational-ops389237
-Node: POSIX String Comparison392732
-Ref: POSIX String Comparison-Footnote-1394427
-Ref: POSIX String Comparison-Footnote-2394566
-Node: Boolean Ops394650
-Ref: Boolean Ops-Footnote-1399132
-Node: Conditional Exp399224
-Node: Function Calls400960
-Node: Precedence404837
-Node: Locales408496
-Node: Expressions Summary410128
-Node: Patterns and Actions412701
-Node: Pattern Overview413821
-Node: Regexp Patterns415498
-Node: Expression Patterns416040
-Node: Ranges419821
-Node: BEGIN/END422929
-Node: Using BEGIN/END423690
-Ref: Using BEGIN/END-Footnote-1426426
-Node: I/O And BEGIN/END426532
-Node: BEGINFILE/ENDFILE428846
-Node: Empty431759
-Node: Using Shell Variables432076
-Node: Action Overview434350
-Node: Statements436675
-Node: If Statement438523
-Node: While Statement440018
-Node: Do Statement442046
-Node: For Statement443194
-Node: Switch Statement446365
-Node: Break Statement448751
-Node: Continue Statement450843
-Node: Next Statement452670
-Node: Nextfile Statement455053
-Node: Exit Statement457705
-Node: Built-in Variables460108
-Node: User-modified461241
-Node: Auto-set469008
-Ref: Auto-set-Footnote-1485815
-Ref: Auto-set-Footnote-2486021
-Node: ARGC and ARGV486077
-Node: Pattern Action Summary490290
-Node: Arrays492720
-Node: Array Basics494049
-Node: Array Intro494893
-Ref: figure-array-elements496868
-Ref: Array Intro-Footnote-1499572
-Node: Reference to Elements499700
-Node: Assigning Elements502164
-Node: Array Example502655
-Node: Scanning an Array504414
-Node: Controlling Scanning507436
-Ref: Controlling Scanning-Footnote-1512835
-Node: Numeric Array Subscripts513151
-Node: Uninitialized Subscripts515335
-Node: Delete516954
-Ref: Delete-Footnote-1519706
-Node: Multidimensional519763
-Node: Multiscanning522858
-Node: Arrays of Arrays524449
-Node: Arrays Summary529217
-Node: Functions531310
-Node: Built-in532348
-Node: Calling Built-in533429
-Node: Numeric Functions535425
-Ref: Numeric Functions-Footnote-1539453
-Ref: Numeric Functions-Footnote-2540098
-Ref: Numeric Functions-Footnote-3540146
-Node: String Functions540418
-Ref: String Functions-Footnote-1564276
-Ref: String Functions-Footnote-2564404
-Ref: String Functions-Footnote-3564652
-Node: Gory Details564739
-Ref: table-sub-escapes566530
-Ref: table-sub-proposed568049
-Ref: table-posix-sub569412
-Ref: table-gensub-escapes570953
-Ref: Gory Details-Footnote-1571776
-Node: I/O Functions571930
-Ref: table-system-return-values578398
-Ref: I/O Functions-Footnote-1580478
-Ref: I/O Functions-Footnote-2580626
-Node: Time Functions580746
-Ref: Time Functions-Footnote-1591417
-Ref: Time Functions-Footnote-2591485
-Ref: Time Functions-Footnote-3591643
-Ref: Time Functions-Footnote-4591754
-Ref: Time Functions-Footnote-5591866
-Ref: Time Functions-Footnote-6592093
-Node: Bitwise Functions592359
-Ref: table-bitwise-ops592953
-Ref: Bitwise Functions-Footnote-1599016
-Ref: Bitwise Functions-Footnote-2599189
-Node: Type Functions599380
-Node: I18N Functions602131
-Node: User-defined603782
-Node: Definition Syntax604594
-Ref: Definition Syntax-Footnote-1610281
-Node: Function Example610352
-Ref: Function Example-Footnote-1613274
-Node: Function Calling613296
-Node: Calling A Function613884
-Node: Variable Scope614842
-Node: Pass By Value/Reference617836
-Node: Function Caveats620480
-Ref: Function Caveats-Footnote-1622527
-Node: Return Statement622647
-Node: Dynamic Typing625626
-Node: Indirect Calls626556
-Ref: Indirect Calls-Footnote-1636808
-Node: Functions Summary636936
-Node: Library Functions639641
-Ref: Library Functions-Footnote-1643248
-Ref: Library Functions-Footnote-2643391
-Node: Library Names643562
-Ref: Library Names-Footnote-1647229
-Ref: Library Names-Footnote-2647452
-Node: General Functions647538
-Node: Strtonum Function648641
-Node: Assert Function651663
-Node: Round Function654989
-Node: Cliff Random Function656529
-Node: Ordinal Functions657545
-Ref: Ordinal Functions-Footnote-1660608
-Ref: Ordinal Functions-Footnote-2660860
-Node: Join Function661070
-Ref: Join Function-Footnote-1662840
-Node: Getlocaltime Function663040
-Node: Readfile Function666782
-Node: Shell Quoting668759
-Node: Data File Management670160
-Node: Filetrans Function670792
-Node: Rewind Function674888
-Node: File Checking676797
-Ref: File Checking-Footnote-1678131
-Node: Empty Files678332
-Node: Ignoring Assigns680311
-Node: Getopt Function681861
-Ref: Getopt Function-Footnote-1693330
-Node: Passwd Functions693530
-Ref: Passwd Functions-Footnote-1702369
-Node: Group Functions702457
-Ref: Group Functions-Footnote-1710355
-Node: Walking Arrays710562
-Node: Library Functions Summary713570
-Node: Library Exercises714976
-Node: Sample Programs715441
-Node: Running Examples716211
-Node: Clones716939
-Node: Cut Program718163
-Node: Egrep Program728092
-Ref: Egrep Program-Footnote-1735604
-Node: Id Program735714
-Node: Split Program739394
-Ref: Split Program-Footnote-1742852
-Node: Tee Program742981
-Node: Uniq Program745771
-Node: Wc Program753392
-Ref: Wc Program-Footnote-1757647
-Node: Miscellaneous Programs757741
-Node: Dupword Program758954
-Node: Alarm Program760984
-Node: Translate Program765839
-Ref: Translate Program-Footnote-1770404
-Node: Labels Program770674
-Ref: Labels Program-Footnote-1774025
-Node: Word Sorting774109
-Node: History Sorting778181
-Node: Extract Program780016
-Node: Simple Sed788070
-Node: Igawk Program791144
-Ref: Igawk Program-Footnote-1805475
-Ref: Igawk Program-Footnote-2805677
-Ref: Igawk Program-Footnote-3805799
-Node: Anagram Program805914
-Node: Signature Program808976
-Node: Programs Summary810223
-Node: Programs Exercises811437
-Ref: Programs Exercises-Footnote-1815566
-Node: Advanced Features815657
-Node: Nondecimal Data817647
-Node: Array Sorting819238
-Node: Controlling Array Traversal819938
-Ref: Controlling Array Traversal-Footnote-1828306
-Node: Array Sorting Functions828424
-Ref: Array Sorting Functions-Footnote-1833515
-Node: Two-way I/O833711
-Ref: Two-way I/O-Footnote-1841432
-Ref: Two-way I/O-Footnote-2841619
-Node: TCP/IP Networking841701
-Node: Profiling844819
-Node: Advanced Features Summary853837
-Node: Internationalization855681
-Node: I18N and L10N857161
-Node: Explaining gettext857848
-Ref: Explaining gettext-Footnote-1863740
-Ref: Explaining gettext-Footnote-2863925
-Node: Programmer i18n864090
-Ref: Programmer i18n-Footnote-1869039
-Node: Translator i18n869088
-Node: String Extraction869882
-Ref: String Extraction-Footnote-1871014
-Node: Printf Ordering871100
-Ref: Printf Ordering-Footnote-1873886
-Node: I18N Portability873950
-Ref: I18N Portability-Footnote-1876406
-Node: I18N Example876469
-Ref: I18N Example-Footnote-1879744
-Ref: I18N Example-Footnote-2879817
-Node: Gawk I18N879926
-Node: I18N Summary880575
-Node: Debugger881916
-Node: Debugging882916
-Node: Debugging Concepts883357
-Node: Debugging Terms885166
-Node: Awk Debugging887741
-Ref: Awk Debugging-Footnote-1888686
-Node: Sample Debugging Session888818
-Node: Debugger Invocation889352
-Node: Finding The Bug890738
-Node: List of Debugger Commands897212
-Node: Breakpoint Control898545
-Node: Debugger Execution Control902239
-Node: Viewing And Changing Data905601
-Node: Execution Stack909142
-Node: Debugger Info910779
-Node: Miscellaneous Debugger Commands914850
-Node: Readline Support919912
-Node: Limitations920808
-Node: Debugging Summary923362
-Node: Namespaces924641
-Node: Global Namespace925720
-Node: Qualified Names927118
-Node: Default Namespace928117
-Node: Changing The Namespace928858
-Node: Naming Rules930472
-Node: Internal Name Management932320
-Node: Namespace Example933362
-Node: Namespace And Features935924
-Node: Namespace Summary937359
-Node: Arbitrary Precision Arithmetic938836
-Node: Computer Arithmetic940323
-Ref: table-numeric-ranges944089
-Ref: table-floating-point-ranges944582
-Ref: Computer Arithmetic-Footnote-1945240
-Node: Math Definitions945297
-Ref: table-ieee-formats948613
-Ref: Math Definitions-Footnote-1949216
-Node: MPFR features949321
-Node: FP Math Caution951039
-Ref: FP Math Caution-Footnote-1952111
-Node: Inexactness of computations952480
-Node: Inexact representation953440
-Node: Comparing FP Values954800
-Node: Errors accumulate956041
-Node: Getting Accuracy957474
-Node: Try To Round960184
-Node: Setting precision961083
-Ref: table-predefined-precision-strings961780
-Node: Setting the rounding mode963610
-Ref: table-gawk-rounding-modes963984
-Ref: Setting the rounding mode-Footnote-1967915
-Node: Arbitrary Precision Integers968094
-Ref: Arbitrary Precision Integers-Footnote-1971269
-Node: Checking for MPFR971418
-Node: POSIX Floating Point Problems972892
-Ref: POSIX Floating Point Problems-Footnote-1977177
-Node: Floating point summary977215
-Node: Dynamic Extensions979405
-Node: Extension Intro980958
-Node: Plugin License982224
-Node: Extension Mechanism Outline983021
-Ref: figure-load-extension983460
-Ref: figure-register-new-function985025
-Ref: figure-call-new-function986117
-Node: Extension API Description988179
-Node: Extension API Functions Introduction989821
-Ref: table-api-std-headers991657
-Node: General Data Types995522
-Ref: General Data Types-Footnote-11003883
-Node: Memory Allocation Functions1004182
-Ref: Memory Allocation Functions-Footnote-11008392
-Node: Constructor Functions1008491
-Node: Registration Functions1012077
-Node: Extension Functions1012762
-Node: Exit Callback Functions1018084
-Node: Extension Version String1019334
-Node: Input Parsers1019997
-Node: Output Wrappers1032718
-Node: Two-way processors1037230
-Node: Printing Messages1039495
-Ref: Printing Messages-Footnote-11040666
-Node: Updating ERRNO1040819
-Node: Requesting Values1041558
-Ref: table-value-types-returned1042295
-Node: Accessing Parameters1043231
-Node: Symbol Table Access1044466
-Node: Symbol table by name1044978
-Ref: Symbol table by name-Footnote-11048002
-Node: Symbol table by cookie1048130
-Ref: Symbol table by cookie-Footnote-11052315
-Node: Cached values1052379
-Ref: Cached values-Footnote-11055915
-Node: Array Manipulation1056068
-Ref: Array Manipulation-Footnote-11057159
-Node: Array Data Types1057196
-Ref: Array Data Types-Footnote-11059854
-Node: Array Functions1059946
-Node: Flattening Arrays1064444
-Node: Creating Arrays1071420
-Node: Redirection API1076187
-Node: Extension API Variables1079020
-Node: Extension Versioning1079731
-Ref: gawk-api-version1080160
-Node: Extension GMP/MPFR Versioning1081891
-Node: Extension API Informational Variables1083519
-Node: Extension API Boilerplate1084592
-Node: Changes from API V11088566
-Node: Finding Extensions1090138
-Node: Extension Example1090697
-Node: Internal File Description1091495
-Node: Internal File Ops1095575
-Ref: Internal File Ops-Footnote-11106925
-Node: Using Internal File Ops1107065
-Ref: Using Internal File Ops-Footnote-11109448
-Node: Extension Samples1109722
-Node: Extension Sample File Functions1111251
-Node: Extension Sample Fnmatch1118900
-Node: Extension Sample Fork1120387
-Node: Extension Sample Inplace1121605
-Node: Extension Sample Ord1124909
-Node: Extension Sample Readdir1125745
-Ref: table-readdir-file-types1126634
-Node: Extension Sample Revout1127439
-Node: Extension Sample Rev2way1128028
-Node: Extension Sample Read write array1128768
-Node: Extension Sample Readfile1130710
-Node: Extension Sample Time1131805
-Node: Extension Sample API Tests1133153
-Node: gawkextlib1133645
-Node: Extension summary1136563
-Node: Extension Exercises1140265
-Node: Language History1141507
-Node: V7/SVR3.11143163
-Node: SVR41145315
-Node: POSIX1146749
-Node: BTL1148129
-Node: POSIX/GNU1148858
-Node: Feature History1154636
-Node: Common Extensions1170682
-Node: Ranges and Locales1171965
-Ref: Ranges and Locales-Footnote-11176581
-Ref: Ranges and Locales-Footnote-21176608
-Ref: Ranges and Locales-Footnote-31176843
-Node: Contributors1177064
-Node: History summary1183009
-Node: Installation1184389
-Node: Gawk Distribution1185333
-Node: Getting1185817
-Node: Extracting1186780
-Node: Distribution contents1188418
-Node: Unix Installation1194898
-Node: Quick Installation1195580
-Node: Shell Startup Files1197994
-Node: Additional Configuration Options1199083
-Node: Configuration Philosophy1201248
-Node: Non-Unix Installation1203617
-Node: PC Installation1204077
-Node: PC Binary Installation1204915
-Node: PC Compiling1205350
-Node: PC Using1206467
-Node: Cygwin1210020
-Node: MSYS1211119
-Node: VMS Installation1211620
-Node: VMS Compilation1212411
-Ref: VMS Compilation-Footnote-11213640
-Node: VMS Dynamic Extensions1213698
-Node: VMS Installation Details1215383
-Node: VMS Running1217636
-Node: VMS GNV1221915
-Node: VMS Old Gawk1222650
-Node: Bugs1223121
-Node: Bug address1223784
-Node: Usenet1226766
-Node: Maintainers1227770
-Node: Other Versions1229031
-Node: Installation summary1235945
-Node: Notes1237147
-Node: Compatibility Mode1237941
-Node: Additions1238723
-Node: Accessing The Source1239648
-Node: Adding Code1241085
-Node: New Ports1247304
-Node: Derived Files1251679
-Ref: Derived Files-Footnote-11257339
-Ref: Derived Files-Footnote-21257374
-Ref: Derived Files-Footnote-31257972
-Node: Future Extensions1258086
-Node: Implementation Limitations1258744
-Node: Extension Design1259927
-Node: Old Extension Problems1261071
-Ref: Old Extension Problems-Footnote-11262589
-Node: Extension New Mechanism Goals1262646
-Ref: Extension New Mechanism Goals-Footnote-11266010
-Node: Extension Other Design Decisions1266199
-Node: Extension Future Growth1268312
-Node: Notes summary1269148
-Node: Basic Concepts1270306
-Node: Basic High Level1270987
-Ref: figure-general-flow1271269
-Ref: figure-process-flow1271954
-Ref: Basic High Level-Footnote-11275255
-Node: Basic Data Typing1275440
-Node: Glossary1278768
-Node: Copying1310606
-Node: GNU Free Documentation License1348149
-Node: Index1373269
+Ref: Options-Footnote-1136754
+Ref: Options-Footnote-2136985
+Node: Other Arguments137010
+Node: Naming Standard Input139957
+Node: Environment Variables141167
+Node: AWKPATH Variable141725
+Ref: AWKPATH Variable-Footnote-1145137
+Ref: AWKPATH Variable-Footnote-2145171
+Node: AWKLIBPATH Variable145432
+Node: Other Environment Variables147090
+Node: Exit Status150911
+Node: Include Files151588
+Node: Loading Shared Libraries155278
+Node: Obsolete156706
+Node: Undocumented157398
+Node: Invoking Summary157695
+Node: Regexp159355
+Node: Regexp Usage160809
+Node: Escape Sequences162846
+Node: Regexp Operators169078
+Node: Regexp Operator Details169563
+Ref: Regexp Operator Details-Footnote-1175685
+Node: Interval Expressions175832
+Ref: Interval Expressions-Footnote-1177267
+Node: Bracket Expressions177365
+Ref: table-char-classes179841
+Node: Leftmost Longest183167
+Node: Computed Regexps184470
+Node: GNU Regexp Operators187897
+Node: Case-sensitivity191576
+Ref: Case-sensitivity-Footnote-1194442
+Ref: Case-sensitivity-Footnote-2194677
+Node: Regexp Summary194785
+Node: Reading Files196251
+Node: Records198520
+Node: awk split records199595
+Node: gawk split records204870
+Ref: gawk split records-Footnote-1209456
+Node: Fields209493
+Node: Nonconstant Fields212234
+Ref: Nonconstant Fields-Footnote-1214470
+Node: Changing Fields214674
+Node: Field Separators220705
+Node: Default Field Splitting223403
+Node: Regexp Field Splitting224521
+Node: Single Character Fields227874
+Node: Command Line Field Separator228934
+Node: Full Line Fields232152
+Ref: Full Line Fields-Footnote-1233674
+Ref: Full Line Fields-Footnote-2233720
+Node: Field Splitting Summary233821
+Node: Constant Size235895
+Node: Fixed width data236627
+Node: Skipping intervening240094
+Node: Allowing trailing data240892
+Node: Fields with fixed data241929
+Node: Splitting By Content243447
+Ref: Splitting By Content-Footnote-1247097
+Node: Testing field creation247260
+Node: Multiple Line248885
+Node: Getline255162
+Node: Plain Getline257631
+Node: Getline/Variable260272
+Node: Getline/File261423
+Node: Getline/Variable/File262811
+Ref: Getline/Variable/File-Footnote-1264416
+Node: Getline/Pipe264504
+Node: Getline/Variable/Pipe267211
+Node: Getline/Coprocess268346
+Node: Getline/Variable/Coprocess269613
+Node: Getline Notes270355
+Node: Getline Summary273152
+Ref: table-getline-variants273576
+Node: Read Timeout274324
+Ref: Read Timeout-Footnote-1278230
+Node: Retrying Input278288
+Node: Command-line directories279487
+Node: Input Summary280393
+Node: Input Exercises283565
+Node: Printing284293
+Node: Print286127
+Node: Print Examples287584
+Node: Output Separators290364
+Node: OFMT292381
+Node: Printf293737
+Node: Basic Printf294522
+Node: Control Letters296096
+Node: Format Modifiers301260
+Node: Printf Examples307275
+Node: Redirection309761
+Node: Special FD316602
+Ref: Special FD-Footnote-1319770
+Node: Special Files319844
+Node: Other Inherited Files320461
+Node: Special Network321462
+Node: Special Caveats322322
+Node: Close Files And Pipes323271
+Ref: table-close-pipe-return-values330178
+Ref: Close Files And Pipes-Footnote-1330991
+Ref: Close Files And Pipes-Footnote-2331139
+Node: Nonfatal331291
+Node: Output Summary333629
+Node: Output Exercises334851
+Node: Expressions335530
+Node: Values336718
+Node: Constants337396
+Node: Scalar Constants338087
+Ref: Scalar Constants-Footnote-1340611
+Node: Nondecimal-numbers340861
+Node: Regexp Constants343862
+Node: Using Constant Regexps344388
+Node: Standard Regexp Constants345010
+Node: Strong Regexp Constants348198
+Node: Variables351156
+Node: Using Variables351813
+Node: Assignment Options353723
+Node: Conversion356190
+Node: Strings And Numbers356714
+Ref: Strings And Numbers-Footnote-1359777
+Node: Locale influences conversions359886
+Ref: table-locale-affects362644
+Node: All Operators363262
+Node: Arithmetic Ops363891
+Node: Concatenation366397
+Ref: Concatenation-Footnote-1369244
+Node: Assignment Ops369351
+Ref: table-assign-ops374342
+Node: Increment Ops375655
+Node: Truth Values and Conditions379115
+Node: Truth Values380189
+Node: Typing and Comparison381237
+Node: Variable Typing382057
+Ref: Variable Typing-Footnote-1388520
+Ref: Variable Typing-Footnote-2388592
+Node: Comparison Operators388669
+Ref: table-relational-ops389088
+Node: POSIX String Comparison392583
+Ref: POSIX String Comparison-Footnote-1394278
+Ref: POSIX String Comparison-Footnote-2394417
+Node: Boolean Ops394501
+Ref: Boolean Ops-Footnote-1398983
+Node: Conditional Exp399075
+Node: Function Calls400811
+Node: Precedence404688
+Node: Locales408347
+Node: Expressions Summary409979
+Node: Patterns and Actions412552
+Node: Pattern Overview413672
+Node: Regexp Patterns415349
+Node: Expression Patterns415891
+Node: Ranges419672
+Node: BEGIN/END422780
+Node: Using BEGIN/END423541
+Ref: Using BEGIN/END-Footnote-1426277
+Node: I/O And BEGIN/END426383
+Node: BEGINFILE/ENDFILE428697
+Node: Empty431610
+Node: Using Shell Variables431927
+Node: Action Overview434201
+Node: Statements436526
+Node: If Statement438374
+Node: While Statement439869
+Node: Do Statement441897
+Node: For Statement443045
+Node: Switch Statement446216
+Node: Break Statement448602
+Node: Continue Statement450694
+Node: Next Statement452521
+Node: Nextfile Statement454904
+Node: Exit Statement457556
+Node: Built-in Variables459959
+Node: User-modified461092
+Node: Auto-set468859
+Ref: Auto-set-Footnote-1485666
+Ref: Auto-set-Footnote-2485872
+Node: ARGC and ARGV485928
+Node: Pattern Action Summary490141
+Node: Arrays492571
+Node: Array Basics493900
+Node: Array Intro494744
+Ref: figure-array-elements496719
+Ref: Array Intro-Footnote-1499423
+Node: Reference to Elements499551
+Node: Assigning Elements502015
+Node: Array Example502506
+Node: Scanning an Array504265
+Node: Controlling Scanning507287
+Ref: Controlling Scanning-Footnote-1512686
+Node: Numeric Array Subscripts513002
+Node: Uninitialized Subscripts515186
+Node: Delete516805
+Ref: Delete-Footnote-1519557
+Node: Multidimensional519614
+Node: Multiscanning522709
+Node: Arrays of Arrays524300
+Node: Arrays Summary529068
+Node: Functions531161
+Node: Built-in532199
+Node: Calling Built-in533280
+Node: Numeric Functions535276
+Ref: Numeric Functions-Footnote-1539304
+Ref: Numeric Functions-Footnote-2539949
+Ref: Numeric Functions-Footnote-3539997
+Node: String Functions540269
+Ref: String Functions-Footnote-1564127
+Ref: String Functions-Footnote-2564255
+Ref: String Functions-Footnote-3564503
+Node: Gory Details564590
+Ref: table-sub-escapes566381
+Ref: table-sub-proposed567900
+Ref: table-posix-sub569263
+Ref: table-gensub-escapes570804
+Ref: Gory Details-Footnote-1571627
+Node: I/O Functions571781
+Ref: table-system-return-values578249
+Ref: I/O Functions-Footnote-1580329
+Ref: I/O Functions-Footnote-2580477
+Node: Time Functions580597
+Ref: Time Functions-Footnote-1591268
+Ref: Time Functions-Footnote-2591336
+Ref: Time Functions-Footnote-3591494
+Ref: Time Functions-Footnote-4591605
+Ref: Time Functions-Footnote-5591717
+Ref: Time Functions-Footnote-6591944
+Node: Bitwise Functions592210
+Ref: table-bitwise-ops592804
+Ref: Bitwise Functions-Footnote-1598867
+Ref: Bitwise Functions-Footnote-2599040
+Node: Type Functions599231
+Node: I18N Functions601982
+Node: User-defined603633
+Node: Definition Syntax604445
+Ref: Definition Syntax-Footnote-1610132
+Node: Function Example610203
+Ref: Function Example-Footnote-1613125
+Node: Function Calling613147
+Node: Calling A Function613735
+Node: Variable Scope614693
+Node: Pass By Value/Reference617687
+Node: Function Caveats620331
+Ref: Function Caveats-Footnote-1622378
+Node: Return Statement622498
+Node: Dynamic Typing625477
+Node: Indirect Calls626407
+Ref: Indirect Calls-Footnote-1636659
+Node: Functions Summary636787
+Node: Library Functions639492
+Ref: Library Functions-Footnote-1643099
+Ref: Library Functions-Footnote-2643242
+Node: Library Names643413
+Ref: Library Names-Footnote-1647080
+Ref: Library Names-Footnote-2647303
+Node: General Functions647389
+Node: Strtonum Function648492
+Node: Assert Function651514
+Node: Round Function654840
+Node: Cliff Random Function656380
+Node: Ordinal Functions657396
+Ref: Ordinal Functions-Footnote-1660459
+Ref: Ordinal Functions-Footnote-2660711
+Node: Join Function660921
+Ref: Join Function-Footnote-1662691
+Node: Getlocaltime Function662891
+Node: Readfile Function666633
+Node: Shell Quoting668610
+Node: Data File Management670011
+Node: Filetrans Function670643
+Node: Rewind Function674739
+Node: File Checking676648
+Ref: File Checking-Footnote-1677982
+Node: Empty Files678183
+Node: Ignoring Assigns680162
+Node: Getopt Function681712
+Ref: Getopt Function-Footnote-1693181
+Node: Passwd Functions693381
+Ref: Passwd Functions-Footnote-1702220
+Node: Group Functions702308
+Ref: Group Functions-Footnote-1710206
+Node: Walking Arrays710413
+Node: Library Functions Summary713421
+Node: Library Exercises714827
+Node: Sample Programs715292
+Node: Running Examples716062
+Node: Clones716790
+Node: Cut Program718014
+Node: Egrep Program727943
+Ref: Egrep Program-Footnote-1735455
+Node: Id Program735565
+Node: Split Program739245
+Ref: Split Program-Footnote-1742703
+Node: Tee Program742832
+Node: Uniq Program745622
+Node: Wc Program753243
+Ref: Wc Program-Footnote-1757498
+Node: Miscellaneous Programs757592
+Node: Dupword Program758805
+Node: Alarm Program760835
+Node: Translate Program765690
+Ref: Translate Program-Footnote-1770255
+Node: Labels Program770525
+Ref: Labels Program-Footnote-1773876
+Node: Word Sorting773960
+Node: History Sorting778032
+Node: Extract Program779867
+Node: Simple Sed787921
+Node: Igawk Program790995
+Ref: Igawk Program-Footnote-1805326
+Ref: Igawk Program-Footnote-2805528
+Ref: Igawk Program-Footnote-3805650
+Node: Anagram Program805765
+Node: Signature Program808827
+Node: Programs Summary810074
+Node: Programs Exercises811288
+Ref: Programs Exercises-Footnote-1815417
+Node: Advanced Features815508
+Node: Nondecimal Data817498
+Node: Array Sorting819089
+Node: Controlling Array Traversal819789
+Ref: Controlling Array Traversal-Footnote-1828157
+Node: Array Sorting Functions828275
+Ref: Array Sorting Functions-Footnote-1833366
+Node: Two-way I/O833562
+Ref: Two-way I/O-Footnote-1841283
+Ref: Two-way I/O-Footnote-2841470
+Node: TCP/IP Networking841552
+Node: Profiling844670
+Node: Advanced Features Summary853688
+Node: Internationalization855532
+Node: I18N and L10N857012
+Node: Explaining gettext857699
+Ref: Explaining gettext-Footnote-1863591
+Ref: Explaining gettext-Footnote-2863776
+Node: Programmer i18n863941
+Ref: Programmer i18n-Footnote-1868890
+Node: Translator i18n868939
+Node: String Extraction869733
+Ref: String Extraction-Footnote-1870865
+Node: Printf Ordering870951
+Ref: Printf Ordering-Footnote-1873737
+Node: I18N Portability873801
+Ref: I18N Portability-Footnote-1876257
+Node: I18N Example876320
+Ref: I18N Example-Footnote-1879595
+Ref: I18N Example-Footnote-2879668
+Node: Gawk I18N879777
+Node: I18N Summary880426
+Node: Debugger881767
+Node: Debugging882767
+Node: Debugging Concepts883208
+Node: Debugging Terms885017
+Node: Awk Debugging887592
+Ref: Awk Debugging-Footnote-1888537
+Node: Sample Debugging Session888669
+Node: Debugger Invocation889203
+Node: Finding The Bug890589
+Node: List of Debugger Commands897063
+Node: Breakpoint Control898396
+Node: Debugger Execution Control902090
+Node: Viewing And Changing Data905452
+Node: Execution Stack908993
+Node: Debugger Info910630
+Node: Miscellaneous Debugger Commands914701
+Node: Readline Support919763
+Node: Limitations920659
+Node: Debugging Summary923213
+Node: Namespaces924492
+Node: Global Namespace925571
+Node: Qualified Names926969
+Node: Default Namespace927968
+Node: Changing The Namespace928709
+Node: Naming Rules930323
+Node: Internal Name Management932171
+Node: Namespace Example933213
+Node: Namespace And Features935775
+Node: Namespace Summary937210
+Node: Arbitrary Precision Arithmetic938687
+Node: Computer Arithmetic940174
+Ref: table-numeric-ranges943940
+Ref: table-floating-point-ranges944433
+Ref: Computer Arithmetic-Footnote-1945091
+Node: Math Definitions945148
+Ref: table-ieee-formats948464
+Ref: Math Definitions-Footnote-1949067
+Node: MPFR features949172
+Node: FP Math Caution950890
+Ref: FP Math Caution-Footnote-1951962
+Node: Inexactness of computations952331
+Node: Inexact representation953291
+Node: Comparing FP Values954651
+Node: Errors accumulate955892
+Node: Getting Accuracy957325
+Node: Try To Round960035
+Node: Setting precision960934
+Ref: table-predefined-precision-strings961631
+Node: Setting the rounding mode963461
+Ref: table-gawk-rounding-modes963835
+Ref: Setting the rounding mode-Footnote-1967766
+Node: Arbitrary Precision Integers967945
+Ref: Arbitrary Precision Integers-Footnote-1971120
+Node: Checking for MPFR971269
+Node: POSIX Floating Point Problems972743
+Ref: POSIX Floating Point Problems-Footnote-1977028
+Node: Floating point summary977066
+Node: Dynamic Extensions979256
+Node: Extension Intro980809
+Node: Plugin License982075
+Node: Extension Mechanism Outline982872
+Ref: figure-load-extension983311
+Ref: figure-register-new-function984876
+Ref: figure-call-new-function985968
+Node: Extension API Description988030
+Node: Extension API Functions Introduction989672
+Ref: table-api-std-headers991508
+Node: General Data Types995373
+Ref: General Data Types-Footnote-11003734
+Node: Memory Allocation Functions1004033
+Ref: Memory Allocation Functions-Footnote-11008243
+Node: Constructor Functions1008342
+Node: Registration Functions1011928
+Node: Extension Functions1012613
+Node: Exit Callback Functions1017935
+Node: Extension Version String1019185
+Node: Input Parsers1019848
+Node: Output Wrappers1032569
+Node: Two-way processors1037081
+Node: Printing Messages1039346
+Ref: Printing Messages-Footnote-11040517
+Node: Updating ERRNO1040670
+Node: Requesting Values1041409
+Ref: table-value-types-returned1042146
+Node: Accessing Parameters1043082
+Node: Symbol Table Access1044317
+Node: Symbol table by name1044829
+Ref: Symbol table by name-Footnote-11047853
+Node: Symbol table by cookie1047981
+Ref: Symbol table by cookie-Footnote-11052166
+Node: Cached values1052230
+Ref: Cached values-Footnote-11055766
+Node: Array Manipulation1055919
+Ref: Array Manipulation-Footnote-11057010
+Node: Array Data Types1057047
+Ref: Array Data Types-Footnote-11059705
+Node: Array Functions1059797
+Node: Flattening Arrays1064295
+Node: Creating Arrays1071271
+Node: Redirection API1076038
+Node: Extension API Variables1078871
+Node: Extension Versioning1079582
+Ref: gawk-api-version1080011
+Node: Extension GMP/MPFR Versioning1081742
+Node: Extension API Informational Variables1083370
+Node: Extension API Boilerplate1084443
+Node: Changes from API V11088417
+Node: Finding Extensions1089989
+Node: Extension Example1090548
+Node: Internal File Description1091346
+Node: Internal File Ops1095426
+Ref: Internal File Ops-Footnote-11106776
+Node: Using Internal File Ops1106916
+Ref: Using Internal File Ops-Footnote-11109299
+Node: Extension Samples1109573
+Node: Extension Sample File Functions1111102
+Node: Extension Sample Fnmatch1118751
+Node: Extension Sample Fork1120238
+Node: Extension Sample Inplace1121456
+Node: Extension Sample Ord1124760
+Node: Extension Sample Readdir1125596
+Ref: table-readdir-file-types1126485
+Node: Extension Sample Revout1127290
+Node: Extension Sample Rev2way1127879
+Node: Extension Sample Read write array1128619
+Node: Extension Sample Readfile1130561
+Node: Extension Sample Time1131656
+Node: Extension Sample API Tests1133004
+Node: gawkextlib1133496
+Node: Extension summary1136414
+Node: Extension Exercises1140116
+Node: Language History1141358
+Node: V7/SVR3.11143014
+Node: SVR41145166
+Node: POSIX1146600
+Node: BTL1147980
+Node: POSIX/GNU1148709
+Node: Feature History1154487
+Node: Common Extensions1170533
+Node: Ranges and Locales1171816
+Ref: Ranges and Locales-Footnote-11176432
+Ref: Ranges and Locales-Footnote-21176459
+Ref: Ranges and Locales-Footnote-31176694
+Node: Contributors1176915
+Node: History summary1182860
+Node: Installation1184240
+Node: Gawk Distribution1185184
+Node: Getting1185668
+Node: Extracting1186631
+Node: Distribution contents1188269
+Node: Unix Installation1194749
+Node: Quick Installation1195431
+Node: Shell Startup Files1197845
+Node: Additional Configuration Options1198934
+Node: Configuration Philosophy1201099
+Node: Non-Unix Installation1203468
+Node: PC Installation1203928
+Node: PC Binary Installation1204766
+Node: PC Compiling1205201
+Node: PC Using1206318
+Node: Cygwin1209871
+Node: MSYS1210970
+Node: VMS Installation1211471
+Node: VMS Compilation1212262
+Ref: VMS Compilation-Footnote-11213491
+Node: VMS Dynamic Extensions1213549
+Node: VMS Installation Details1215234
+Node: VMS Running1217487
+Node: VMS GNV1221766
+Node: VMS Old Gawk1222501
+Node: Bugs1222972
+Node: Bug address1223635
+Node: Usenet1226617
+Node: Maintainers1227621
+Node: Other Versions1228882
+Node: Installation summary1235796
+Node: Notes1236998
+Node: Compatibility Mode1237792
+Node: Additions1238574
+Node: Accessing The Source1239499
+Node: Adding Code1240936
+Node: New Ports1247155
+Node: Derived Files1251530
+Ref: Derived Files-Footnote-11257190
+Ref: Derived Files-Footnote-21257225
+Ref: Derived Files-Footnote-31257823
+Node: Future Extensions1257937
+Node: Implementation Limitations1258595
+Node: Extension Design1259778
+Node: Old Extension Problems1260922
+Ref: Old Extension Problems-Footnote-11262440
+Node: Extension New Mechanism Goals1262497
+Ref: Extension New Mechanism Goals-Footnote-11265861
+Node: Extension Other Design Decisions1266050
+Node: Extension Future Growth1268163
+Node: Notes summary1268999
+Node: Basic Concepts1270157
+Node: Basic High Level1270838
+Ref: figure-general-flow1271120
+Ref: figure-process-flow1271805
+Ref: Basic High Level-Footnote-11275106
+Node: Basic Data Typing1275291
+Node: Glossary1278619
+Node: Copying1310457
+Node: GNU Free Documentation License1348000
+Node: Index1373120
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 21670d5..0e20dc8 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -4340,9 +4340,12 @@ As with @option{-f}, the @option{-e} and @option{-i}
 options may also be used multiple times on the command line.
 
 @cindex @option{-e} option
-If no @option{-f} or @option{-e} option is specified, then @command{gawk}
-uses the first nonoption command-line argument as the text of the
-program source code.
+If no @option{-f} option (or @option{-e} option for @command{gawk})
+is specified, then @command{awk} uses the first nonoption command-line
+argument as the text of the program source code.  Arguments on
+the command line that follow the program text are entered into the
address@hidden array; @command{awk} does @emph{not} continue to parse the
+command line looking for options.
 
 @cindex @env{POSIXLY_CORRECT} environment variable
 @cindex lint checking, @env{POSIXLY_CORRECT} environment variable
@@ -8315,7 +8318,7 @@ this special feature should apply when @code{FS} is a 
regexp.
 However, Unix @command{awk} has never behaved that way, nor has
 @command{gawk}. This is essentially a bug in POSIX.
 @c Noted as of 4/2019; working to get the standard fixed.
address@hidden NOTE
address@hidden quotation
 
 The original motivation for this special exception was probably to provide
 useful behavior in the default case (i.e., @code{FS} is equal
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index e986d03..c0a7b7d 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -4250,9 +4250,12 @@ As with @option{-f}, the @option{-e} and @option{-i}
 options may also be used multiple times on the command line.
 
 @cindex @option{-e} option
-If no @option{-f} or @option{-e} option is specified, then @command{gawk}
-uses the first nonoption command-line argument as the text of the
-program source code.
+If no @option{-f} option (or @option{-e} option for @command{gawk})
+is specified, then @command{awk} uses the first nonoption command-line
+argument as the text of the program source code.  Arguments on
+the command line that follow the program text are entered into the
address@hidden array; @command{awk} does @emph{not} continue to parse the
+command line looking for options.
 
 @cindex @env{POSIXLY_CORRECT} environment variable
 @cindex lint checking, @env{POSIXLY_CORRECT} environment variable
@@ -7913,7 +7916,7 @@ this special feature should apply when @code{FS} is a 
regexp.
 However, Unix @command{awk} has never behaved that way, nor has
 @command{gawk}. This is essentially a bug in POSIX.
 @c Noted as of 4/2019; working to get the standard fixed.
address@hidden NOTE
address@hidden quotation
 
 The original motivation for this special exception was probably to provide
 useful behavior in the default case (i.e., @code{FS} is equal

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

Summary of changes:
 ChangeLog       |    6 +
 doc/ChangeLog   |    6 +
 doc/gawk.info   | 1290 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |   18 +-
 doc/gawktexi.in |   18 +-
 interpret.h     |    3 +-
 6 files changed, 691 insertions(+), 650 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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