gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, porting, updated. gawk-4.1.0-2551-g09149


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, porting, updated. gawk-4.1.0-2551-g09149c0
Date: Sun, 23 Apr 2017 15:21:43 -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, porting has been updated
       via  09149c00e701d265efb08cec1040841aa40d6fcf (commit)
      from  84f33c8b74c45e977ea05855f64545140dc6c2de (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=09149c00e701d265efb08cec1040841aa40d6fcf

commit 09149c00e701d265efb08cec1040841aa40d6fcf
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Apr 23 22:20:53 2017 +0300

    Fix --source to be like 3.1.x and improve the doc.

diff --git a/ChangeLog b/ChangeLog
index 101a89f..c91c833 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2017-04-23         Arnold D. Robbins     <address@hidden>
+
+       * awkgram.y (nextc): Adjust so that 3.1.x behavior is restored
+       whereby --source arguments are concatenated. Thanks to
+       "Neil R. Ormos" <address@hidden> for the report.
+
 2017-04-21         Arnold D. Robbins     <address@hidden>
 
        * awk.h (NODE): Put the `val' subportion back the way it
diff --git a/awkgram.c b/awkgram.c
index 3ad0450..aa7b4a4 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -5519,8 +5519,21 @@ nextc(bool check_for_bad)
 {
        if (gawk_mb_cur_max > 1) {
 again:
+#ifdef NO_CONTINUE_SOURCE_STRINGS
                if (lexeof)
                        return END_FILE;
+#else
+               if (lexeof) {
+                       if (sourcefile->next == srcfiles)
+                               return END_FILE;
+                       else {
+                               next_sourcefile();
+                               if (get_src_buf())
+                                       goto again;
+                               return END_SRC;
+                       }
+               }
+#endif
                if (lexptr == NULL || lexptr >= lexend) {
                        if (get_src_buf())
                                goto again;
@@ -5572,8 +5585,17 @@ again:
                return (int) (unsigned char) *lexptr++;
        } else {
                do {
+#ifdef NO_CONTINUE_SOURCE_STRINGS
                        if (lexeof)
                                return END_FILE;
+#else
+                       if (lexeof) {
+                               if (sourcefile->next == srcfiles)
+                                       return END_FILE;
+                               else
+                                       next_sourcefile();
+                       }
+#endif
                        if (lexptr && lexptr < lexend) {
                                if (check_for_bad || *lexptr == '\0')
                                        check_bad_char(*lexptr);
diff --git a/awkgram.y b/awkgram.y
index 46970ee..6e4d6c3 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -3099,8 +3099,21 @@ nextc(bool check_for_bad)
 {
        if (gawk_mb_cur_max > 1) {
 again:
+#ifdef NO_CONTINUE_SOURCE_STRINGS
                if (lexeof)
                        return END_FILE;
+#else
+               if (lexeof) {
+                       if (sourcefile->next == srcfiles)
+                               return END_FILE;
+                       else {
+                               next_sourcefile();
+                               if (get_src_buf())
+                                       goto again;
+                               return END_SRC;
+                       }
+               }
+#endif
                if (lexptr == NULL || lexptr >= lexend) {
                        if (get_src_buf())
                                goto again;
@@ -3152,8 +3165,17 @@ again:
                return (int) (unsigned char) *lexptr++;
        } else {
                do {
+#ifdef NO_CONTINUE_SOURCE_STRINGS
                        if (lexeof)
                                return END_FILE;
+#else
+                       if (lexeof) {
+                               if (sourcefile->next == srcfiles)
+                                       return END_FILE;
+                               else
+                                       next_sourcefile();
+                       }
+#endif
                        if (lexptr && lexptr < lexend) {
                                if (check_for_bad || *lexptr == '\0')
                                        check_bad_char(*lexptr);
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 24ff43a..ad5aca4 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,7 @@
+2017-04-23         Arnold D. Robbins     <address@hidden>
+
+       * gawktexi.in: Improve documentation of --source option.
+
 2017-04-20         Arnold D. Robbins     <address@hidden>
 
        * gawktexi.in: Document --disable-mpfr configure option.
diff --git a/doc/gawk.info b/doc/gawk.info
index f2fd50f..5111770 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -2557,6 +2557,20 @@ The following list describes options mandated by the 
POSIX standard:
      have library functions that you want to use from your command-line
      programs (*note AWKPATH Variable::).
 
+     Note that 'gawk' treats each string as if it ended with a newline
+     character (even if it doesn't).  This makes building the total
+     program easier.
+
+          CAUTION: At the moment, there is no requirement that each
+          PROGRAM-TEXT be a full syntactic unit.  I.e., the following
+          currently works:
+
+               $ gawk -e 'BEGIN { a = 5 ;' -e 'print a }'
+               -| 5
+
+          However, this could change in the future, so it's not a good
+          idea to rely upon this feature.
+
 '-E' FILE
 '--exec' FILE
      Similar to '-f', read 'awk' program text from FILE.  There are two
@@ -32512,7 +32526,7 @@ Index
 * - (hyphen), filenames beginning with:  Options.             (line  60)
 * - (hyphen), in bracket expressions:    Bracket Expressions. (line  25)
 * --assign option:                       Options.             (line  32)
-* --bignum option:                       Options.             (line 203)
+* --bignum option:                       Options.             (line 217)
 * --characters-as-bytes option:          Options.             (line  69)
 * --copyright option:                    Options.             (line  89)
 * --debug option:                        Options.             (line 108)
@@ -32527,31 +32541,31 @@ Index
 * --dump-variables option:               Options.             (line  94)
 * --dump-variables option, using for library functions: Library Names.
                                                               (line  45)
-* --exec option:                         Options.             (line 125)
+* --exec option:                         Options.             (line 139)
 * --field-separator option:              Options.             (line  21)
 * --file option:                         Options.             (line  25)
-* --gen-pot option:                      Options.             (line 147)
+* --gen-pot option:                      Options.             (line 161)
 * --gen-pot option <1>:                  String Extraction.   (line   6)
 * --gen-pot option <2>:                  String Extraction.   (line   6)
-* --help option:                         Options.             (line 154)
-* --include option:                      Options.             (line 159)
+* --help option:                         Options.             (line 168)
+* --include option:                      Options.             (line 173)
 * --lint option:                         Command Line.        (line  20)
-* --lint option <1>:                     Options.             (line 184)
-* --lint-old option:                     Options.             (line 299)
-* --load option:                         Options.             (line 172)
-* --no-optimize option:                  Options.             (line 285)
-* --non-decimal-data option:             Options.             (line 209)
+* --lint option <1>:                     Options.             (line 198)
+* --lint-old option:                     Options.             (line 313)
+* --load option:                         Options.             (line 186)
+* --no-optimize option:                  Options.             (line 299)
+* --non-decimal-data option:             Options.             (line 223)
 * --non-decimal-data option <1>:         Nondecimal Data.     (line   6)
 * --non-decimal-data option, strtonum() function and: Nondecimal Data.
                                                               (line  35)
-* --optimize option:                     Options.             (line 234)
-* --posix option:                        Options.             (line 257)
-* --posix option, --traditional option and: Options.          (line 272)
-* --pretty-print option:                 Options.             (line 223)
-* --profile option:                      Options.             (line 245)
+* --optimize option:                     Options.             (line 248)
+* --posix option:                        Options.             (line 271)
+* --posix option, --traditional option and: Options.          (line 286)
+* --pretty-print option:                 Options.             (line 237)
+* --profile option:                      Options.             (line 259)
 * --profile option <1>:                  Profiling.           (line  12)
-* --re-interval option:                  Options.             (line 278)
-* --sandbox option:                      Options.             (line 290)
+* --re-interval option:                  Options.             (line 292)
+* --sandbox option:                      Options.             (line 304)
 * --sandbox option, disabling system() function: I/O Functions.
                                                               (line 129)
 * --sandbox option, input redirection with getline: Getline.  (line  19)
@@ -32559,9 +32573,9 @@ Index
                                                               (line   6)
 * --source option:                       Options.             (line 117)
 * --traditional option:                  Options.             (line  82)
-* --traditional option, --posix option and: Options.          (line 272)
-* --use-lc-numeric option:               Options.             (line 218)
-* --version option:                      Options.             (line 304)
+* --traditional option, --posix option and: Options.          (line 286)
+* --use-lc-numeric option:               Options.             (line 232)
+* --version option:                      Options.             (line 318)
 * --with-whiny-user-strftime configuration option: Additional Configuration 
Options.
                                                               (line  42)
 * -b option:                             Options.             (line  69)
@@ -32570,33 +32584,33 @@ Index
 * -d option:                             Options.             (line  94)
 * -D option:                             Options.             (line 108)
 * -e option:                             Options.             (line 117)
-* -E option:                             Options.             (line 125)
-* -e option <1>:                         Options.             (line 340)
+* -E option:                             Options.             (line 139)
+* -e option <1>:                         Options.             (line 354)
 * -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 312)
+* -F option, -Ft sets FS to TAB:         Options.             (line 326)
 * -F option, command-line:               Command Line Field Separator.
                                                               (line   6)
-* -f option, multiple uses:              Options.             (line 317)
-* -g option:                             Options.             (line 147)
-* -h option:                             Options.             (line 154)
-* -i option:                             Options.             (line 159)
-* -l option:                             Options.             (line 172)
-* -l option <1>:                         Options.             (line 184)
-* -L option:                             Options.             (line 299)
-* -M option:                             Options.             (line 203)
-* -n option:                             Options.             (line 209)
-* -N option:                             Options.             (line 218)
-* -o option:                             Options.             (line 223)
-* -O option:                             Options.             (line 234)
-* -p option:                             Options.             (line 245)
-* -P option:                             Options.             (line 257)
-* -r option:                             Options.             (line 278)
-* -s option:                             Options.             (line 285)
-* -S option:                             Options.             (line 290)
+* -f option, multiple uses:              Options.             (line 331)
+* -g option:                             Options.             (line 161)
+* -h option:                             Options.             (line 168)
+* -i option:                             Options.             (line 173)
+* -l option:                             Options.             (line 186)
+* -l option <1>:                         Options.             (line 198)
+* -L option:                             Options.             (line 313)
+* -M option:                             Options.             (line 217)
+* -n option:                             Options.             (line 223)
+* -N option:                             Options.             (line 232)
+* -o option:                             Options.             (line 237)
+* -O option:                             Options.             (line 248)
+* -p option:                             Options.             (line 259)
+* -P option:                             Options.             (line 271)
+* -r option:                             Options.             (line 292)
+* -s option:                             Options.             (line 299)
+* -S option:                             Options.             (line 304)
 * -v option:                             Options.             (line  32)
-* -V option:                             Options.             (line 304)
+* -V option:                             Options.             (line 318)
 * -v option <1>:                         Assignment Options.  (line  12)
 * -W option:                             Options.             (line  47)
 * . (period), regexp operator:           Regexp Operators.    (line  44)
@@ -32895,7 +32909,7 @@ Index
 * awf (amazingly workable formatter) program: Glossary.       (line  24)
 * awk debugging, enabling:               Options.             (line 108)
 * awk language, POSIX version:           Assignment Ops.      (line 138)
-* awk profiling, enabling:               Options.             (line 245)
+* awk profiling, enabling:               Options.             (line 259)
 * awk programs:                          Getting Started.     (line  12)
 * awk programs <1>:                      Executable Scripts.  (line   6)
 * awk programs <2>:                      Two Rules.           (line   6)
@@ -32909,8 +32923,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 125)
-* awk programs, location of <2>:         Options.             (line 159)
+* awk programs, location of <1>:         Options.             (line 139)
+* awk programs, location of <2>:         Options.             (line 173)
 * awk programs, one-line examples:       Very Simple.         (line  46)
 * awk programs, profiling:               Profiling.           (line   6)
 * awk programs, running:                 Running gawk.        (line   6)
@@ -33153,7 +33167,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 125)
+* CGI, awk scripts for:                  Options.             (line 139)
 * character classes, See bracket expressions: Regexp Operators.
                                                               (line  56)
 * character lists in regular expression: Bracket Expressions. (line   6)
@@ -33303,7 +33317,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 358)
+* csh utility, POSIXLY_CORRECT environment variable: Options. (line 372)
 * csh utility, |& operator, comparison with: Two-way I/O.     (line  27)
 * ctime() user-defined function:         Function Example.    (line  74)
 * currency symbols, localization:        Explaining gettext.  (line 104)
@@ -33492,7 +33506,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 269)
+* decimal point character, locale specific: Options.          (line 283)
 * decrement operators:                   Increment Ops.       (line  35)
 * default keyword:                       Switch Statement.    (line   6)
 * Deifik, Scott:                         Acknowledgments.     (line  60)
@@ -33871,7 +33885,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 147)
+* files, portable object, generating:    Options.             (line 161)
 * files, processing, ARGIND variable and: Auto-set.           (line  50)
 * files, reading:                        Rewind Function.     (line   6)
 * files, reading, multiline records:     Multiple Line.       (line   6)
@@ -33934,7 +33948,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 266)
+* FS variable, as TAB character:         Options.             (line 280)
 * 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.
@@ -34024,7 +34038,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 257)
+* gawk, extensions, disabling:           Options.             (line 271)
 * gawk, features, adding:                Adding Code.         (line   6)
 * gawk, features, advanced:              Advanced Features.   (line   6)
 * gawk, field separators and:            User-modified.       (line  74)
@@ -34085,7 +34099,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 304)
+* gawk, versions of, information about, printing: Options.    (line 318)
 * gawk, VMS version of:                  VMS Installation.    (line   6)
 * gawk, word-boundary operator:          GNU Regexp Operators.
                                                               (line  66)
@@ -34164,7 +34178,7 @@ Index
 * GNU Lesser General Public License:     Glossary.            (line 491)
 * GNU long options:                      Command Line.        (line  13)
 * GNU long options <1>:                  Options.             (line   6)
-* GNU long options, printing list of:    Options.             (line 154)
+* GNU long options, printing list of:    Options.             (line 168)
 * GNU Project:                           Manual History.      (line  11)
 * GNU Project <1>:                       Glossary.            (line 405)
 * GNU/Linux:                             Manual History.      (line  28)
@@ -34196,7 +34210,7 @@ Index
 * help debugger command:                 Miscellaneous Debugger Commands.
                                                               (line  69)
 * hexadecimal numbers:                   Nondecimal-numbers.  (line   6)
-* hexadecimal values, enabling interpretation of: Options.    (line 209)
+* hexadecimal values, enabling interpretation of: Options.    (line 223)
 * history expansion, in debugger:        Readline Support.    (line   6)
 * histsort.awk program:                  History Sorting.     (line  25)
 * Hughes, Phil:                          Acknowledgments.     (line  43)
@@ -34411,9 +34425,9 @@ Index
 * lint checking, array subscripts:       Uninitialized Subscripts.
                                                               (line  43)
 * lint checking, empty programs:         Command Line.        (line  16)
-* lint checking, issuing warnings:       Options.             (line 184)
+* lint checking, issuing warnings:       Options.             (line 198)
 * lint checking, POSIXLY_CORRECT environment variable: Options.
-                                                              (line 343)
+                                                              (line 357)
 * lint checking, undefined functions:    Pass By Value/Reference.
                                                               (line  85)
 * LINT variable:                         User-modified.       (line  90)
@@ -34426,10 +34440,10 @@ Index
 * list function definitions, in debugger: Debugger Info.      (line  30)
 * loading extensions, @load directive:   Loading Shared Libraries.
                                                               (line   8)
-* loading, extensions:                   Options.             (line 172)
+* loading, extensions:                   Options.             (line 186)
 * local variables, in a function:        Variable Scope.      (line   6)
 * locale categories:                     Explaining gettext.  (line  81)
-* locale decimal point character:        Options.             (line 269)
+* locale decimal point character:        Options.             (line 283)
 * locale, definition of:                 Locales.             (line   6)
 * localization:                          I18N and L10N.       (line   6)
 * localization, See internationalization, localization: I18N and L10N.
@@ -34511,7 +34525,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 263)
+* newlines <1>:                          Options.             (line 277)
 * newlines <2>:                          Boolean Ops.         (line  69)
 * newlines, as record separators:        awk split records.   (line  12)
 * newlines, in dynamic regexps:          Computed Regexps.    (line  60)
@@ -34586,7 +34600,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 209)
+* octal values, enabling interpretation of: Options.          (line 223)
 * OFMT variable:                         OFMT.                (line  15)
 * OFMT variable <1>:                     Strings And Numbers. (line  56)
 * OFMT variable <2>:                     User-modified.       (line 107)
@@ -34640,7 +34654,7 @@ Index
 * options, deprecated:                   Obsolete.            (line   6)
 * options, long:                         Command Line.        (line  13)
 * options, long <1>:                     Options.             (line   6)
-* options, printing list of:             Options.             (line 154)
+* options, printing list of:             Options.             (line 168)
 * or:                                    Bitwise Functions.   (line  50)
 * OR bitwise operation:                  Bitwise Functions.   (line   6)
 * or Boolean-logic operator:             Boolean Ops.         (line   6)
@@ -34738,13 +34752,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 363)
+* portability, POSIXLY_CORRECT environment variable: Options. (line 377)
 * portability, substr() function:        String Functions.    (line 515)
 * 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 147)
+* portable object files, generating:     Options.             (line 161)
 * portable object template files:        Explaining gettext.  (line  31)
 * porting gawk:                          New Ports.           (line   6)
 * positional specifiers, printf statement: Format Modifiers.  (line  13)
@@ -34786,12 +34800,12 @@ 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 257)
-* POSIX mode <1>:                        Options.             (line 343)
+* POSIX mode:                            Options.             (line 271)
+* POSIX mode <1>:                        Options.             (line 357)
 * 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 343)
+* POSIXLY_CORRECT environment variable:  Options.             (line 357)
 * PREC variable:                         User-modified.       (line 127)
 * precedence:                            Increment Ops.       (line  60)
 * precedence <1>:                        Precedence.          (line   6)
@@ -34833,7 +34847,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 154)
+* printing, list of options:             Options.             (line 168)
 * printing, mailing labels:              Labels Program.      (line   6)
 * printing, unduplicated lines of text:  Uniq Program.        (line   6)
 * printing, user information:            Id Program.          (line   6)
@@ -34974,7 +34988,7 @@ Index
                                                               (line  60)
 * regular expressions, gawk, command-line options: GNU Regexp Operators.
                                                               (line  73)
-* regular expressions, interval expressions and: Options.     (line 278)
+* regular expressions, interval expressions and: Options.     (line 292)
 * regular expressions, leftmost longest match: Leftmost Longest.
                                                               (line   6)
 * regular expressions, operators:        Regexp Usage.        (line  19)
@@ -35056,7 +35070,7 @@ Index
                                                               (line  68)
 * sample debugging session:              Sample Debugging Session.
                                                               (line   6)
-* sandbox mode:                          Options.             (line 290)
+* sandbox mode:                          Options.             (line 304)
 * save debugger options:                 Debugger Info.       (line  85)
 * scalar or array:                       Type Functions.      (line  11)
 * scalar values:                         Basic Data Typing.   (line  13)
@@ -35379,7 +35393,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 209)
+* troubleshooting, --non-decimal-data option: Options.        (line 223)
 * troubleshooting, == operator:          Comparison Operators.
                                                               (line  37)
 * troubleshooting, awk uses FS not IFS:  Field Separators.    (line  29)
@@ -35520,7 +35534,7 @@ Index
 * Wall, Larry:                           Array Intro.         (line   6)
 * Wall, Larry <1>:                       Future Extensions.   (line   6)
 * Wallin, Anders:                        Contributors.        (line 104)
-* warnings, issuing:                     Options.             (line 184)
+* warnings, issuing:                     Options.             (line 198)
 * watch debugger command:                Viewing And Changing Data.
                                                               (line  66)
 * watchpoint:                            Debugging Terms.     (line  42)
@@ -35536,7 +35550,7 @@ Index
 * whitespace, as field separators:       Default Field Splitting.
                                                               (line   6)
 * whitespace, functions, calling:        Calling Built-in.    (line  10)
-* whitespace, newlines as:               Options.             (line 263)
+* whitespace, newlines as:               Options.             (line 277)
 * Williams, Kent:                        Contributors.        (line  35)
 * Woehlke, Matthew:                      Contributors.        (line  80)
 * Woods, John:                           Contributors.        (line  28)
@@ -35606,534 +35620,534 @@ Node: Intro Summary114368
 Node: Invoking Gawk115252
 Node: Command Line116766
 Node: Options117564
-Ref: Options-Footnote-1133663
-Ref: Options-Footnote-2133893
-Node: Other Arguments133918
-Node: Naming Standard Input136865
-Node: Environment Variables137958
-Node: AWKPATH Variable138516
-Ref: AWKPATH Variable-Footnote-1141927
-Ref: AWKPATH Variable-Footnote-2141961
-Node: AWKLIBPATH Variable142222
-Node: Other Environment Variables143479
-Node: Exit Status147300
-Node: Include Files147977
-Node: Loading Shared Libraries151572
-Node: Obsolete153000
-Node: Undocumented153692
-Node: Invoking Summary153989
-Node: Regexp155649
-Node: Regexp Usage157103
-Node: Escape Sequences159140
-Node: Regexp Operators165372
-Ref: Regexp Operators-Footnote-1172788
-Ref: Regexp Operators-Footnote-2172935
-Node: Bracket Expressions173033
-Ref: table-char-classes175509
-Node: Leftmost Longest178646
-Node: Computed Regexps179949
-Node: GNU Regexp Operators183376
-Node: Case-sensitivity187055
-Ref: Case-sensitivity-Footnote-1189942
-Ref: Case-sensitivity-Footnote-2190177
-Node: Regexp Summary190285
-Node: Reading Files191751
-Node: Records193914
-Node: awk split records194647
-Node: gawk split records199578
-Ref: gawk split records-Footnote-1204118
-Node: Fields204155
-Node: Nonconstant Fields206896
-Ref: Nonconstant Fields-Footnote-1209132
-Node: Changing Fields209336
-Node: Field Separators215264
-Node: Default Field Splitting217962
-Node: Regexp Field Splitting219080
-Node: Single Character Fields222433
-Node: Command Line Field Separator223493
-Node: Full Line Fields226711
-Ref: Full Line Fields-Footnote-1228233
-Ref: Full Line Fields-Footnote-2228279
-Node: Field Splitting Summary228380
-Node: Constant Size230454
-Node: Splitting By Content235763
-Ref: Splitting By Content-Footnote-1239903
-Node: Multiple Line240066
-Ref: Multiple Line-Footnote-1245948
-Node: Getline246127
-Node: Plain Getline248594
-Node: Getline/Variable251233
-Node: Getline/File252382
-Node: Getline/Variable/File253768
-Ref: Getline/Variable/File-Footnote-1255371
-Node: Getline/Pipe255459
-Node: Getline/Variable/Pipe258164
-Node: Getline/Coprocess259297
-Node: Getline/Variable/Coprocess260562
-Node: Getline Notes261302
-Node: Getline Summary264097
-Ref: table-getline-variants264519
-Node: Read Timeout265267
-Ref: Read Timeout-Footnote-1269173
-Node: Retrying Input269231
-Node: Command-line directories270430
-Node: Input Summary271336
-Node: Input Exercises274508
-Node: Printing275236
-Node: Print277070
-Node: Print Examples278527
-Node: Output Separators281307
-Node: OFMT283324
-Node: Printf284680
-Node: Basic Printf285465
-Node: Control Letters287039
-Node: Format Modifiers291027
-Node: Printf Examples297042
-Node: Redirection299528
-Node: Special FD306369
-Ref: Special FD-Footnote-1309537
-Node: Special Files309611
-Node: Other Inherited Files310228
-Node: Special Network311229
-Node: Special Caveats312089
-Node: Close Files And Pipes313038
-Ref: table-close-pipe-return-values319945
-Ref: Close Files And Pipes-Footnote-1320728
-Ref: Close Files And Pipes-Footnote-2320876
-Node: Nonfatal321028
-Node: Output Summary323353
-Node: Output Exercises324575
-Node: Expressions325254
-Node: Values326442
-Node: Constants327120
-Node: Scalar Constants327811
-Ref: Scalar Constants-Footnote-1328675
-Node: Nondecimal-numbers328925
-Node: Regexp Constants331926
-Node: Using Constant Regexps332452
-Node: Standard Regexp Constants333074
-Node: Strong Regexp Constants336262
-Node: Variables339220
-Node: Using Variables339877
-Node: Assignment Options341787
-Node: Conversion343660
-Node: Strings And Numbers344184
-Ref: Strings And Numbers-Footnote-1347247
-Node: Locale influences conversions347356
-Ref: table-locale-affects350114
-Node: All Operators350732
-Node: Arithmetic Ops351361
-Node: Concatenation353867
-Ref: Concatenation-Footnote-1356714
-Node: Assignment Ops356821
-Ref: table-assign-ops361812
-Node: Increment Ops363125
-Node: Truth Values and Conditions366585
-Node: Truth Values367659
-Node: Typing and Comparison368707
-Node: Variable Typing369527
-Ref: Variable Typing-Footnote-1375990
-Ref: Variable Typing-Footnote-2376062
-Node: Comparison Operators376139
-Ref: table-relational-ops376558
-Node: POSIX String Comparison380053
-Ref: POSIX String Comparison-Footnote-1381748
-Ref: POSIX String Comparison-Footnote-2381887
-Node: Boolean Ops381971
-Ref: Boolean Ops-Footnote-1386453
-Node: Conditional Exp386545
-Node: Function Calls388281
-Node: Precedence392158
-Node: Locales395817
-Node: Expressions Summary397449
-Node: Patterns and Actions400022
-Node: Pattern Overview401142
-Node: Regexp Patterns402819
-Node: Expression Patterns403361
-Node: Ranges407142
-Node: BEGIN/END410250
-Node: Using BEGIN/END411011
-Ref: Using BEGIN/END-Footnote-1413747
-Node: I/O And BEGIN/END413853
-Node: BEGINFILE/ENDFILE416167
-Node: Empty419074
-Node: Using Shell Variables419391
-Node: Action Overview421665
-Node: Statements423990
-Node: If Statement425838
-Node: While Statement427333
-Node: Do Statement429361
-Node: For Statement430509
-Node: Switch Statement433667
-Node: Break Statement436053
-Node: Continue Statement438145
-Node: Next Statement439972
-Node: Nextfile Statement442355
-Node: Exit Statement445007
-Node: Built-in Variables447410
-Node: User-modified448543
-Node: Auto-set456310
-Ref: Auto-set-Footnote-1471038
-Ref: Auto-set-Footnote-2471244
-Node: ARGC and ARGV471300
-Node: Pattern Action Summary475513
-Node: Arrays477943
-Node: Array Basics479272
-Node: Array Intro480116
-Ref: figure-array-elements482091
-Ref: Array Intro-Footnote-1484795
-Node: Reference to Elements484923
-Node: Assigning Elements487387
-Node: Array Example487878
-Node: Scanning an Array489637
-Node: Controlling Scanning492659
-Ref: Controlling Scanning-Footnote-1498058
-Node: Numeric Array Subscripts498374
-Node: Uninitialized Subscripts500558
-Node: Delete502177
-Ref: Delete-Footnote-1504929
-Node: Multidimensional504986
-Node: Multiscanning508081
-Node: Arrays of Arrays509672
-Node: Arrays Summary514439
-Node: Functions516532
-Node: Built-in517570
-Node: Calling Built-in518651
-Node: Numeric Functions520647
-Ref: Numeric Functions-Footnote-1525592
-Ref: Numeric Functions-Footnote-2525949
-Ref: Numeric Functions-Footnote-3525997
-Node: String Functions526269
-Ref: String Functions-Footnote-1549927
-Ref: String Functions-Footnote-2550055
-Ref: String Functions-Footnote-3550303
-Node: Gory Details550390
-Ref: table-sub-escapes552181
-Ref: table-sub-proposed553700
-Ref: table-posix-sub555063
-Ref: table-gensub-escapes556604
-Ref: Gory Details-Footnote-1557427
-Node: I/O Functions557581
-Ref: table-system-return-values564163
-Ref: I/O Functions-Footnote-1566143
-Ref: I/O Functions-Footnote-2566291
-Node: Time Functions566411
-Ref: Time Functions-Footnote-1577078
-Ref: Time Functions-Footnote-2577146
-Ref: Time Functions-Footnote-3577304
-Ref: Time Functions-Footnote-4577415
-Ref: Time Functions-Footnote-5577527
-Ref: Time Functions-Footnote-6577754
-Node: Bitwise Functions578020
-Ref: table-bitwise-ops578614
-Ref: Bitwise Functions-Footnote-1584647
-Ref: Bitwise Functions-Footnote-2584820
-Node: Type Functions585011
-Node: I18N Functions587686
-Node: User-defined589337
-Node: Definition Syntax590142
-Ref: Definition Syntax-Footnote-1595829
-Node: Function Example595900
-Ref: Function Example-Footnote-1598822
-Node: Function Caveats598844
-Node: Calling A Function599362
-Node: Variable Scope600320
-Node: Pass By Value/Reference603314
-Node: Return Statement606813
-Node: Dynamic Typing609792
-Node: Indirect Calls610722
-Ref: Indirect Calls-Footnote-1620973
-Node: Functions Summary621101
-Node: Library Functions623806
-Ref: Library Functions-Footnote-1627413
-Ref: Library Functions-Footnote-2627556
-Node: Library Names627727
-Ref: Library Names-Footnote-1631187
-Ref: Library Names-Footnote-2631410
-Node: General Functions631496
-Node: Strtonum Function632599
-Node: Assert Function635621
-Node: Round Function638947
-Node: Cliff Random Function640488
-Node: Ordinal Functions641504
-Ref: Ordinal Functions-Footnote-1644567
-Ref: Ordinal Functions-Footnote-2644819
-Node: Join Function645029
-Ref: Join Function-Footnote-1646799
-Node: Getlocaltime Function646999
-Node: Readfile Function650741
-Node: Shell Quoting652713
-Node: Data File Management654114
-Node: Filetrans Function654746
-Node: Rewind Function658842
-Node: File Checking660748
-Ref: File Checking-Footnote-1662082
-Node: Empty Files662283
-Node: Ignoring Assigns664262
-Node: Getopt Function665812
-Ref: Getopt Function-Footnote-1677281
-Node: Passwd Functions677481
-Ref: Passwd Functions-Footnote-1686320
-Node: Group Functions686408
-Ref: Group Functions-Footnote-1694306
-Node: Walking Arrays694513
-Node: Library Functions Summary697521
-Node: Library Exercises698927
-Node: Sample Programs699392
-Node: Running Examples700162
-Node: Clones700890
-Node: Cut Program702114
-Node: Egrep Program712043
-Ref: Egrep Program-Footnote-1719555
-Node: Id Program719665
-Node: Split Program723345
-Ref: Split Program-Footnote-1726804
-Node: Tee Program726933
-Node: Uniq Program729723
-Node: Wc Program737149
-Ref: Wc Program-Footnote-1741404
-Node: Miscellaneous Programs741498
-Node: Dupword Program742711
-Node: Alarm Program744741
-Node: Translate Program749596
-Ref: Translate Program-Footnote-1754161
-Node: Labels Program754431
-Ref: Labels Program-Footnote-1757782
-Node: Word Sorting757866
-Node: History Sorting761938
-Node: Extract Program763773
-Node: Simple Sed771302
-Node: Igawk Program774376
-Ref: Igawk Program-Footnote-1788707
-Ref: Igawk Program-Footnote-2788909
-Ref: Igawk Program-Footnote-3789031
-Node: Anagram Program789146
-Node: Signature Program792208
-Node: Programs Summary793455
-Node: Programs Exercises794669
-Ref: Programs Exercises-Footnote-1798798
-Node: Advanced Features798889
-Node: Nondecimal Data800879
-Node: Array Sorting802470
-Node: Controlling Array Traversal803170
-Ref: Controlling Array Traversal-Footnote-1811537
-Node: Array Sorting Functions811655
-Ref: Array Sorting Functions-Footnote-1816746
-Node: Two-way I/O816942
-Ref: Two-way I/O-Footnote-1823493
-Ref: Two-way I/O-Footnote-2823680
-Node: TCP/IP Networking823762
-Node: Profiling826880
-Ref: Profiling-Footnote-1835552
-Node: Advanced Features Summary835875
-Node: Internationalization837719
-Node: I18N and L10N839199
-Node: Explaining gettext839886
-Ref: Explaining gettext-Footnote-1845778
-Ref: Explaining gettext-Footnote-2845963
-Node: Programmer i18n846128
-Ref: Programmer i18n-Footnote-1851077
-Node: Translator i18n851126
-Node: String Extraction851920
-Ref: String Extraction-Footnote-1853052
-Node: Printf Ordering853138
-Ref: Printf Ordering-Footnote-1855924
-Node: I18N Portability855988
-Ref: I18N Portability-Footnote-1858444
-Node: I18N Example858507
-Ref: I18N Example-Footnote-1861313
-Node: Gawk I18N861386
-Node: I18N Summary862031
-Node: Debugger863372
-Node: Debugging864394
-Node: Debugging Concepts864835
-Node: Debugging Terms866644
-Node: Awk Debugging869219
-Node: Sample Debugging Session870125
-Node: Debugger Invocation870659
-Node: Finding The Bug872045
-Node: List of Debugger Commands878523
-Node: Breakpoint Control879856
-Node: Debugger Execution Control883550
-Node: Viewing And Changing Data886912
-Node: Execution Stack890286
-Node: Debugger Info891923
-Node: Miscellaneous Debugger Commands895994
-Node: Readline Support901082
-Node: Limitations901978
-Node: Debugging Summary904087
-Node: Arbitrary Precision Arithmetic905366
-Node: Computer Arithmetic906782
-Ref: table-numeric-ranges910373
-Ref: Computer Arithmetic-Footnote-1911095
-Node: Math Definitions911152
-Ref: table-ieee-formats914466
-Ref: Math Definitions-Footnote-1915069
-Node: MPFR features915174
-Node: FP Math Caution916891
-Ref: FP Math Caution-Footnote-1917963
-Node: Inexactness of computations918332
-Node: Inexact representation919292
-Node: Comparing FP Values920652
-Node: Errors accumulate921734
-Node: Getting Accuracy923167
-Node: Try To Round925877
-Node: Setting precision926776
-Ref: table-predefined-precision-strings927473
-Node: Setting the rounding mode929303
-Ref: table-gawk-rounding-modes929677
-Ref: Setting the rounding mode-Footnote-1933085
-Node: Arbitrary Precision Integers933264
-Ref: Arbitrary Precision Integers-Footnote-1938181
-Node: POSIX Floating Point Problems938330
-Ref: POSIX Floating Point Problems-Footnote-1942212
-Node: Floating point summary942250
-Node: Dynamic Extensions944440
-Node: Extension Intro945993
-Node: Plugin License947259
-Node: Extension Mechanism Outline948056
-Ref: figure-load-extension948495
-Ref: figure-register-new-function950060
-Ref: figure-call-new-function951152
-Node: Extension API Description953214
-Node: Extension API Functions Introduction954856
-Node: General Data Types960190
-Ref: General Data Types-Footnote-1967395
-Node: Memory Allocation Functions967694
-Ref: Memory Allocation Functions-Footnote-1970539
-Node: Constructor Functions970638
-Node: Registration Functions973637
-Node: Extension Functions974322
-Node: Exit Callback Functions979535
-Node: Extension Version String980785
-Node: Input Parsers981448
-Node: Output Wrappers994155
-Node: Two-way processors998667
-Node: Printing Messages1000932
-Ref: Printing Messages-Footnote-11002103
-Node: Updating ERRNO1002256
-Node: Requesting Values1002995
-Ref: table-value-types-returned1003732
-Node: Accessing Parameters1004668
-Node: Symbol Table Access1005903
-Node: Symbol table by name1006415
-Node: Symbol table by cookie1008204
-Ref: Symbol table by cookie-Footnote-11012389
-Node: Cached values1012453
-Ref: Cached values-Footnote-11015989
-Node: Array Manipulation1016080
-Ref: Array Manipulation-Footnote-11017171
-Node: Array Data Types1017208
-Ref: Array Data Types-Footnote-11019866
-Node: Array Functions1019958
-Node: Flattening Arrays1024357
-Node: Creating Arrays1031298
-Node: Redirection API1036067
-Node: Extension API Variables1038909
-Node: Extension Versioning1039542
-Ref: gawk-api-version1039979
-Node: Extension API Informational Variables1041707
-Node: Extension API Boilerplate1042771
-Node: Changes from API V11046633
-Node: Finding Extensions1047293
-Node: Extension Example1047852
-Node: Internal File Description1048650
-Node: Internal File Ops1052730
-Ref: Internal File Ops-Footnote-11064130
-Node: Using Internal File Ops1064270
-Ref: Using Internal File Ops-Footnote-11066653
-Node: Extension Samples1066927
-Node: Extension Sample File Functions1068456
-Node: Extension Sample Fnmatch1076105
-Node: Extension Sample Fork1077592
-Node: Extension Sample Inplace1078810
-Node: Extension Sample Ord1082020
-Node: Extension Sample Readdir1082856
-Ref: table-readdir-file-types1083745
-Node: Extension Sample Revout1084550
-Node: Extension Sample Rev2way1085139
-Node: Extension Sample Read write array1085879
-Node: Extension Sample Readfile1087821
-Node: Extension Sample Time1088916
-Node: Extension Sample API Tests1090264
-Node: gawkextlib1090756
-Node: Extension summary1093203
-Node: Extension Exercises1096905
-Node: Language History1098403
-Node: V7/SVR3.11100059
-Node: SVR41102211
-Node: POSIX1103645
-Node: BTL1105024
-Node: POSIX/GNU1105753
-Node: Feature History1111645
-Node: Common Extensions1126015
-Node: Ranges and Locales1127298
-Ref: Ranges and Locales-Footnote-11131914
-Ref: Ranges and Locales-Footnote-21131941
-Ref: Ranges and Locales-Footnote-31132176
-Node: Contributors1132397
-Node: History summary1137957
-Node: Installation1139337
-Node: Gawk Distribution1140281
-Node: Getting1140765
-Node: Extracting1141726
-Node: Distribution contents1143364
-Node: Unix Installation1149706
-Node: Quick Installation1150388
-Node: Shell Startup Files1152802
-Node: Additional Configuration Options1153891
-Node: Configuration Philosophy1155880
-Node: Non-Unix Installation1158249
-Node: PC Installation1158709
-Node: PC Binary Installation1159547
-Node: PC Compiling1159982
-Node: PC Using1161099
-Node: Cygwin1164144
-Node: MSYS1164914
-Node: VMS Installation1165415
-Node: VMS Compilation1166206
-Ref: VMS Compilation-Footnote-11167435
-Node: VMS Dynamic Extensions1167493
-Node: VMS Installation Details1169178
-Node: VMS Running1171431
-Node: VMS GNV1175710
-Node: VMS Old Gawk1176445
-Node: Bugs1176916
-Node: Bug address1177579
-Node: Usenet1179976
-Node: Maintainers1180753
-Node: Other Versions1182129
-Node: Installation summary1188713
-Node: Notes1189748
-Node: Compatibility Mode1190613
-Node: Additions1191395
-Node: Accessing The Source1192320
-Node: Adding Code1193755
-Node: New Ports1199973
-Node: Derived Files1204461
-Ref: Derived Files-Footnote-11209946
-Ref: Derived Files-Footnote-21209981
-Ref: Derived Files-Footnote-31210579
-Node: Future Extensions1210693
-Node: Implementation Limitations1211351
-Node: Extension Design1212534
-Node: Old Extension Problems1213688
-Ref: Old Extension Problems-Footnote-11215206
-Node: Extension New Mechanism Goals1215263
-Ref: Extension New Mechanism Goals-Footnote-11218627
-Node: Extension Other Design Decisions1218816
-Node: Extension Future Growth1220929
-Node: Old Extension Mechanism1221765
-Node: Notes summary1223528
-Node: Basic Concepts1224710
-Node: Basic High Level1225391
-Ref: figure-general-flow1225673
-Ref: figure-process-flow1226358
-Ref: Basic High Level-Footnote-11229659
-Node: Basic Data Typing1229844
-Node: Glossary1233172
-Node: Copying1265119
-Node: GNU Free Documentation License1302658
-Node: Index1327776
+Ref: Options-Footnote-1134183
+Ref: Options-Footnote-2134413
+Node: Other Arguments134438
+Node: Naming Standard Input137385
+Node: Environment Variables138478
+Node: AWKPATH Variable139036
+Ref: AWKPATH Variable-Footnote-1142447
+Ref: AWKPATH Variable-Footnote-2142481
+Node: AWKLIBPATH Variable142742
+Node: Other Environment Variables143999
+Node: Exit Status147820
+Node: Include Files148497
+Node: Loading Shared Libraries152092
+Node: Obsolete153520
+Node: Undocumented154212
+Node: Invoking Summary154509
+Node: Regexp156169
+Node: Regexp Usage157623
+Node: Escape Sequences159660
+Node: Regexp Operators165892
+Ref: Regexp Operators-Footnote-1173308
+Ref: Regexp Operators-Footnote-2173455
+Node: Bracket Expressions173553
+Ref: table-char-classes176029
+Node: Leftmost Longest179166
+Node: Computed Regexps180469
+Node: GNU Regexp Operators183896
+Node: Case-sensitivity187575
+Ref: Case-sensitivity-Footnote-1190462
+Ref: Case-sensitivity-Footnote-2190697
+Node: Regexp Summary190805
+Node: Reading Files192271
+Node: Records194434
+Node: awk split records195167
+Node: gawk split records200098
+Ref: gawk split records-Footnote-1204638
+Node: Fields204675
+Node: Nonconstant Fields207416
+Ref: Nonconstant Fields-Footnote-1209652
+Node: Changing Fields209856
+Node: Field Separators215784
+Node: Default Field Splitting218482
+Node: Regexp Field Splitting219600
+Node: Single Character Fields222953
+Node: Command Line Field Separator224013
+Node: Full Line Fields227231
+Ref: Full Line Fields-Footnote-1228753
+Ref: Full Line Fields-Footnote-2228799
+Node: Field Splitting Summary228900
+Node: Constant Size230974
+Node: Splitting By Content236283
+Ref: Splitting By Content-Footnote-1240423
+Node: Multiple Line240586
+Ref: Multiple Line-Footnote-1246468
+Node: Getline246647
+Node: Plain Getline249114
+Node: Getline/Variable251753
+Node: Getline/File252902
+Node: Getline/Variable/File254288
+Ref: Getline/Variable/File-Footnote-1255891
+Node: Getline/Pipe255979
+Node: Getline/Variable/Pipe258684
+Node: Getline/Coprocess259817
+Node: Getline/Variable/Coprocess261082
+Node: Getline Notes261822
+Node: Getline Summary264617
+Ref: table-getline-variants265039
+Node: Read Timeout265787
+Ref: Read Timeout-Footnote-1269693
+Node: Retrying Input269751
+Node: Command-line directories270950
+Node: Input Summary271856
+Node: Input Exercises275028
+Node: Printing275756
+Node: Print277590
+Node: Print Examples279047
+Node: Output Separators281827
+Node: OFMT283844
+Node: Printf285200
+Node: Basic Printf285985
+Node: Control Letters287559
+Node: Format Modifiers291547
+Node: Printf Examples297562
+Node: Redirection300048
+Node: Special FD306889
+Ref: Special FD-Footnote-1310057
+Node: Special Files310131
+Node: Other Inherited Files310748
+Node: Special Network311749
+Node: Special Caveats312609
+Node: Close Files And Pipes313558
+Ref: table-close-pipe-return-values320465
+Ref: Close Files And Pipes-Footnote-1321248
+Ref: Close Files And Pipes-Footnote-2321396
+Node: Nonfatal321548
+Node: Output Summary323873
+Node: Output Exercises325095
+Node: Expressions325774
+Node: Values326962
+Node: Constants327640
+Node: Scalar Constants328331
+Ref: Scalar Constants-Footnote-1329195
+Node: Nondecimal-numbers329445
+Node: Regexp Constants332446
+Node: Using Constant Regexps332972
+Node: Standard Regexp Constants333594
+Node: Strong Regexp Constants336782
+Node: Variables339740
+Node: Using Variables340397
+Node: Assignment Options342307
+Node: Conversion344180
+Node: Strings And Numbers344704
+Ref: Strings And Numbers-Footnote-1347767
+Node: Locale influences conversions347876
+Ref: table-locale-affects350634
+Node: All Operators351252
+Node: Arithmetic Ops351881
+Node: Concatenation354387
+Ref: Concatenation-Footnote-1357234
+Node: Assignment Ops357341
+Ref: table-assign-ops362332
+Node: Increment Ops363645
+Node: Truth Values and Conditions367105
+Node: Truth Values368179
+Node: Typing and Comparison369227
+Node: Variable Typing370047
+Ref: Variable Typing-Footnote-1376510
+Ref: Variable Typing-Footnote-2376582
+Node: Comparison Operators376659
+Ref: table-relational-ops377078
+Node: POSIX String Comparison380573
+Ref: POSIX String Comparison-Footnote-1382268
+Ref: POSIX String Comparison-Footnote-2382407
+Node: Boolean Ops382491
+Ref: Boolean Ops-Footnote-1386973
+Node: Conditional Exp387065
+Node: Function Calls388801
+Node: Precedence392678
+Node: Locales396337
+Node: Expressions Summary397969
+Node: Patterns and Actions400542
+Node: Pattern Overview401662
+Node: Regexp Patterns403339
+Node: Expression Patterns403881
+Node: Ranges407662
+Node: BEGIN/END410770
+Node: Using BEGIN/END411531
+Ref: Using BEGIN/END-Footnote-1414267
+Node: I/O And BEGIN/END414373
+Node: BEGINFILE/ENDFILE416687
+Node: Empty419594
+Node: Using Shell Variables419911
+Node: Action Overview422185
+Node: Statements424510
+Node: If Statement426358
+Node: While Statement427853
+Node: Do Statement429881
+Node: For Statement431029
+Node: Switch Statement434187
+Node: Break Statement436573
+Node: Continue Statement438665
+Node: Next Statement440492
+Node: Nextfile Statement442875
+Node: Exit Statement445527
+Node: Built-in Variables447930
+Node: User-modified449063
+Node: Auto-set456830
+Ref: Auto-set-Footnote-1471558
+Ref: Auto-set-Footnote-2471764
+Node: ARGC and ARGV471820
+Node: Pattern Action Summary476033
+Node: Arrays478463
+Node: Array Basics479792
+Node: Array Intro480636
+Ref: figure-array-elements482611
+Ref: Array Intro-Footnote-1485315
+Node: Reference to Elements485443
+Node: Assigning Elements487907
+Node: Array Example488398
+Node: Scanning an Array490157
+Node: Controlling Scanning493179
+Ref: Controlling Scanning-Footnote-1498578
+Node: Numeric Array Subscripts498894
+Node: Uninitialized Subscripts501078
+Node: Delete502697
+Ref: Delete-Footnote-1505449
+Node: Multidimensional505506
+Node: Multiscanning508601
+Node: Arrays of Arrays510192
+Node: Arrays Summary514959
+Node: Functions517052
+Node: Built-in518090
+Node: Calling Built-in519171
+Node: Numeric Functions521167
+Ref: Numeric Functions-Footnote-1526112
+Ref: Numeric Functions-Footnote-2526469
+Ref: Numeric Functions-Footnote-3526517
+Node: String Functions526789
+Ref: String Functions-Footnote-1550447
+Ref: String Functions-Footnote-2550575
+Ref: String Functions-Footnote-3550823
+Node: Gory Details550910
+Ref: table-sub-escapes552701
+Ref: table-sub-proposed554220
+Ref: table-posix-sub555583
+Ref: table-gensub-escapes557124
+Ref: Gory Details-Footnote-1557947
+Node: I/O Functions558101
+Ref: table-system-return-values564683
+Ref: I/O Functions-Footnote-1566663
+Ref: I/O Functions-Footnote-2566811
+Node: Time Functions566931
+Ref: Time Functions-Footnote-1577598
+Ref: Time Functions-Footnote-2577666
+Ref: Time Functions-Footnote-3577824
+Ref: Time Functions-Footnote-4577935
+Ref: Time Functions-Footnote-5578047
+Ref: Time Functions-Footnote-6578274
+Node: Bitwise Functions578540
+Ref: table-bitwise-ops579134
+Ref: Bitwise Functions-Footnote-1585167
+Ref: Bitwise Functions-Footnote-2585340
+Node: Type Functions585531
+Node: I18N Functions588206
+Node: User-defined589857
+Node: Definition Syntax590662
+Ref: Definition Syntax-Footnote-1596349
+Node: Function Example596420
+Ref: Function Example-Footnote-1599342
+Node: Function Caveats599364
+Node: Calling A Function599882
+Node: Variable Scope600840
+Node: Pass By Value/Reference603834
+Node: Return Statement607333
+Node: Dynamic Typing610312
+Node: Indirect Calls611242
+Ref: Indirect Calls-Footnote-1621493
+Node: Functions Summary621621
+Node: Library Functions624326
+Ref: Library Functions-Footnote-1627933
+Ref: Library Functions-Footnote-2628076
+Node: Library Names628247
+Ref: Library Names-Footnote-1631707
+Ref: Library Names-Footnote-2631930
+Node: General Functions632016
+Node: Strtonum Function633119
+Node: Assert Function636141
+Node: Round Function639467
+Node: Cliff Random Function641008
+Node: Ordinal Functions642024
+Ref: Ordinal Functions-Footnote-1645087
+Ref: Ordinal Functions-Footnote-2645339
+Node: Join Function645549
+Ref: Join Function-Footnote-1647319
+Node: Getlocaltime Function647519
+Node: Readfile Function651261
+Node: Shell Quoting653233
+Node: Data File Management654634
+Node: Filetrans Function655266
+Node: Rewind Function659362
+Node: File Checking661268
+Ref: File Checking-Footnote-1662602
+Node: Empty Files662803
+Node: Ignoring Assigns664782
+Node: Getopt Function666332
+Ref: Getopt Function-Footnote-1677801
+Node: Passwd Functions678001
+Ref: Passwd Functions-Footnote-1686840
+Node: Group Functions686928
+Ref: Group Functions-Footnote-1694826
+Node: Walking Arrays695033
+Node: Library Functions Summary698041
+Node: Library Exercises699447
+Node: Sample Programs699912
+Node: Running Examples700682
+Node: Clones701410
+Node: Cut Program702634
+Node: Egrep Program712563
+Ref: Egrep Program-Footnote-1720075
+Node: Id Program720185
+Node: Split Program723865
+Ref: Split Program-Footnote-1727324
+Node: Tee Program727453
+Node: Uniq Program730243
+Node: Wc Program737669
+Ref: Wc Program-Footnote-1741924
+Node: Miscellaneous Programs742018
+Node: Dupword Program743231
+Node: Alarm Program745261
+Node: Translate Program750116
+Ref: Translate Program-Footnote-1754681
+Node: Labels Program754951
+Ref: Labels Program-Footnote-1758302
+Node: Word Sorting758386
+Node: History Sorting762458
+Node: Extract Program764293
+Node: Simple Sed771822
+Node: Igawk Program774896
+Ref: Igawk Program-Footnote-1789227
+Ref: Igawk Program-Footnote-2789429
+Ref: Igawk Program-Footnote-3789551
+Node: Anagram Program789666
+Node: Signature Program792728
+Node: Programs Summary793975
+Node: Programs Exercises795189
+Ref: Programs Exercises-Footnote-1799318
+Node: Advanced Features799409
+Node: Nondecimal Data801399
+Node: Array Sorting802990
+Node: Controlling Array Traversal803690
+Ref: Controlling Array Traversal-Footnote-1812057
+Node: Array Sorting Functions812175
+Ref: Array Sorting Functions-Footnote-1817266
+Node: Two-way I/O817462
+Ref: Two-way I/O-Footnote-1824013
+Ref: Two-way I/O-Footnote-2824200
+Node: TCP/IP Networking824282
+Node: Profiling827400
+Ref: Profiling-Footnote-1836072
+Node: Advanced Features Summary836395
+Node: Internationalization838239
+Node: I18N and L10N839719
+Node: Explaining gettext840406
+Ref: Explaining gettext-Footnote-1846298
+Ref: Explaining gettext-Footnote-2846483
+Node: Programmer i18n846648
+Ref: Programmer i18n-Footnote-1851597
+Node: Translator i18n851646
+Node: String Extraction852440
+Ref: String Extraction-Footnote-1853572
+Node: Printf Ordering853658
+Ref: Printf Ordering-Footnote-1856444
+Node: I18N Portability856508
+Ref: I18N Portability-Footnote-1858964
+Node: I18N Example859027
+Ref: I18N Example-Footnote-1861833
+Node: Gawk I18N861906
+Node: I18N Summary862551
+Node: Debugger863892
+Node: Debugging864914
+Node: Debugging Concepts865355
+Node: Debugging Terms867164
+Node: Awk Debugging869739
+Node: Sample Debugging Session870645
+Node: Debugger Invocation871179
+Node: Finding The Bug872565
+Node: List of Debugger Commands879043
+Node: Breakpoint Control880376
+Node: Debugger Execution Control884070
+Node: Viewing And Changing Data887432
+Node: Execution Stack890806
+Node: Debugger Info892443
+Node: Miscellaneous Debugger Commands896514
+Node: Readline Support901602
+Node: Limitations902498
+Node: Debugging Summary904607
+Node: Arbitrary Precision Arithmetic905886
+Node: Computer Arithmetic907302
+Ref: table-numeric-ranges910893
+Ref: Computer Arithmetic-Footnote-1911615
+Node: Math Definitions911672
+Ref: table-ieee-formats914986
+Ref: Math Definitions-Footnote-1915589
+Node: MPFR features915694
+Node: FP Math Caution917411
+Ref: FP Math Caution-Footnote-1918483
+Node: Inexactness of computations918852
+Node: Inexact representation919812
+Node: Comparing FP Values921172
+Node: Errors accumulate922254
+Node: Getting Accuracy923687
+Node: Try To Round926397
+Node: Setting precision927296
+Ref: table-predefined-precision-strings927993
+Node: Setting the rounding mode929823
+Ref: table-gawk-rounding-modes930197
+Ref: Setting the rounding mode-Footnote-1933605
+Node: Arbitrary Precision Integers933784
+Ref: Arbitrary Precision Integers-Footnote-1938701
+Node: POSIX Floating Point Problems938850
+Ref: POSIX Floating Point Problems-Footnote-1942732
+Node: Floating point summary942770
+Node: Dynamic Extensions944960
+Node: Extension Intro946513
+Node: Plugin License947779
+Node: Extension Mechanism Outline948576
+Ref: figure-load-extension949015
+Ref: figure-register-new-function950580
+Ref: figure-call-new-function951672
+Node: Extension API Description953734
+Node: Extension API Functions Introduction955376
+Node: General Data Types960710
+Ref: General Data Types-Footnote-1967915
+Node: Memory Allocation Functions968214
+Ref: Memory Allocation Functions-Footnote-1971059
+Node: Constructor Functions971158
+Node: Registration Functions974157
+Node: Extension Functions974842
+Node: Exit Callback Functions980055
+Node: Extension Version String981305
+Node: Input Parsers981968
+Node: Output Wrappers994675
+Node: Two-way processors999187
+Node: Printing Messages1001452
+Ref: Printing Messages-Footnote-11002623
+Node: Updating ERRNO1002776
+Node: Requesting Values1003515
+Ref: table-value-types-returned1004252
+Node: Accessing Parameters1005188
+Node: Symbol Table Access1006423
+Node: Symbol table by name1006935
+Node: Symbol table by cookie1008724
+Ref: Symbol table by cookie-Footnote-11012909
+Node: Cached values1012973
+Ref: Cached values-Footnote-11016509
+Node: Array Manipulation1016600
+Ref: Array Manipulation-Footnote-11017691
+Node: Array Data Types1017728
+Ref: Array Data Types-Footnote-11020386
+Node: Array Functions1020478
+Node: Flattening Arrays1024877
+Node: Creating Arrays1031818
+Node: Redirection API1036587
+Node: Extension API Variables1039429
+Node: Extension Versioning1040062
+Ref: gawk-api-version1040499
+Node: Extension API Informational Variables1042227
+Node: Extension API Boilerplate1043291
+Node: Changes from API V11047153
+Node: Finding Extensions1047813
+Node: Extension Example1048372
+Node: Internal File Description1049170
+Node: Internal File Ops1053250
+Ref: Internal File Ops-Footnote-11064650
+Node: Using Internal File Ops1064790
+Ref: Using Internal File Ops-Footnote-11067173
+Node: Extension Samples1067447
+Node: Extension Sample File Functions1068976
+Node: Extension Sample Fnmatch1076625
+Node: Extension Sample Fork1078112
+Node: Extension Sample Inplace1079330
+Node: Extension Sample Ord1082540
+Node: Extension Sample Readdir1083376
+Ref: table-readdir-file-types1084265
+Node: Extension Sample Revout1085070
+Node: Extension Sample Rev2way1085659
+Node: Extension Sample Read write array1086399
+Node: Extension Sample Readfile1088341
+Node: Extension Sample Time1089436
+Node: Extension Sample API Tests1090784
+Node: gawkextlib1091276
+Node: Extension summary1093723
+Node: Extension Exercises1097425
+Node: Language History1098923
+Node: V7/SVR3.11100579
+Node: SVR41102731
+Node: POSIX1104165
+Node: BTL1105544
+Node: POSIX/GNU1106273
+Node: Feature History1112165
+Node: Common Extensions1126535
+Node: Ranges and Locales1127818
+Ref: Ranges and Locales-Footnote-11132434
+Ref: Ranges and Locales-Footnote-21132461
+Ref: Ranges and Locales-Footnote-31132696
+Node: Contributors1132917
+Node: History summary1138477
+Node: Installation1139857
+Node: Gawk Distribution1140801
+Node: Getting1141285
+Node: Extracting1142246
+Node: Distribution contents1143884
+Node: Unix Installation1150226
+Node: Quick Installation1150908
+Node: Shell Startup Files1153322
+Node: Additional Configuration Options1154411
+Node: Configuration Philosophy1156400
+Node: Non-Unix Installation1158769
+Node: PC Installation1159229
+Node: PC Binary Installation1160067
+Node: PC Compiling1160502
+Node: PC Using1161619
+Node: Cygwin1164664
+Node: MSYS1165434
+Node: VMS Installation1165935
+Node: VMS Compilation1166726
+Ref: VMS Compilation-Footnote-11167955
+Node: VMS Dynamic Extensions1168013
+Node: VMS Installation Details1169698
+Node: VMS Running1171951
+Node: VMS GNV1176230
+Node: VMS Old Gawk1176965
+Node: Bugs1177436
+Node: Bug address1178099
+Node: Usenet1180496
+Node: Maintainers1181273
+Node: Other Versions1182649
+Node: Installation summary1189233
+Node: Notes1190268
+Node: Compatibility Mode1191133
+Node: Additions1191915
+Node: Accessing The Source1192840
+Node: Adding Code1194275
+Node: New Ports1200493
+Node: Derived Files1204981
+Ref: Derived Files-Footnote-11210466
+Ref: Derived Files-Footnote-21210501
+Ref: Derived Files-Footnote-31211099
+Node: Future Extensions1211213
+Node: Implementation Limitations1211871
+Node: Extension Design1213054
+Node: Old Extension Problems1214208
+Ref: Old Extension Problems-Footnote-11215726
+Node: Extension New Mechanism Goals1215783
+Ref: Extension New Mechanism Goals-Footnote-11219147
+Node: Extension Other Design Decisions1219336
+Node: Extension Future Growth1221449
+Node: Old Extension Mechanism1222285
+Node: Notes summary1224048
+Node: Basic Concepts1225230
+Node: Basic High Level1225911
+Ref: figure-general-flow1226193
+Ref: figure-process-flow1226878
+Ref: Basic High Level-Footnote-11230179
+Node: Basic Data Typing1230364
+Node: Glossary1233692
+Node: Copying1265639
+Node: GNU Free Documentation License1303178
+Node: Index1328296
 
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 6db3fb0..353a0c9 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -3961,6 +3961,24 @@ This is particularly useful
 when you have library functions that you want to use from your command-line
 programs (@pxref{AWKPATH Variable}).
 
+Note that @command{gawk} treats each string as if it ended with
+a newline character (even if it doesn't). This makes building
+the total program easier.
+
address@hidden CAUTION
+At the moment, there is no requirement that each @var{program-text}
+be a full syntactic unit. I.e., the following currently works:
+
address@hidden
+$ @kbd{gawk -e 'BEGIN @{ a = 5 ;' -e 'print a @}'}
address@hidden 5
address@hidden example
+
address@hidden
+However, this could change in the future, so it's not a
+good idea to rely upon this feature.
address@hidden quotation
+
 @item @option{-E} @var{file}
 @itemx @option{--exec} @var{file}
 @cindex @option{-E} option
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index bbf7f5d..d570793 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -3872,6 +3872,24 @@ This is particularly useful
 when you have library functions that you want to use from your command-line
 programs (@pxref{AWKPATH Variable}).
 
+Note that @command{gawk} treats each string as if it ended with
+a newline character (even if it doesn't). This makes building
+the total program easier.
+
address@hidden CAUTION
+At the moment, there is no requirement that each @var{program-text}
+be a full syntactic unit. I.e., the following currently works:
+
address@hidden
+$ @kbd{gawk -e 'BEGIN @{ a = 5 ;' -e 'print a @}'}
address@hidden 5
address@hidden example
+
address@hidden
+However, this could change in the future, so it's not a
+good idea to rely upon this feature.
address@hidden quotation
+
 @item @option{-E} @var{file}
 @itemx @option{--exec} @var{file}
 @cindex @option{-E} option

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

Summary of changes:
 ChangeLog       |    6 +
 awkgram.c       |   22 +
 awkgram.y       |   22 +
 doc/ChangeLog   |    4 +
 doc/gawk.info   | 1214 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |   18 +
 doc/gawktexi.in |   18 +
 7 files changed, 704 insertions(+), 600 deletions(-)


hooks/post-receive
-- 
gawk



reply via email to

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