gawk-diffs
[Top][All Lists]
Advanced

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

[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-1725-gdb6e8f


From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-1725-gdb6e8fa
Date: Tue, 05 Apr 2016 18:41:53 +0000

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, master has been updated
       via  db6e8faca70e60d2fa80e0affda3d9bef1e82eae (commit)
       via  1b5d1b8870cb0ac1c4b99f6cf67e3277427df864 (commit)
       via  fae30f292fc0e2e67de188f8129d043f9909bd0b (commit)
       via  02e319635b2323361a5898e868e91058768bd39c (commit)
       via  6d22cdfde8a2136080efba406d980ecac537b07d (commit)
       via  b332053a160357e6c30c22f9ca90af9129e4550b (commit)
       via  464aa113b70b30ab9b1b00d1de5ccf4b0230b720 (commit)
       via  1662deffd0ced2464647ebff013be4d5ad398594 (commit)
       via  124c3594cb65748ce858dcc55eadd7c831cee041 (commit)
      from  2adf64c7b99ec6e8d1e4689b6484ace5295580b6 (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=db6e8faca70e60d2fa80e0affda3d9bef1e82eae

commit db6e8faca70e60d2fa80e0affda3d9bef1e82eae
Merge: 2adf64c 1b5d1b8
Author: Arnold D. Robbins <address@hidden>
Date:   Tue Apr 5 21:41:39 2016 +0300

    Merge branch 'gawk-4.1-stable'

diff --cc ChangeLog
index 3149d73,d34c136..025f88e
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,41 -1,20 +1,58 @@@
+ 2016-04-04         Arnold D. Robbins     <address@hidden>
+ 
+       * builtin.c (do_fflush): Add warning for flush to two-way
+       pipe where write end was closed.
+       * io.c (flush_io): Add some braces for the for loop.
+ 
+ 2016-04-02         Arnold D. Robbins     <address@hidden>
+ 
+       * builtin.c (do_printf): If the redirection is two way but the
+       fp is NULL, it means we're writing to the closed write-end of
+       a two-way pipe. Issue a fatal error message.
+       (do_print): Ditto.
+       (do_print_rec): Ditto.
+       * io.c (do_getline_redir): Same thing for reading from a closed
+       read end of a two-way pipe. Fatal error.
+       * NEWS: Updated.
+ 
 +2016-03-27         Stephen Davies        <address@hidden>
 +
 +      * awkgram.y (get_comment): Strip CRs from comment. Strip
 +      off trailing newlines.
 +
 +2016-03-21         Arnold D. Robbins     <address@hidden>
 +
 +      * profile.c (pprint): Improve handling of comment after
 +      and if statement without an else.
 +
 +2016-03-19         Arnold D. Robbins     <address@hidden>
 +
 +      Considerable improvements to handling of comments when pretty
 +      printing, particularly for end-of-line comments.
 +
 +      * awkgram.y (prior_comment, comment_to_save): New variables.
 +      (add_pending_comment): New function.
 +      (grammar): Jump through lots more hoops to capture comments.
 +      Due to shift-reduce parsing, there can be up to two comments
 +      captured and waiting to be saved; be sure to get them both and
 +      at the right times.  This is difficult since comments have no
 +      real syntactic exisitence. Call add_pending_comment on most of
 +      the simple statements.
 +      (get_comment): Save a pre-existing comment in prior_comment.
 +      (split_comment): Use comment_to_save instead of `comment'.
 +      * profile.c (end_line): Change to return the instruction after
 +      the comment that gets printed; adjust return type.
 +      (pprint): Add skip_comment static variable. Adjust logic for
 +      skipping an end-of-line comment; only do it if skip_comment is
 +      true. This is set to true in places where we can't use the
 +      return value from end_line().  Call end_line() in many more places.
 +      (pp_func): Handle end-of-line comments after a function header.
 +
 +2016-03-17         Arnold D. Robbins     <address@hidden>
 +
 +      * debug.c (print_instruction): For Op_comment, improve notation as
 +      to whether it's a full comment or an end of line comment.
 +
  2016-03-14         Arnold D. Robbins     <address@hidden>
  
        * io.c (socketopen): For SOCK_DGRAM, set read_len to sizeof
diff --cc builtin.c
index 9bd8e5e,a1c09d5..b3756eb
--- a/builtin.c
+++ b/builtin.c
@@@ -1673,13 -1666,13 +1676,17 @@@ do_printf(int nargs, int redirtype
                redir_exp = PEEK(nargs);
                if (redir_exp->type != Node_val)
                        fatal(_("attempt to use array `%s' in a scalar 
context"), array_vname(redir_exp));
 -              rp = redirect(redir_exp, redirtype, & errflg);
 +              rp = redirect(redir_exp, redirtype, & errflg, true);
-               if (rp != NULL)
+               if (rp != NULL) {
+                       if ((rp->flag & RED_TWOWAY) != 0 && rp->output.fp == 
NULL) {
+                               fatal(_("printf: attempt to write to closed 
write end of two-way pipe"));
+                       }
                        fp = rp->output.fp;
+               }
 +              else if (errflg) {
 +                      update_ERRNO_int(errflg);
 +                      return;
 +              }
        } else if (do_debug)    /* only the debugger can change the default 
output */
                fp = output_fp;
        else
@@@ -2149,13 -2142,13 +2156,17 @@@ do_print(int nargs, int redirtype
                redir_exp = PEEK(nargs);
                if (redir_exp->type != Node_val)
                        fatal(_("attempt to use array `%s' in a scalar 
context"), array_vname(redir_exp));
 -              rp = redirect(redir_exp, redirtype, & errflg);
 +              rp = redirect(redir_exp, redirtype, & errflg, true);
-               if (rp != NULL)
+               if (rp != NULL) {
+                       if ((rp->flag & RED_TWOWAY) != 0 && rp->output.fp == 
NULL) {
+                               fatal(_("print: attempt to write to closed 
write end of two-way pipe"));
+                       }
                        fp = rp->output.fp;
+               }
 +              else if (errflg) {
 +                      update_ERRNO_int(errflg);
 +                      return;
 +              }
        } else if (do_debug)    /* only the debugger can change the default 
output */
                fp = output_fp;
        else
@@@ -2219,9 -2210,13 +2230,13 @@@ do_print_rec(int nargs, int redirtype
        assert(nargs == 0);
        if (redirtype != 0) {
                redir_exp = TOP();
 -              rp = redirect(redir_exp, redirtype, & errflg);
 +              rp = redirect(redir_exp, redirtype, & errflg, true);
-               if (rp != NULL)
+               if (rp != NULL) {
+                       if ((rp->flag & RED_TWOWAY) != 0 && rp->output.fp == 
NULL) {
+                               fatal(_("print: attempt to write to closed 
write end of two-way pipe"));
+                       }
                        fp = rp->output.fp;
+               }
                DEREF(redir_exp);
                decr_sp();
        } else
diff --cc doc/ChangeLog
index 9fe1a70,d21d9af..7f78937
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@@ -3,11 -3,11 +3,16 @@@
        * gawktexi.in, gawkinet.texi: Enable use of braces in
        indexes. Requires Texinfo 6.0 or later.
  
+ 2016-04-02         Arnold D. Robbins     <address@hidden>
+ 
+       * gawktexi.in (Two-way I/O): Document that closing the "from"
+       end waits for the process to exit, so it's not such a great idea.
+ 
 +2016-03-27         Arnold D. Robbins     <address@hidden>
 +
 +      * gawkinet.texi: Small update about end of line vs full
 +      comments when pretty printing.
 +
  2016-03-21         Arnold D. Robbins     <address@hidden>
  
        * gawkinet.texi: Update UDP client and discussion, update
diff --cc doc/gawk.info
index c1e44de,c773fb9..c60bf42
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@@ -33736,9 -33177,9 +33745,9 @@@ Inde
  * gawk, octal numbers and:               Nondecimal-numbers.  (line  41)
  * gawk, OS/2 version of:                 PC Using.            (line  17)
  * gawk, predefined variables and:        Built-in Variables.  (line  14)
 -* gawk, PROCINFO array in:               Auto-set.            (line 129)
 +* gawk, PROCINFO array in:               Auto-set.            (line 148)
  * gawk, PROCINFO array in <1>:           Time Functions.      (line  47)
- * gawk, PROCINFO array in <2>:           Two-way I/O.         (line  99)
+ * gawk, PROCINFO array in <2>:           Two-way I/O.         (line 108)
  * gawk, regexp constants and:            Using Constant Regexps.
                                                                (line  28)
  * gawk, regular expressions, case sensitivity: Case-sensitivity.
@@@ -34509,14 -33946,14 +34518,14 @@@
  * printing, unduplicated lines of text:  Uniq Program.        (line   6)
  * printing, user information:            Id Program.          (line   6)
  * private variables:                     Library Names.       (line  11)
 -* process group ID of gawk process:      Auto-set.            (line 181)
 -* process ID of gawk process:            Auto-set.            (line 184)
 +* process group ID of gawk process:      Auto-set.            (line 204)
 +* process ID of gawk process:            Auto-set.            (line 207)
  * processes, two-way communications with: Two-way I/O.        (line   6)
  * processing data:                       Basic High Level.    (line   6)
 -* PROCINFO array:                        Auto-set.            (line 129)
 +* PROCINFO array:                        Auto-set.            (line 148)
  * PROCINFO array <1>:                    Time Functions.      (line  47)
  * PROCINFO array <2>:                    Passwd Functions.    (line   6)
- * PROCINFO array, and communications via ptys: Two-way I/O.   (line  99)
+ * PROCINFO array, and communications via ptys: Two-way I/O.   (line 108)
  * PROCINFO array, and group membership:  Group Functions.     (line   6)
  * PROCINFO array, and user and group ID numbers: Id Program.  (line  15)
  * PROCINFO array, testing the field splitting: Passwd Functions.
@@@ -35237,566 -34671,561 +35246,566 @@@
  
  Tag Table:
  Node: Top1200
 -Node: Foreword342138
 -Node: Foreword446580
 -Node: Preface48112
 -Ref: Preface-Footnote-150984
 -Ref: Preface-Footnote-251091
 -Ref: Preface-Footnote-351325
 -Node: History51467
 -Node: Names53819
 -Ref: Names-Footnote-154913
 -Node: This Manual55060
 -Ref: This Manual-Footnote-161542
 -Node: Conventions61642
 -Node: Manual History63996
 -Ref: Manual History-Footnote-166991
 -Ref: Manual History-Footnote-267032
 -Node: How To Contribute67106
 -Node: Acknowledgments68235
 -Node: Getting Started73121
 -Node: Running gawk75560
 -Node: One-shot76750
 -Node: Read Terminal78013
 -Node: Long80045
 -Node: Executable Scripts81558
 -Ref: Executable Scripts-Footnote-184353
 -Node: Comments84456
 -Node: Quoting86940
 -Node: DOS Quoting92457
 -Node: Sample Data Files93132
 -Node: Very Simple95727
 -Node: Two Rules100629
 -Node: More Complex102514
 -Node: Statements/Lines105377
 -Ref: Statements/Lines-Footnote-1109836
 -Node: Other Features110101
 -Node: When111037
 -Ref: When-Footnote-1112791
 -Node: Intro Summary112856
 -Node: Invoking Gawk113740
 -Node: Command Line115254
 -Node: Options116052
 -Ref: Options-Footnote-1131959
 -Ref: Options-Footnote-2132189
 -Node: Other Arguments132214
 -Node: Naming Standard Input135161
 -Node: Environment Variables136254
 -Node: AWKPATH Variable136812
 -Ref: AWKPATH Variable-Footnote-1140113
 -Ref: AWKPATH Variable-Footnote-2140158
 -Node: AWKLIBPATH Variable140419
 -Node: Other Environment Variables141563
 -Node: Exit Status145328
 -Node: Include Files146005
 -Node: Loading Shared Libraries149600
 -Node: Obsolete151028
 -Node: Undocumented151720
 -Node: Invoking Summary152017
 -Node: Regexp153677
 -Node: Regexp Usage155131
 -Node: Escape Sequences157168
 -Node: Regexp Operators163182
 -Ref: Regexp Operators-Footnote-1170598
 -Ref: Regexp Operators-Footnote-2170745
 -Node: Bracket Expressions170843
 -Ref: table-char-classes173319
 -Node: Leftmost Longest176456
 -Node: Computed Regexps177759
 -Node: GNU Regexp Operators181186
 -Node: Case-sensitivity184865
 -Ref: Case-sensitivity-Footnote-1187752
 -Ref: Case-sensitivity-Footnote-2187987
 -Node: Regexp Summary188095
 -Node: Reading Files189561
 -Node: Records191655
 -Node: awk split records192388
 -Node: gawk split records197319
 -Ref: gawk split records-Footnote-1201859
 -Node: Fields201896
 -Ref: Fields-Footnote-1204676
 -Node: Nonconstant Fields204762
 -Ref: Nonconstant Fields-Footnote-1206998
 -Node: Changing Fields207202
 -Node: Field Separators213130
 -Node: Default Field Splitting215828
 -Node: Regexp Field Splitting216946
 -Node: Single Character Fields220299
 -Node: Command Line Field Separator221359
 -Node: Full Line Fields224577
 -Ref: Full Line Fields-Footnote-1226099
 -Ref: Full Line Fields-Footnote-2226145
 -Node: Field Splitting Summary226246
 -Node: Constant Size228320
 -Node: Splitting By Content232898
 -Ref: Splitting By Content-Footnote-1236869
 -Node: Multiple Line237032
 -Ref: Multiple Line-Footnote-1242914
 -Node: Getline243093
 -Node: Plain Getline245297
 -Node: Getline/Variable247936
 -Node: Getline/File249085
 -Node: Getline/Variable/File250471
 -Ref: Getline/Variable/File-Footnote-1252074
 -Node: Getline/Pipe252162
 -Node: Getline/Variable/Pipe254867
 -Node: Getline/Coprocess256000
 -Node: Getline/Variable/Coprocess257265
 -Node: Getline Notes258005
 -Node: Getline Summary260800
 -Ref: table-getline-variants261222
 -Node: Read Timeout261970
 -Ref: Read Timeout-Footnote-1265811
 -Node: Command-line directories265869
 -Node: Input Summary266773
 -Node: Input Exercises269945
 -Node: Printing270673
 -Node: Print272449
 -Node: Print Examples273906
 -Node: Output Separators276686
 -Node: OFMT278703
 -Node: Printf280059
 -Node: Basic Printf280844
 -Node: Control Letters282418
 -Node: Format Modifiers286406
 -Node: Printf Examples292421
 -Node: Redirection294907
 -Node: Special FD301748
 -Ref: Special FD-Footnote-1304916
 -Node: Special Files304990
 -Node: Other Inherited Files305607
 -Node: Special Network306608
 -Node: Special Caveats307468
 -Node: Close Files And Pipes308417
 -Ref: Close Files And Pipes-Footnote-1315610
 -Ref: Close Files And Pipes-Footnote-2315758
 -Node: Output Summary315909
 -Node: Output Exercises316907
 -Node: Expressions317586
 -Node: Values318774
 -Node: Constants319452
 -Node: Scalar Constants320143
 -Ref: Scalar Constants-Footnote-1321007
 -Node: Nondecimal-numbers321257
 -Node: Regexp Constants324270
 -Node: Using Constant Regexps324796
 -Node: Variables327959
 -Node: Using Variables328616
 -Node: Assignment Options330526
 -Node: Conversion332399
 -Node: Strings And Numbers332923
 -Ref: Strings And Numbers-Footnote-1335986
 -Node: Locale influences conversions336095
 -Ref: table-locale-affects338853
 -Node: All Operators339471
 -Node: Arithmetic Ops340100
 -Node: Concatenation342606
 -Ref: Concatenation-Footnote-1345453
 -Node: Assignment Ops345560
 -Ref: table-assign-ops350551
 -Node: Increment Ops351864
 -Node: Truth Values and Conditions355324
 -Node: Truth Values356398
 -Node: Typing and Comparison357446
 -Node: Variable Typing358266
 -Node: Comparison Operators361890
 -Ref: table-relational-ops362309
 -Node: POSIX String Comparison365804
 -Ref: POSIX String Comparison-Footnote-1366878
 -Node: Boolean Ops367017
 -Ref: Boolean Ops-Footnote-1371499
 -Node: Conditional Exp371591
 -Node: Function Calls373327
 -Node: Precedence377204
 -Node: Locales380863
 -Node: Expressions Summary382495
 -Node: Patterns and Actions385068
 -Node: Pattern Overview386188
 -Node: Regexp Patterns387865
 -Node: Expression Patterns388407
 -Node: Ranges392188
 -Node: BEGIN/END395296
 -Node: Using BEGIN/END396057
 -Ref: Using BEGIN/END-Footnote-1398793
 -Node: I/O And BEGIN/END398899
 -Node: BEGINFILE/ENDFILE401213
 -Node: Empty404120
 -Node: Using Shell Variables404437
 -Node: Action Overview406711
 -Node: Statements409036
 -Node: If Statement410884
 -Node: While Statement412379
 -Node: Do Statement414407
 -Node: For Statement415555
 -Node: Switch Statement418713
 -Node: Break Statement421099
 -Node: Continue Statement423191
 -Node: Next Statement425018
 -Node: Nextfile Statement427401
 -Node: Exit Statement430053
 -Node: Built-in Variables432456
 -Node: User-modified433589
 -Ref: User-modified-Footnote-1441214
 -Node: Auto-set441276
 -Ref: Auto-set-Footnote-1454366
 -Ref: Auto-set-Footnote-2454572
 -Node: ARGC and ARGV454628
 -Node: Pattern Action Summary458841
 -Node: Arrays461271
 -Node: Array Basics462600
 -Node: Array Intro463444
 -Ref: figure-array-elements465419
 -Ref: Array Intro-Footnote-1468123
 -Node: Reference to Elements468251
 -Node: Assigning Elements470715
 -Node: Array Example471206
 -Node: Scanning an Array472965
 -Node: Controlling Scanning475987
 -Ref: Controlling Scanning-Footnote-1481386
 -Node: Numeric Array Subscripts481702
 -Node: Uninitialized Subscripts483886
 -Node: Delete485505
 -Ref: Delete-Footnote-1488257
 -Node: Multidimensional488314
 -Node: Multiscanning491409
 -Node: Arrays of Arrays493000
 -Node: Arrays Summary497767
 -Node: Functions499860
 -Node: Built-in500898
 -Node: Calling Built-in501976
 -Node: Numeric Functions503972
 -Ref: Numeric Functions-Footnote-1508000
 -Ref: Numeric Functions-Footnote-2508357
 -Ref: Numeric Functions-Footnote-3508405
 -Node: String Functions508677
 -Ref: String Functions-Footnote-1532181
 -Ref: String Functions-Footnote-2532309
 -Ref: String Functions-Footnote-3532557
 -Node: Gory Details532644
 -Ref: table-sub-escapes534435
 -Ref: table-sub-proposed535954
 -Ref: table-posix-sub537317
 -Ref: table-gensub-escapes538858
 -Ref: Gory Details-Footnote-1539681
 -Node: I/O Functions539832
 -Ref: table-system-return-values546414
 -Ref: I/O Functions-Footnote-1548394
 -Ref: I/O Functions-Footnote-2548542
 -Node: Time Functions548662
 -Ref: Time Functions-Footnote-1559167
 -Ref: Time Functions-Footnote-2559235
 -Ref: Time Functions-Footnote-3559393
 -Ref: Time Functions-Footnote-4559504
 -Ref: Time Functions-Footnote-5559616
 -Ref: Time Functions-Footnote-6559843
 -Node: Bitwise Functions560109
 -Ref: table-bitwise-ops560703
 -Ref: Bitwise Functions-Footnote-1565041
 -Node: Type Functions565214
 -Node: I18N Functions566370
 -Node: User-defined568021
 -Node: Definition Syntax568826
 -Ref: Definition Syntax-Footnote-1574513
 -Node: Function Example574584
 -Ref: Function Example-Footnote-1577506
 -Node: Function Caveats577528
 -Node: Calling A Function578046
 -Node: Variable Scope579004
 -Node: Pass By Value/Reference581998
 -Node: Return Statement585497
 -Node: Dynamic Typing588476
 -Node: Indirect Calls589406
 -Ref: Indirect Calls-Footnote-1599657
 -Node: Functions Summary599785
 -Node: Library Functions602490
 -Ref: Library Functions-Footnote-1606097
 -Ref: Library Functions-Footnote-2606240
 -Node: Library Names606411
 -Ref: Library Names-Footnote-1609871
 -Ref: Library Names-Footnote-2610094
 -Node: General Functions610180
 -Node: Strtonum Function611283
 -Node: Assert Function614305
 -Node: Round Function617631
 -Node: Cliff Random Function619172
 -Node: Ordinal Functions620188
 -Ref: Ordinal Functions-Footnote-1623251
 -Ref: Ordinal Functions-Footnote-2623503
 -Node: Join Function623713
 -Ref: Join Function-Footnote-1625483
 -Node: Getlocaltime Function625683
 -Node: Readfile Function629425
 -Node: Shell Quoting631397
 -Node: Data File Management632798
 -Node: Filetrans Function633430
 -Node: Rewind Function637526
 -Node: File Checking639431
 -Ref: File Checking-Footnote-1640765
 -Node: Empty Files640966
 -Node: Ignoring Assigns642945
 -Node: Getopt Function644495
 -Ref: Getopt Function-Footnote-1655964
 -Node: Passwd Functions656164
 -Ref: Passwd Functions-Footnote-1665003
 -Node: Group Functions665091
 -Ref: Group Functions-Footnote-1672988
 -Node: Walking Arrays673195
 -Node: Library Functions Summary676203
 -Node: Library Exercises677609
 -Node: Sample Programs678074
 -Node: Running Examples678844
 -Node: Clones679572
 -Node: Cut Program680796
 -Node: Egrep Program690725
 -Ref: Egrep Program-Footnote-1698237
 -Node: Id Program698347
 -Node: Split Program702027
 -Ref: Split Program-Footnote-1705486
 -Node: Tee Program705615
 -Node: Uniq Program708405
 -Node: Wc Program715831
 -Ref: Wc Program-Footnote-1720086
 -Node: Miscellaneous Programs720180
 -Node: Dupword Program721393
 -Node: Alarm Program723423
 -Node: Translate Program728278
 -Ref: Translate Program-Footnote-1732843
 -Node: Labels Program733113
 -Ref: Labels Program-Footnote-1736464
 -Node: Word Sorting736548
 -Node: History Sorting740620
 -Node: Extract Program742455
 -Node: Simple Sed749984
 -Node: Igawk Program753058
 -Ref: Igawk Program-Footnote-1767389
 -Ref: Igawk Program-Footnote-2767591
 -Ref: Igawk Program-Footnote-3767713
 -Node: Anagram Program767828
 -Node: Signature Program770890
 -Node: Programs Summary772137
 -Node: Programs Exercises773351
 -Ref: Programs Exercises-Footnote-1777480
 -Node: Advanced Features777571
 -Node: Nondecimal Data779561
 -Node: Array Sorting781152
 -Node: Controlling Array Traversal781852
 -Ref: Controlling Array Traversal-Footnote-1790219
 -Node: Array Sorting Functions790337
 -Ref: Array Sorting Functions-Footnote-1795428
 -Node: Two-way I/O795624
 -Ref: Two-way I/O-Footnote-1801918
 -Ref: Two-way I/O-Footnote-2802105
 -Node: TCP/IP Networking802187
 -Node: Profiling805305
 -Node: Advanced Features Summary812844
 -Node: Internationalization814780
 -Node: I18N and L10N816260
 -Node: Explaining gettext816947
 -Ref: Explaining gettext-Footnote-1821970
 -Ref: Explaining gettext-Footnote-2822155
 -Node: Programmer i18n822320
 -Ref: Programmer i18n-Footnote-1827175
 -Node: Translator i18n827224
 -Node: String Extraction828018
 -Ref: String Extraction-Footnote-1829150
 -Node: Printf Ordering829236
 -Ref: Printf Ordering-Footnote-1832022
 -Node: I18N Portability832086
 -Ref: I18N Portability-Footnote-1834542
 -Node: I18N Example834605
 -Ref: I18N Example-Footnote-1837411
 -Node: Gawk I18N837484
 -Node: I18N Summary838129
 -Node: Debugger839470
 -Node: Debugging840492
 -Node: Debugging Concepts840933
 -Node: Debugging Terms842742
 -Node: Awk Debugging845317
 -Node: Sample Debugging Session846223
 -Node: Debugger Invocation846757
 -Node: Finding The Bug848143
 -Node: List of Debugger Commands854621
 -Node: Breakpoint Control855954
 -Node: Debugger Execution Control859648
 -Node: Viewing And Changing Data863010
 -Node: Execution Stack866384
 -Node: Debugger Info868021
 -Node: Miscellaneous Debugger Commands872092
 -Node: Readline Support877180
 -Node: Limitations878076
 -Node: Debugging Summary880185
 -Node: Arbitrary Precision Arithmetic881358
 -Node: Computer Arithmetic882774
 -Ref: table-numeric-ranges886365
 -Ref: Computer Arithmetic-Footnote-1887087
 -Node: Math Definitions887144
 -Ref: table-ieee-formats890458
 -Ref: Math Definitions-Footnote-1891061
 -Node: MPFR features891166
 -Node: FP Math Caution892883
 -Ref: FP Math Caution-Footnote-1893955
 -Node: Inexactness of computations894324
 -Node: Inexact representation895284
 -Node: Comparing FP Values896644
 -Node: Errors accumulate897726
 -Node: Getting Accuracy899159
 -Node: Try To Round901869
 -Node: Setting precision902768
 -Ref: table-predefined-precision-strings903465
 -Node: Setting the rounding mode905295
 -Ref: table-gawk-rounding-modes905669
 -Ref: Setting the rounding mode-Footnote-1909077
 -Node: Arbitrary Precision Integers909256
 -Ref: Arbitrary Precision Integers-Footnote-1912240
 -Node: POSIX Floating Point Problems912389
 -Ref: POSIX Floating Point Problems-Footnote-1916271
 -Node: Floating point summary916309
 -Node: Dynamic Extensions918499
 -Node: Extension Intro920052
 -Node: Plugin License921318
 -Node: Extension Mechanism Outline922115
 -Ref: figure-load-extension922554
 -Ref: figure-register-new-function924119
 -Ref: figure-call-new-function925211
 -Node: Extension API Description927273
 -Node: Extension API Functions Introduction928721
 -Node: General Data Types933533
 -Ref: General Data Types-Footnote-1939488
 -Node: Memory Allocation Functions939787
 -Ref: Memory Allocation Functions-Footnote-1942632
 -Node: Constructor Functions942731
 -Node: Registration Functions944476
 -Node: Extension Functions945161
 -Node: Exit Callback Functions947460
 -Node: Extension Version String948710
 -Node: Input Parsers949373
 -Node: Output Wrappers959258
 -Node: Two-way processors963770
 -Node: Printing Messages966034
 -Ref: Printing Messages-Footnote-1967108
 -Node: Updating ERRNO967261
 -Node: Requesting Values968000
 -Ref: table-value-types-returned968737
 -Node: Accessing Parameters969620
 -Node: Symbol Table Access970855
 -Node: Symbol table by name971367
 -Node: Symbol table by cookie973388
 -Ref: Symbol table by cookie-Footnote-1977537
 -Node: Cached values977601
 -Ref: Cached values-Footnote-1981102
 -Node: Array Manipulation981193
 -Ref: Array Manipulation-Footnote-1982292
 -Node: Array Data Types982329
 -Ref: Array Data Types-Footnote-1984987
 -Node: Array Functions985079
 -Node: Flattening Arrays988937
 -Node: Creating Arrays995845
 -Node: Extension API Variables1000616
 -Node: Extension Versioning1001252
 -Node: Extension API Informational Variables1003143
 -Node: Extension API Boilerplate1004207
 -Node: Finding Extensions1008021
 -Node: Extension Example1008580
 -Node: Internal File Description1009378
 -Node: Internal File Ops1013458
 -Ref: Internal File Ops-Footnote-11025220
 -Node: Using Internal File Ops1025360
 -Ref: Using Internal File Ops-Footnote-11027743
 -Node: Extension Samples1028017
 -Node: Extension Sample File Functions1029546
 -Node: Extension Sample Fnmatch1037195
 -Node: Extension Sample Fork1038682
 -Node: Extension Sample Inplace1039900
 -Node: Extension Sample Ord1043110
 -Node: Extension Sample Readdir1043946
 -Ref: table-readdir-file-types1044835
 -Node: Extension Sample Revout1045640
 -Node: Extension Sample Rev2way1046229
 -Node: Extension Sample Read write array1046969
 -Node: Extension Sample Readfile1048911
 -Node: Extension Sample Time1050006
 -Node: Extension Sample API Tests1051354
 -Node: gawkextlib1051846
 -Node: Extension summary1054270
 -Node: Extension Exercises1057962
 -Node: Language History1059459
 -Node: V7/SVR3.11061115
 -Node: SVR41063267
 -Node: POSIX1064701
 -Node: BTL1066080
 -Node: POSIX/GNU1066809
 -Node: Feature History1072330
 -Node: Common Extensions1085659
 -Node: Ranges and Locales1086942
 -Ref: Ranges and Locales-Footnote-11091558
 -Ref: Ranges and Locales-Footnote-21091585
 -Ref: Ranges and Locales-Footnote-31091820
 -Node: Contributors1092041
 -Node: History summary1097610
 -Node: Installation1098990
 -Node: Gawk Distribution1099934
 -Node: Getting1100418
 -Node: Extracting1101379
 -Node: Distribution contents1103017
 -Node: Unix Installation1108768
 -Node: Quick Installation1109384
 -Node: Additional Configuration Options1111811
 -Node: Configuration Philosophy1113615
 -Node: Non-Unix Installation1115984
 -Node: PC Installation1116442
 -Node: PC Binary Installation1117762
 -Node: PC Compiling1119614
 -Ref: PC Compiling-Footnote-11122638
 -Node: PC Testing1122747
 -Node: PC Using1123927
 -Node: Cygwin1128041
 -Node: MSYS1128811
 -Node: VMS Installation1129312
 -Node: VMS Compilation1130103
 -Ref: VMS Compilation-Footnote-11131332
 -Node: VMS Dynamic Extensions1131390
 -Node: VMS Installation Details1133075
 -Node: VMS Running1135328
 -Node: VMS GNV1139607
 -Node: VMS Old Gawk1140342
 -Node: Bugs1140813
 -Node: Other Versions1145010
 -Node: Installation summary1151594
 -Node: Notes1152652
 -Node: Compatibility Mode1153517
 -Node: Additions1154299
 -Node: Accessing The Source1155224
 -Node: Adding Code1156659
 -Node: New Ports1162878
 -Node: Derived Files1167366
 -Ref: Derived Files-Footnote-11172851
 -Ref: Derived Files-Footnote-21172886
 -Ref: Derived Files-Footnote-31173484
 -Node: Future Extensions1173598
 -Node: Implementation Limitations1174256
 -Node: Extension Design1175439
 -Node: Old Extension Problems1176593
 -Ref: Old Extension Problems-Footnote-11178111
 -Node: Extension New Mechanism Goals1178168
 -Ref: Extension New Mechanism Goals-Footnote-11181532
 -Node: Extension Other Design Decisions1181721
 -Node: Extension Future Growth1183834
 -Node: Old Extension Mechanism1184670
 -Node: Notes summary1186433
 -Node: Basic Concepts1187615
 -Node: Basic High Level1188296
 -Ref: figure-general-flow1188578
 -Ref: figure-process-flow1189263
 -Ref: Basic High Level-Footnote-11192564
 -Node: Basic Data Typing1192749
 -Node: Glossary1196077
 -Node: Copying1228023
 -Node: GNU Free Documentation License1265562
 -Node: Index1290680
 +Node: Foreword342506
 +Node: Foreword446948
 +Node: Preface48480
 +Ref: Preface-Footnote-151352
 +Ref: Preface-Footnote-251459
 +Ref: Preface-Footnote-351693
 +Node: History51835
 +Node: Names54187
 +Ref: Names-Footnote-155281
 +Node: This Manual55428
 +Ref: This Manual-Footnote-161910
 +Node: Conventions62010
 +Node: Manual History64364
 +Ref: Manual History-Footnote-167359
 +Ref: Manual History-Footnote-267400
 +Node: How To Contribute67474
 +Node: Acknowledgments68603
 +Node: Getting Started73489
 +Node: Running gawk75928
 +Node: One-shot77118
 +Node: Read Terminal78381
 +Node: Long80413
 +Node: Executable Scripts81926
 +Ref: Executable Scripts-Footnote-184721
 +Node: Comments84824
 +Node: Quoting87308
 +Node: DOS Quoting92825
 +Node: Sample Data Files93500
 +Node: Very Simple96095
 +Node: Two Rules100997
 +Node: More Complex102882
 +Node: Statements/Lines105745
 +Ref: Statements/Lines-Footnote-1110204
 +Node: Other Features110469
 +Node: When111405
 +Ref: When-Footnote-1113159
 +Node: Intro Summary113224
 +Node: Invoking Gawk114108
 +Node: Command Line115622
 +Node: Options116420
 +Ref: Options-Footnote-1132518
 +Ref: Options-Footnote-2132748
 +Node: Other Arguments132773
 +Node: Naming Standard Input135720
 +Node: Environment Variables136813
 +Node: AWKPATH Variable137371
 +Ref: AWKPATH Variable-Footnote-1140782
 +Ref: AWKPATH Variable-Footnote-2140827
 +Node: AWKLIBPATH Variable141088
 +Node: Other Environment Variables142345
 +Node: Exit Status145983
 +Node: Include Files146660
 +Node: Loading Shared Libraries150255
 +Node: Obsolete151683
 +Node: Undocumented152375
 +Node: Invoking Summary152672
 +Node: Regexp154332
 +Node: Regexp Usage155851
 +Node: Escape Sequences157888
 +Node: Regexp Operators164120
 +Ref: Regexp Operators-Footnote-1171536
 +Ref: Regexp Operators-Footnote-2171683
 +Node: Bracket Expressions171781
 +Ref: table-char-classes174257
 +Node: Leftmost Longest177394
 +Node: Computed Regexps178697
 +Node: GNU Regexp Operators182124
 +Node: Case-sensitivity185803
 +Ref: Case-sensitivity-Footnote-1188699
 +Ref: Case-sensitivity-Footnote-2188934
 +Node: Strong Regexp Constants189042
 +Node: Regexp Summary191984
 +Node: Reading Files193590
 +Node: Records195753
 +Node: awk split records196486
 +Node: gawk split records201417
 +Ref: gawk split records-Footnote-1205957
 +Node: Fields205994
 +Node: Nonconstant Fields208735
 +Ref: Nonconstant Fields-Footnote-1210971
 +Node: Changing Fields211175
 +Node: Field Separators217103
 +Node: Default Field Splitting219801
 +Node: Regexp Field Splitting220919
 +Node: Single Character Fields224272
 +Node: Command Line Field Separator225332
 +Node: Full Line Fields228550
 +Ref: Full Line Fields-Footnote-1230072
 +Ref: Full Line Fields-Footnote-2230118
 +Node: Field Splitting Summary230219
 +Node: Constant Size232293
 +Node: Splitting By Content236871
 +Ref: Splitting By Content-Footnote-1240842
 +Node: Multiple Line241005
 +Ref: Multiple Line-Footnote-1246887
 +Node: Getline247066
 +Node: Plain Getline249532
 +Node: Getline/Variable252171
 +Node: Getline/File253320
 +Node: Getline/Variable/File254706
 +Ref: Getline/Variable/File-Footnote-1256309
 +Node: Getline/Pipe256397
 +Node: Getline/Variable/Pipe259102
 +Node: Getline/Coprocess260235
 +Node: Getline/Variable/Coprocess261500
 +Node: Getline Notes262240
 +Node: Getline Summary265035
 +Ref: table-getline-variants265457
 +Node: Read Timeout266205
 +Ref: Read Timeout-Footnote-1270111
 +Node: Retrying Input270169
 +Node: Command-line directories271368
 +Node: Input Summary272274
 +Node: Input Exercises275446
 +Node: Printing276174
 +Node: Print278008
 +Node: Print Examples279465
 +Node: Output Separators282245
 +Node: OFMT284262
 +Node: Printf285618
 +Node: Basic Printf286403
 +Node: Control Letters287977
 +Node: Format Modifiers291965
 +Node: Printf Examples297980
 +Node: Redirection300466
 +Node: Special FD307307
 +Ref: Special FD-Footnote-1310475
 +Node: Special Files310549
 +Node: Other Inherited Files311166
 +Node: Special Network312167
 +Node: Special Caveats313027
 +Node: Close Files And Pipes313976
 +Ref: Close Files And Pipes-Footnote-1321163
 +Ref: Close Files And Pipes-Footnote-2321311
 +Node: Nonfatal321462
 +Node: Output Summary323787
 +Node: Output Exercises325009
 +Node: Expressions325688
 +Node: Values326876
 +Node: Constants327554
 +Node: Scalar Constants328245
 +Ref: Scalar Constants-Footnote-1329109
 +Node: Nondecimal-numbers329359
 +Node: Regexp Constants332372
 +Node: Using Constant Regexps332898
 +Node: Variables336061
 +Node: Using Variables336718
 +Node: Assignment Options338628
 +Node: Conversion340501
 +Node: Strings And Numbers341025
 +Ref: Strings And Numbers-Footnote-1344088
 +Node: Locale influences conversions344197
 +Ref: table-locale-affects346955
 +Node: All Operators347573
 +Node: Arithmetic Ops348202
 +Node: Concatenation350708
 +Ref: Concatenation-Footnote-1353555
 +Node: Assignment Ops353662
 +Ref: table-assign-ops358653
 +Node: Increment Ops359966
 +Node: Truth Values and Conditions363426
 +Node: Truth Values364500
 +Node: Typing and Comparison365548
 +Node: Variable Typing366368
 +Node: Comparison Operators369992
 +Ref: table-relational-ops370411
 +Node: POSIX String Comparison373906
 +Ref: POSIX String Comparison-Footnote-1374980
 +Node: Boolean Ops375119
 +Ref: Boolean Ops-Footnote-1379601
 +Node: Conditional Exp379693
 +Node: Function Calls381429
 +Node: Precedence385306
 +Node: Locales388965
 +Node: Expressions Summary390597
 +Node: Patterns and Actions393170
 +Node: Pattern Overview394290
 +Node: Regexp Patterns395967
 +Node: Expression Patterns396509
 +Node: Ranges400290
 +Node: BEGIN/END403398
 +Node: Using BEGIN/END404159
 +Ref: Using BEGIN/END-Footnote-1406895
 +Node: I/O And BEGIN/END407001
 +Node: BEGINFILE/ENDFILE409315
 +Node: Empty412222
 +Node: Using Shell Variables412539
 +Node: Action Overview414813
 +Node: Statements417138
 +Node: If Statement418986
 +Node: While Statement420481
 +Node: Do Statement422509
 +Node: For Statement423657
 +Node: Switch Statement426815
 +Node: Break Statement429201
 +Node: Continue Statement431293
 +Node: Next Statement433120
 +Node: Nextfile Statement435503
 +Node: Exit Statement438155
 +Node: Built-in Variables440558
 +Node: User-modified441691
 +Node: Auto-set449277
 +Ref: Auto-set-Footnote-1463664
 +Ref: Auto-set-Footnote-2463870
 +Node: ARGC and ARGV463926
 +Node: Pattern Action Summary468139
 +Node: Arrays470569
 +Node: Array Basics471898
 +Node: Array Intro472742
 +Ref: figure-array-elements474717
 +Ref: Array Intro-Footnote-1477421
 +Node: Reference to Elements477549
 +Node: Assigning Elements480013
 +Node: Array Example480504
 +Node: Scanning an Array482263
 +Node: Controlling Scanning485285
 +Ref: Controlling Scanning-Footnote-1490684
 +Node: Numeric Array Subscripts491000
 +Node: Uninitialized Subscripts493184
 +Node: Delete494803
 +Ref: Delete-Footnote-1497555
 +Node: Multidimensional497612
 +Node: Multiscanning500707
 +Node: Arrays of Arrays502298
 +Node: Arrays Summary507065
 +Node: Functions509158
 +Node: Built-in510196
 +Node: Calling Built-in511274
 +Node: Numeric Functions513270
 +Ref: Numeric Functions-Footnote-1518103
 +Ref: Numeric Functions-Footnote-2518460
 +Ref: Numeric Functions-Footnote-3518508
 +Node: String Functions518780
 +Ref: String Functions-Footnote-1542284
 +Ref: String Functions-Footnote-2542412
 +Ref: String Functions-Footnote-3542660
 +Node: Gory Details542747
 +Ref: table-sub-escapes544538
 +Ref: table-sub-proposed546057
 +Ref: table-posix-sub547420
 +Ref: table-gensub-escapes548961
 +Ref: Gory Details-Footnote-1549784
 +Node: I/O Functions549935
 +Ref: table-system-return-values556517
 +Ref: I/O Functions-Footnote-1558497
 +Ref: I/O Functions-Footnote-2558645
 +Node: Time Functions558765
 +Ref: Time Functions-Footnote-1569270
 +Ref: Time Functions-Footnote-2569338
 +Ref: Time Functions-Footnote-3569496
 +Ref: Time Functions-Footnote-4569607
 +Ref: Time Functions-Footnote-5569719
 +Ref: Time Functions-Footnote-6569946
 +Node: Bitwise Functions570212
 +Ref: table-bitwise-ops570806
 +Ref: Bitwise Functions-Footnote-1575144
 +Node: Type Functions575317
 +Node: I18N Functions577978
 +Node: User-defined579629
 +Node: Definition Syntax580434
 +Ref: Definition Syntax-Footnote-1586121
 +Node: Function Example586192
 +Ref: Function Example-Footnote-1589114
 +Node: Function Caveats589136
 +Node: Calling A Function589654
 +Node: Variable Scope590612
 +Node: Pass By Value/Reference593606
 +Node: Return Statement597105
 +Node: Dynamic Typing600084
 +Node: Indirect Calls601014
 +Ref: Indirect Calls-Footnote-1611265
 +Node: Functions Summary611393
 +Node: Library Functions614098
 +Ref: Library Functions-Footnote-1617705
 +Ref: Library Functions-Footnote-2617848
 +Node: Library Names618019
 +Ref: Library Names-Footnote-1621479
 +Ref: Library Names-Footnote-2621702
 +Node: General Functions621788
 +Node: Strtonum Function622891
 +Node: Assert Function625913
 +Node: Round Function629239
 +Node: Cliff Random Function630780
 +Node: Ordinal Functions631796
 +Ref: Ordinal Functions-Footnote-1634859
 +Ref: Ordinal Functions-Footnote-2635111
 +Node: Join Function635321
 +Ref: Join Function-Footnote-1637091
 +Node: Getlocaltime Function637291
 +Node: Readfile Function641033
 +Node: Shell Quoting643005
 +Node: Data File Management644406
 +Node: Filetrans Function645038
 +Node: Rewind Function649134
 +Node: File Checking651039
 +Ref: File Checking-Footnote-1652373
 +Node: Empty Files652574
 +Node: Ignoring Assigns654553
 +Node: Getopt Function656103
 +Ref: Getopt Function-Footnote-1667572
 +Node: Passwd Functions667772
 +Ref: Passwd Functions-Footnote-1676611
 +Node: Group Functions676699
 +Ref: Group Functions-Footnote-1684596
 +Node: Walking Arrays684803
 +Node: Library Functions Summary687811
 +Node: Library Exercises689217
 +Node: Sample Programs689682
 +Node: Running Examples690452
 +Node: Clones691180
 +Node: Cut Program692404
 +Node: Egrep Program702333
 +Ref: Egrep Program-Footnote-1709845
 +Node: Id Program709955
 +Node: Split Program713635
 +Ref: Split Program-Footnote-1717094
 +Node: Tee Program717223
 +Node: Uniq Program720013
 +Node: Wc Program727439
 +Ref: Wc Program-Footnote-1731694
 +Node: Miscellaneous Programs731788
 +Node: Dupword Program733001
 +Node: Alarm Program735031
 +Node: Translate Program739886
 +Ref: Translate Program-Footnote-1744451
 +Node: Labels Program744721
 +Ref: Labels Program-Footnote-1748072
 +Node: Word Sorting748156
 +Node: History Sorting752228
 +Node: Extract Program754063
 +Node: Simple Sed761592
 +Node: Igawk Program764666
 +Ref: Igawk Program-Footnote-1778997
 +Ref: Igawk Program-Footnote-2779199
 +Ref: Igawk Program-Footnote-3779321
 +Node: Anagram Program779436
 +Node: Signature Program782498
 +Node: Programs Summary783745
 +Node: Programs Exercises784959
 +Ref: Programs Exercises-Footnote-1789088
 +Node: Advanced Features789179
 +Node: Nondecimal Data791169
 +Node: Array Sorting792760
 +Node: Controlling Array Traversal793460
 +Ref: Controlling Array Traversal-Footnote-1801827
 +Node: Array Sorting Functions801945
 +Ref: Array Sorting Functions-Footnote-1807036
 +Node: Two-way I/O807232
- Ref: Two-way I/O-Footnote-1813052
- Ref: Two-way I/O-Footnote-2813239
- Node: TCP/IP Networking813321
- Node: Profiling816439
- Ref: Profiling-Footnote-1824932
- Node: Advanced Features Summary825255
- Node: Internationalization827099
- Node: I18N and L10N828579
- Node: Explaining gettext829266
- Ref: Explaining gettext-Footnote-1834289
- Ref: Explaining gettext-Footnote-2834474
- Node: Programmer i18n834639
- Ref: Programmer i18n-Footnote-1839494
- Node: Translator i18n839543
- Node: String Extraction840337
- Ref: String Extraction-Footnote-1841469
- Node: Printf Ordering841555
- Ref: Printf Ordering-Footnote-1844341
- Node: I18N Portability844405
- Ref: I18N Portability-Footnote-1846861
- Node: I18N Example846924
- Ref: I18N Example-Footnote-1849730
- Node: Gawk I18N849803
- Node: I18N Summary850448
- Node: Debugger851789
- Node: Debugging852811
- Node: Debugging Concepts853252
- Node: Debugging Terms855061
- Node: Awk Debugging857636
- Node: Sample Debugging Session858542
- Node: Debugger Invocation859076
- Node: Finding The Bug860462
- Node: List of Debugger Commands866940
- Node: Breakpoint Control868273
- Node: Debugger Execution Control871967
- Node: Viewing And Changing Data875329
- Node: Execution Stack878703
- Node: Debugger Info880340
- Node: Miscellaneous Debugger Commands884411
- Node: Readline Support889499
- Node: Limitations890395
- Ref: Limitations-Footnote-1894626
- Node: Debugging Summary894677
- Node: Arbitrary Precision Arithmetic895956
- Node: Computer Arithmetic897372
- Ref: table-numeric-ranges900963
- Ref: Computer Arithmetic-Footnote-1901685
- Node: Math Definitions901742
- Ref: table-ieee-formats905056
- Ref: Math Definitions-Footnote-1905659
- Node: MPFR features905764
- Node: FP Math Caution907481
- Ref: FP Math Caution-Footnote-1908553
- Node: Inexactness of computations908922
- Node: Inexact representation909882
- Node: Comparing FP Values911242
- Node: Errors accumulate912324
- Node: Getting Accuracy913757
- Node: Try To Round916467
- Node: Setting precision917366
- Ref: table-predefined-precision-strings918063
- Node: Setting the rounding mode919893
- Ref: table-gawk-rounding-modes920267
- Ref: Setting the rounding mode-Footnote-1923675
- Node: Arbitrary Precision Integers923854
- Ref: Arbitrary Precision Integers-Footnote-1928771
- Node: POSIX Floating Point Problems928920
- Ref: POSIX Floating Point Problems-Footnote-1932802
- Node: Floating point summary932840
- Node: Dynamic Extensions935030
- Node: Extension Intro936583
- Node: Plugin License937849
- Node: Extension Mechanism Outline938646
- Ref: figure-load-extension939085
- Ref: figure-register-new-function940650
- Ref: figure-call-new-function941742
- Node: Extension API Description943804
- Node: Extension API Functions Introduction945336
- Node: General Data Types950195
- Ref: General Data Types-Footnote-1956150
- Node: Memory Allocation Functions956449
- Ref: Memory Allocation Functions-Footnote-1959294
- Node: Constructor Functions959393
- Node: Registration Functions961138
- Node: Extension Functions961823
- Node: Exit Callback Functions964122
- Node: Extension Version String965372
- Node: Input Parsers966035
- Node: Output Wrappers975920
- Node: Two-way processors980432
- Node: Printing Messages982696
- Ref: Printing Messages-Footnote-1983770
- Node: Updating ERRNO983923
- Node: Requesting Values984662
- Ref: table-value-types-returned985399
- Node: Accessing Parameters986282
- Node: Symbol Table Access987517
- Node: Symbol table by name988029
- Node: Symbol table by cookie990050
- Ref: Symbol table by cookie-Footnote-1994199
- Node: Cached values994263
- Ref: Cached values-Footnote-1997764
- Node: Array Manipulation997855
- Ref: Array Manipulation-Footnote-1998946
- Node: Array Data Types998983
- Ref: Array Data Types-Footnote-11001641
- Node: Array Functions1001733
- Node: Flattening Arrays1005591
- Node: Creating Arrays1012499
- Node: Redirection API1017270
- Node: Extension API Variables1020101
- Node: Extension Versioning1020734
- Node: Extension API Informational Variables1022625
- Node: Extension API Boilerplate1023689
- Node: Finding Extensions1027503
- Node: Extension Example1028062
- Node: Internal File Description1028860
- Node: Internal File Ops1032940
- Ref: Internal File Ops-Footnote-11044702
- Node: Using Internal File Ops1044842
- Ref: Using Internal File Ops-Footnote-11047225
- Node: Extension Samples1047499
- Node: Extension Sample File Functions1049028
- Node: Extension Sample Fnmatch1056677
- Node: Extension Sample Fork1058164
- Node: Extension Sample Inplace1059382
- Node: Extension Sample Ord1062592
- Node: Extension Sample Readdir1063428
- Ref: table-readdir-file-types1064317
- Node: Extension Sample Revout1065122
- Node: Extension Sample Rev2way1065711
- Node: Extension Sample Read write array1066451
- Node: Extension Sample Readfile1068393
- Node: Extension Sample Time1069488
- Node: Extension Sample API Tests1070836
- Node: gawkextlib1071328
- Node: Extension summary1073775
- Node: Extension Exercises1077467
- Node: Language History1078964
- Node: V7/SVR3.11080620
- Node: SVR41082772
- Node: POSIX1084206
- Node: BTL1085585
- Node: POSIX/GNU1086314
- Node: Feature History1092176
- Node: Common Extensions1106546
- Node: Ranges and Locales1107829
- Ref: Ranges and Locales-Footnote-11112445
- Ref: Ranges and Locales-Footnote-21112472
- Ref: Ranges and Locales-Footnote-31112707
- Node: Contributors1112928
- Node: History summary1118497
- Node: Installation1119877
- Node: Gawk Distribution1120821
- Node: Getting1121305
- Node: Extracting1122266
- Node: Distribution contents1123904
- Node: Unix Installation1129998
- Node: Quick Installation1130680
- Node: Shell Startup Files1133094
- Node: Additional Configuration Options1134172
- Node: Configuration Philosophy1135977
- Node: Non-Unix Installation1138346
- Node: PC Installation1138804
- Node: PC Binary Installation1140124
- Node: PC Compiling1141976
- Ref: PC Compiling-Footnote-11145000
- Node: PC Testing1145109
- Node: PC Using1146289
- Node: Cygwin1150403
- Node: MSYS1151173
- Node: VMS Installation1151674
- Node: VMS Compilation1152465
- Ref: VMS Compilation-Footnote-11153694
- Node: VMS Dynamic Extensions1153752
- Node: VMS Installation Details1155437
- Node: VMS Running1157690
- Node: VMS GNV1161969
- Node: VMS Old Gawk1162704
- Node: Bugs1163175
- Node: Other Versions1167372
- Node: Installation summary1173956
- Node: Notes1175014
- Node: Compatibility Mode1175879
- Node: Additions1176661
- Node: Accessing The Source1177586
- Node: Adding Code1179021
- Node: New Ports1185240
- Node: Derived Files1189728
- Ref: Derived Files-Footnote-11195213
- Ref: Derived Files-Footnote-21195248
- Ref: Derived Files-Footnote-31195846
- Node: Future Extensions1195960
- Node: Implementation Limitations1196618
- Node: Extension Design1197801
- Node: Old Extension Problems1198955
- Ref: Old Extension Problems-Footnote-11200473
- Node: Extension New Mechanism Goals1200530
- Ref: Extension New Mechanism Goals-Footnote-11203894
- Node: Extension Other Design Decisions1204083
- Node: Extension Future Growth1206196
- Node: Old Extension Mechanism1207032
- Node: Notes summary1208795
- Node: Basic Concepts1209977
- Node: Basic High Level1210658
- Ref: figure-general-flow1210940
- Ref: figure-process-flow1211625
- Ref: Basic High Level-Footnote-11214926
- Node: Basic Data Typing1215111
- Node: Glossary1218439
- Node: Copying1250385
- Node: GNU Free Documentation License1287924
- Node: Index1313042
++Ref: Two-way I/O-Footnote-1813526
++Ref: Two-way I/O-Footnote-2813713
++Node: TCP/IP Networking813795
++Node: Profiling816913
++Ref: Profiling-Footnote-1825406
++Node: Advanced Features Summary825729
++Node: Internationalization827573
++Node: I18N and L10N829053
++Node: Explaining gettext829740
++Ref: Explaining gettext-Footnote-1834763
++Ref: Explaining gettext-Footnote-2834948
++Node: Programmer i18n835113
++Ref: Programmer i18n-Footnote-1839968
++Node: Translator i18n840017
++Node: String Extraction840811
++Ref: String Extraction-Footnote-1841943
++Node: Printf Ordering842029
++Ref: Printf Ordering-Footnote-1844815
++Node: I18N Portability844879
++Ref: I18N Portability-Footnote-1847335
++Node: I18N Example847398
++Ref: I18N Example-Footnote-1850204
++Node: Gawk I18N850277
++Node: I18N Summary850922
++Node: Debugger852263
++Node: Debugging853285
++Node: Debugging Concepts853726
++Node: Debugging Terms855535
++Node: Awk Debugging858110
++Node: Sample Debugging Session859016
++Node: Debugger Invocation859550
++Node: Finding The Bug860936
++Node: List of Debugger Commands867414
++Node: Breakpoint Control868747
++Node: Debugger Execution Control872441
++Node: Viewing And Changing Data875803
++Node: Execution Stack879177
++Node: Debugger Info880814
++Node: Miscellaneous Debugger Commands884885
++Node: Readline Support889973
++Node: Limitations890869
++Ref: Limitations-Footnote-1895100
++Node: Debugging Summary895151
++Node: Arbitrary Precision Arithmetic896430
++Node: Computer Arithmetic897846
++Ref: table-numeric-ranges901437
++Ref: Computer Arithmetic-Footnote-1902159
++Node: Math Definitions902216
++Ref: table-ieee-formats905530
++Ref: Math Definitions-Footnote-1906133
++Node: MPFR features906238
++Node: FP Math Caution907955
++Ref: FP Math Caution-Footnote-1909027
++Node: Inexactness of computations909396
++Node: Inexact representation910356
++Node: Comparing FP Values911716
++Node: Errors accumulate912798
++Node: Getting Accuracy914231
++Node: Try To Round916941
++Node: Setting precision917840
++Ref: table-predefined-precision-strings918537
++Node: Setting the rounding mode920367
++Ref: table-gawk-rounding-modes920741
++Ref: Setting the rounding mode-Footnote-1924149
++Node: Arbitrary Precision Integers924328
++Ref: Arbitrary Precision Integers-Footnote-1929245
++Node: POSIX Floating Point Problems929394
++Ref: POSIX Floating Point Problems-Footnote-1933276
++Node: Floating point summary933314
++Node: Dynamic Extensions935504
++Node: Extension Intro937057
++Node: Plugin License938323
++Node: Extension Mechanism Outline939120
++Ref: figure-load-extension939559
++Ref: figure-register-new-function941124
++Ref: figure-call-new-function942216
++Node: Extension API Description944278
++Node: Extension API Functions Introduction945810
++Node: General Data Types950669
++Ref: General Data Types-Footnote-1956624
++Node: Memory Allocation Functions956923
++Ref: Memory Allocation Functions-Footnote-1959768
++Node: Constructor Functions959867
++Node: Registration Functions961612
++Node: Extension Functions962297
++Node: Exit Callback Functions964596
++Node: Extension Version String965846
++Node: Input Parsers966509
++Node: Output Wrappers976394
++Node: Two-way processors980906
++Node: Printing Messages983170
++Ref: Printing Messages-Footnote-1984244
++Node: Updating ERRNO984397
++Node: Requesting Values985136
++Ref: table-value-types-returned985873
++Node: Accessing Parameters986756
++Node: Symbol Table Access987991
++Node: Symbol table by name988503
++Node: Symbol table by cookie990524
++Ref: Symbol table by cookie-Footnote-1994673
++Node: Cached values994737
++Ref: Cached values-Footnote-1998238
++Node: Array Manipulation998329
++Ref: Array Manipulation-Footnote-1999420
++Node: Array Data Types999457
++Ref: Array Data Types-Footnote-11002115
++Node: Array Functions1002207
++Node: Flattening Arrays1006065
++Node: Creating Arrays1012973
++Node: Redirection API1017744
++Node: Extension API Variables1020575
++Node: Extension Versioning1021208
++Node: Extension API Informational Variables1023099
++Node: Extension API Boilerplate1024163
++Node: Finding Extensions1027977
++Node: Extension Example1028536
++Node: Internal File Description1029334
++Node: Internal File Ops1033414
++Ref: Internal File Ops-Footnote-11045176
++Node: Using Internal File Ops1045316
++Ref: Using Internal File Ops-Footnote-11047699
++Node: Extension Samples1047973
++Node: Extension Sample File Functions1049502
++Node: Extension Sample Fnmatch1057151
++Node: Extension Sample Fork1058638
++Node: Extension Sample Inplace1059856
++Node: Extension Sample Ord1063066
++Node: Extension Sample Readdir1063902
++Ref: table-readdir-file-types1064791
++Node: Extension Sample Revout1065596
++Node: Extension Sample Rev2way1066185
++Node: Extension Sample Read write array1066925
++Node: Extension Sample Readfile1068867
++Node: Extension Sample Time1069962
++Node: Extension Sample API Tests1071310
++Node: gawkextlib1071802
++Node: Extension summary1074249
++Node: Extension Exercises1077941
++Node: Language History1079438
++Node: V7/SVR3.11081094
++Node: SVR41083246
++Node: POSIX1084680
++Node: BTL1086059
++Node: POSIX/GNU1086788
++Node: Feature History1092650
++Node: Common Extensions1107020
++Node: Ranges and Locales1108303
++Ref: Ranges and Locales-Footnote-11112919
++Ref: Ranges and Locales-Footnote-21112946
++Ref: Ranges and Locales-Footnote-31113181
++Node: Contributors1113402
++Node: History summary1118971
++Node: Installation1120351
++Node: Gawk Distribution1121295
++Node: Getting1121779
++Node: Extracting1122740
++Node: Distribution contents1124378
++Node: Unix Installation1130472
++Node: Quick Installation1131154
++Node: Shell Startup Files1133568
++Node: Additional Configuration Options1134646
++Node: Configuration Philosophy1136451
++Node: Non-Unix Installation1138820
++Node: PC Installation1139278
++Node: PC Binary Installation1140598
++Node: PC Compiling1142450
++Ref: PC Compiling-Footnote-11145474
++Node: PC Testing1145583
++Node: PC Using1146763
++Node: Cygwin1150877
++Node: MSYS1151647
++Node: VMS Installation1152148
++Node: VMS Compilation1152939
++Ref: VMS Compilation-Footnote-11154168
++Node: VMS Dynamic Extensions1154226
++Node: VMS Installation Details1155911
++Node: VMS Running1158164
++Node: VMS GNV1162443
++Node: VMS Old Gawk1163178
++Node: Bugs1163649
++Node: Other Versions1167846
++Node: Installation summary1174430
++Node: Notes1175488
++Node: Compatibility Mode1176353
++Node: Additions1177135
++Node: Accessing The Source1178060
++Node: Adding Code1179495
++Node: New Ports1185714
++Node: Derived Files1190202
++Ref: Derived Files-Footnote-11195687
++Ref: Derived Files-Footnote-21195722
++Ref: Derived Files-Footnote-31196320
++Node: Future Extensions1196434
++Node: Implementation Limitations1197092
++Node: Extension Design1198275
++Node: Old Extension Problems1199429
++Ref: Old Extension Problems-Footnote-11200947
++Node: Extension New Mechanism Goals1201004
++Ref: Extension New Mechanism Goals-Footnote-11204368
++Node: Extension Other Design Decisions1204557
++Node: Extension Future Growth1206670
++Node: Old Extension Mechanism1207506
++Node: Notes summary1209269
++Node: Basic Concepts1210451
++Node: Basic High Level1211132
++Ref: figure-general-flow1211414
++Ref: figure-process-flow1212099
++Ref: Basic High Level-Footnote-11215400
++Node: Basic Data Typing1215585
++Node: Glossary1218913
++Node: Copying1250859
++Node: GNU Free Documentation License1288398
++Node: Index1313516
  
  End Tag Table
diff --cc test/ChangeLog
index 2b44b4b,2867f6c..eaeed87
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@@ -1,17 -1,13 +1,27 @@@
+ 2016-04-04         Arnold D. Robbins     <address@hidden>
+ 
+       * Makefile.am (clos1way2, clos1way3, clos1way4, clos1way5):
+       New tests.
+       * clos1way2.awk, clos1way2.in, clos1way2.ok, clos1way3.awk,
+       clos1way3.ok, clos1way4.awk, clos1way4.ok, clos1way5.awk,
+       clos1way5.ok: New files.
+       * clos1way2.awk: Add call to fflush() to test it too.
+       * clos1way2.ok: Updated after code change.
+ 
 +2016-03-27         Arnold D. Robbins     <address@hidden>
 +
 +      * profile5.ok: Adjust after code changes.
 +
 +2016-03-21         Arnold D. Robbins     <address@hidden>
 +
 +      * profile5.ok, profile10.awk, profile10.ok: Adjust after code changes.
 +
 +2016-03-19         Arnold D. Robbins     <address@hidden>
 +
 +      * profile5.ok: Adjust after code changes.
 +      * Makefile.am (profile10): New test.
 +      * profile10.awk, profile10.ok: New files.
 +
  2016-02-18         Arnold D. Robbins     <address@hidden>
  
        * profile2.ok, profile5.ok: Adjust after code changes.
diff --cc test/Makefile.am
index 776dfbd,7be8d97..8e5d0c8
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@@ -1121,11 -1084,11 +1130,12 @@@ UNIX_TESTS = 
  GAWK_EXT_TESTS = \
        aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
        backw badargs beginfile1 beginfile2 binmode1 charasbytes \
-       colonwarn clos1way crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 
delsub \
+       colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \
 -      crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \
++      crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
 +      devfd devfd1 devfd2 dumpvars errno exit \
        fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
        functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
 -      genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
 +      genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops gsubind \
        icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
        incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \
        include include2 indirectbuiltin indirectcall indirectcall2 \
diff --cc test/Makefile.in
index 7c3a5a0,b9b97de..9fec312
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@@ -1377,11 -1340,11 +1386,12 @@@ UNIX_TESTS = 
  GAWK_EXT_TESTS = \
        aadelete1 aadelete2 aarray1 aasort aasorti argtest arraysort \
        backw badargs beginfile1 beginfile2 binmode1 charasbytes \
-       colonwarn clos1way crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 
delsub \
+       colonwarn clos1way clos1way2 clos1way3 clos1way4 clos1way5 \
 -      crlf dbugeval delsub devfd devfd1 devfd2 dumpvars exit \
++      crlf dbugeval dbugeval2 dbugtypedre1 dbugtypedre2 delsub \
 +      devfd devfd1 devfd2 dumpvars errno exit \
        fieldwdth fpat1 fpat2 fpat3 fpat4 fpat5 fpatnull fsfwfs funlen \
        functab1 functab2 functab3 fwtest fwtest2 fwtest3 \
 -      genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops \
 +      genpot gensub gensub2 getlndir gnuops2 gnuops3 gnureops gsubind \
        icasefs icasers id igncdym igncfs ignrcas2 ignrcase \
        incdupe incdupe2 incdupe3 incdupe4 incdupe5 incdupe6 incdupe7 \
        include include2 indirectbuiltin indirectcall indirectcall2 \

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

Summary of changes:
 ChangeLog                         |   17 ++
 NEWS                              |    4 +
 builtin.c                         |   21 ++-
 doc/ChangeLog                     |    5 +
 doc/gawk.info                     |  439 +++++++++++++++++++------------------
 doc/gawk.texi                     |   11 +
 doc/gawktexi.in                   |   11 +
 io.c                              |    5 +-
 test/ChangeLog                    |   10 +
 test/Makefile.am                  |   12 +-
 test/Makefile.in                  |   32 +++-
 test/Maketests                    |   20 ++
 test/clos1way2.awk                |    6 +
 test/{symtab8.in => clos1way2.in} |    0
 test/clos1way2.ok                 |    4 +
 test/clos1way3.awk                |    7 +
 test/clos1way3.ok                 |    3 +
 test/clos1way4.awk                |    7 +
 test/clos1way4.ok                 |    3 +
 test/clos1way5.awk                |    9 +
 test/clos1way5.ok                 |    3 +
 21 files changed, 408 insertions(+), 221 deletions(-)
 create mode 100644 test/clos1way2.awk
 copy test/{symtab8.in => clos1way2.in} (100%)
 create mode 100644 test/clos1way2.ok
 create mode 100644 test/clos1way3.awk
 create mode 100644 test/clos1way3.ok
 create mode 100644 test/clos1way4.awk
 create mode 100644 test/clos1way4.ok
 create mode 100644 test/clos1way5.awk
 create mode 100644 test/clos1way5.ok


hooks/post-receive
-- 
gawk



reply via email to

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