[Top][All Lists]

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

[gawk-diffs] [SCM] gawk branch, non-fatal-io, updated. gawk-4.1.0-1095-g

From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, non-fatal-io, updated. gawk-4.1.0-1095-g112bdc6
Date: Fri, 06 Feb 2015 09:21:59 +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, non-fatal-io has been updated
       via  112bdc6dc6363dbec17fe665de8778c99d6f6bf9 (commit)
       via  03eb35e1acd5730d6ebaccf0bb756b5c3a18961f (commit)
       via  1e1bfd963b8b3a1381247d6ddb5734f10b0ed837 (commit)
       via  38162ad82080f1dd6f347fe2bc4e83478a7dc9c4 (commit)
       via  73ae20aa7f21d31907f19d9a47fe00b717fc4d7a (commit)
       via  1736b4db53dc60f1e7a9659dc201e0562d43aa02 (commit)
      from  7e450dc5fac4d9ca094c3d981cde783d04d1801d (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 -----------------------------------------------------------------

commit 112bdc6dc6363dbec17fe665de8778c99d6f6bf9
Author: Arnold D. Robbins <address@hidden>
Date:   Fri Feb 6 11:21:38 2015 +0200

    Fixes for non-fatal I/O. Add tests.

diff --git a/ChangeLog b/ChangeLog
index 6514b3c..cf23b77 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-02-06         Arnold D. Robbins     <address@hidden>
+       * io.c (socketopen): If host lookup fails, check non_fatal_io and
+       return INVALID_HANDLE if set instead of throwing a fatal error.
+       * str_array.c (proc_lookup): New function.
+       (proc_array_func): Use it in the vtable.
 2015-02-05         Andrew J. Schorr     <address@hidden>
        * eval.c (set_IGNORECASE): If IGNORECASE has a numeric value, try
diff --git a/io.c b/io.c
index cf5e867..4b6b23d 100644
--- a/io.c
+++ b/io.c
@@ -1478,6 +1478,8 @@ socketopen(int family, int type, const char *localpname,
                if (rerror) {
                        if (lres0 != NULL)
+                       if (non_fatal_io)
+                               return INVALID_HANDLE;
                        fatal(_("remote host and port information (%s, %s) 
invalid"), remotehostname, remotepname);
                rres0 = rres;
diff --git a/str_array.c b/str_array.c
index c744542..fb24218 100644
--- a/str_array.c
+++ b/str_array.c
@@ -91,13 +91,14 @@ afunc_t env_array_func[] = {
 static NODE **proc_remove(NODE *symbol, NODE *subs);
 static NODE **proc_store(NODE *symbol, NODE *subs);
 static NODE **proc_clear(NODE *symbol, NODE *subs);
+static NODE **proc_lookup(NODE *symbol, NODE *subs);
 /* special case for PROCINFO */
 afunc_t proc_array_func[] = {
        (afunc_t) 0,
-       str_lookup,
+       proc_lookup,
@@ -847,6 +848,19 @@ proc_remove(NODE *symbol, NODE *subs)
        return str_remove(symbol, subs);
+/* proc_lookup --- handle looking up and creating element */
+static NODE **
+proc_lookup(NODE *symbol, NODE *subs)
+       NODE **val = str_lookup(symbol, subs);
+       if (subs && subs->stptr && strcmp(subs->stptr, "nonfatal") == 0)
+               non_fatal_io = true;
+       return val;
 /* proc_store --- handle storing an element */
 static NODE **
diff --git a/test/ChangeLog b/test/ChangeLog
index e9d5620..b0979d8 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-06         Arnold D. Robbins     <address@hidden>
+       * (nonfatal1, nonfatal2): New tests.
+       * nonfatal1.awk, nonfatal1.ok: New files.
+       * nonfatal2.awk, nonfatal2.ok: New files.
 2015-02-01         Arnold D. Robbins     <address@hidden>
        * (paramasfunc1, paramasfunc2): Now need --posix.
diff --git a/test/ b/test/
index c4c0b8b..053f89f 100644
--- a/test/
+++ b/test/
@@ -597,6 +597,10 @@ EXTRA_DIST = \
        nondec.ok \
        nondec2.awk \
        nondec2.ok \
+       nonfatal1.awk \
+       nonfatal1.ok \
+       nonfatal2.awk \
+       nonfatal2.ok \
        nonl.awk \
        nonl.ok \
        noparms.awk \
@@ -1042,6 +1046,7 @@ GAWK_EXT_TESTS = \
        lint lintold lintwarn \
        manyfiles match1 match2 match3 mbstr1 \
        nastyparm next nondec nondec2 \
+       nonfatal1 nonfatal2 \
        patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge 
procinfs \
        profile1 profile2 profile3 profile4 profile5 profile6 profile7 \
        profile8 pty1 \
diff --git a/test/ b/test/
index 212cb77..25ea167 100644
--- a/test/
+++ b/test/
@@ -854,6 +854,10 @@ EXTRA_DIST = \
        nondec.ok \
        nondec2.awk \
        nondec2.ok \
+       nonfatal1.awk \
+       nonfatal1.ok \
+       nonfatal2.awk \
+       nonfatal2.ok \
        nonl.awk \
        nonl.ok \
        noparms.awk \
@@ -1298,6 +1302,7 @@ GAWK_EXT_TESTS = \
        lint lintold lintwarn \
        manyfiles match1 match2 match3 mbstr1 \
        nastyparm next nondec nondec2 \
+       nonfatal1 nonfatal2 \
        patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge 
procinfs \
        profile1 profile2 profile3 profile4 profile5 profile6 profile7 \
        profile8 pty1 \
@@ -3620,6 +3625,16 @@ nondec:
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+       @echo $@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+       @echo $@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
        @echo $@
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index f3639b0..9e19a2d 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1147,6 +1147,16 @@ nondec:
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
        @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+       @echo $@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
+       @echo $@
+       @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
+       @-$(CMP) "$(srcdir)"/address@hidden _$@ && rm -f _$@
        @echo $@
        @AWKPATH="$(srcdir)" $(AWK) -f address@hidden  >_$@ 2>&1 || echo EXIT 
CODE: $$? >>_$@
diff --git a/test/nonfatal1.awk b/test/nonfatal1.awk
new file mode 100644
index 0000000..8366128
--- /dev/null
+++ b/test/nonfatal1.awk
@@ -0,0 +1,5 @@
+       PROCINFO["nonfatal"]
+       print |& "/inet/tcp/0/ti10/357"
+       print ERRNO
diff --git a/test/nonfatal1.ok b/test/nonfatal1.ok
new file mode 100644
index 0000000..ddc8869
--- /dev/null
+++ b/test/nonfatal1.ok
@@ -0,0 +1 @@
+No such file or directory
diff --git a/test/nonfatal2.awk b/test/nonfatal2.awk
new file mode 100644
index 0000000..f5db71c
--- /dev/null
+++ b/test/nonfatal2.awk
@@ -0,0 +1,5 @@
+       PROCINFO["nonfatal"] = 1
+       print > "/dev/no/such/file"
+       print ERRNO
diff --git a/test/nonfatal2.ok b/test/nonfatal2.ok
new file mode 100644
index 0000000..ddc8869
--- /dev/null
+++ b/test/nonfatal2.ok
@@ -0,0 +1 @@
+No such file or directory

commit 03eb35e1acd5730d6ebaccf0bb756b5c3a18961f
Merge: 7e450dc 1e1bfd9
Author: Arnold D. Robbins <address@hidden>
Date:   Fri Feb 6 11:08:18 2015 +0200

    Merge branch 'master' into non-fatal-io

diff --cc ChangeLog
index b00211f,8dc4b05..6514b3c
--- a/ChangeLog
+++ b/ChangeLog
@@@ -1,22 -1,10 +1,29 @@@
+ 2015-02-05         Andrew J. Schorr     <address@hidden>
+       * eval.c (set_IGNORECASE): If IGNORECASE has a numeric value, try
+       using that before treating it as a string.  This fixes a problem
+       where setting -v IGNORECASE=0 on the command line was not working
+       properly.
 +2015-02-03         Arnold D. Robbins     <address@hidden>
 +      Interim changes, moving to check upon failure.
 +      * awk.h (RED_NON_FATAL): Remove.
 +      (init_proc_array, non_fatal_io): Add decls.
 +      (is_non_fatal_std): Remove decl.
 +      * builtin.c (efwrite): If non-fatal, update ERRNO.
 +      (do_print_rec): Move check for errflg up.
 +      * io.c (non_fatal_io): New variable.
 +      (redflags2str): Remove table entry for RED_NON_FATAL.
 +      (redirect): Simplify the logic.
 +      (is_non_fatal_std): Remove.
 +      * main.c (load_procinfo): Call init_proc_array.
 +      * str_array.c (proc_store, proc_remove, proc_clear): New functions
 +      that set/clear non_fatal_io variable.
 +      (proc_array_func): New vtable.
 +      (init_proc_array): New function.
  2015-02-01         Arnold D. Robbins     <address@hidden>
        Move POSIX requirement for disallowing paramater names with the
diff --cc doc/ChangeLog
index 5e6f992,1e3f155..afdb2fb
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@@ -56,13 -55,8 +60,13 @@@
  2015-01-19         Arnold D. Robbins     <address@hidden>
        * gawkinet.texi: Fix capitalization in document title.
-       * Here we again: Starting on more O'Reilly fixes.
+       * Here we go again: Starting on more O'Reilly fixes.
 +2014-12-27         Arnold D. Robbins     <address@hidden>
 +      * Add info that nonfatal I/O works with stdout and
 +      stderr.  Revise version info and what was added when.
  2014-12-26         Antonio Giovanni Colombo   <address@hidden>
        * (Glossary): Really sort the items.
diff --cc doc/
index bf8e4bb,fad0fce..57e05db
--- a/doc/
+++ b/doc/
@@@ -34710,561 -34657,560 +34711,561 @@@ Inde
  Tag Table:
  Node: Top1204
 -Node: Foreword342225
 -Node: Foreword446669
 -Node: Preface48200
 -Ref: Preface-Footnote-151071
 -Ref: Preface-Footnote-251178
 -Ref: Preface-Footnote-351411
 -Node: History51553
 -Node: Names53904
 -Ref: Names-Footnote-154997
 -Node: This Manual55143
 -Ref: This Manual-Footnote-161643
 -Node: Conventions61743
 -Node: Manual History64080
 -Ref: Manual History-Footnote-167073
 -Ref: Manual History-Footnote-267114
 -Node: How To Contribute67188
 -Node: Acknowledgments68317
 -Node: Getting Started73134
 -Node: Running gawk75573
 -Node: One-shot76763
 -Node: Read Terminal78027
 -Node: Long80058
 -Node: Executable Scripts81571
 -Ref: Executable Scripts-Footnote-184360
 -Node: Comments84463
 -Node: Quoting86945
 -Node: DOS Quoting92463
 -Node: Sample Data Files93138
 -Node: Very Simple95733
 -Node: Two Rules100632
 -Node: More Complex102518
 -Node: Statements/Lines105380
 -Ref: Statements/Lines-Footnote-1109835
 -Node: Other Features110100
 -Node: When111036
 -Ref: When-Footnote-1112790
 -Node: Intro Summary112855
 -Node: Invoking Gawk113739
 -Node: Command Line115253
 -Node: Options116051
 -Ref: Options-Footnote-1131846
 -Ref: Options-Footnote-2132075
 -Node: Other Arguments132100
 -Node: Naming Standard Input135048
 -Node: Environment Variables136141
 -Node: AWKPATH Variable136699
 -Ref: AWKPATH Variable-Footnote-1140106
 -Ref: AWKPATH Variable-Footnote-2140151
 -Node: AWKLIBPATH Variable140411
 -Node: Other Environment Variables141667
 -Node: Exit Status145185
 -Node: Include Files145861
 -Node: Loading Shared Libraries149450
 -Node: Obsolete150877
 -Node: Undocumented151569
 -Node: Invoking Summary151836
 -Node: Regexp153499
 -Node: Regexp Usage154953
 -Node: Escape Sequences156990
 -Node: Regexp Operators163219
 -Ref: Regexp Operators-Footnote-1170629
 -Ref: Regexp Operators-Footnote-2170776
 -Node: Bracket Expressions170874
 -Ref: table-char-classes172889
 -Node: Leftmost Longest175831
 -Node: Computed Regexps177133
 -Node: GNU Regexp Operators180562
 -Node: Case-sensitivity184234
 -Ref: Case-sensitivity-Footnote-1187119
 -Ref: Case-sensitivity-Footnote-2187354
 -Node: Regexp Summary187462
 -Node: Reading Files188929
 -Node: Records191022
 -Node: awk split records191755
 -Node: gawk split records196684
 -Ref: gawk split records-Footnote-1201223
 -Node: Fields201260
 -Ref: Fields-Footnote-1204038
 -Node: Nonconstant Fields204124
 -Ref: Nonconstant Fields-Footnote-1206362
 -Node: Changing Fields206565
 -Node: Field Separators212496
 -Node: Default Field Splitting215200
 -Node: Regexp Field Splitting216317
 -Node: Single Character Fields219667
 -Node: Command Line Field Separator220726
 -Node: Full Line Fields223943
 -Ref: Full Line Fields-Footnote-1225464
 -Ref: Full Line Fields-Footnote-2225510
 -Node: Field Splitting Summary225611
 -Node: Constant Size227685
 -Node: Splitting By Content232268
 -Ref: Splitting By Content-Footnote-1236233
 -Node: Multiple Line236396
 -Ref: Multiple Line-Footnote-1242277
 -Node: Getline242456
 -Node: Plain Getline244663
 -Node: Getline/Variable247303
 -Node: Getline/File248452
 -Node: Getline/Variable/File249837
 -Ref: Getline/Variable/File-Footnote-1251440
 -Node: Getline/Pipe251527
 -Node: Getline/Variable/Pipe254205
 -Node: Getline/Coprocess255336
 -Node: Getline/Variable/Coprocess256600
 -Node: Getline Notes257339
 -Node: Getline Summary260133
 -Ref: table-getline-variants260545
 -Node: Read Timeout261374
 -Ref: Read Timeout-Footnote-1265211
 -Node: Command-line directories265269
 -Node: Input Summary266174
 -Node: Input Exercises269559
 -Node: Printing270287
 -Node: Print272064
 -Node: Print Examples273521
 -Node: Output Separators276300
 -Node: OFMT278318
 -Node: Printf279673
 -Node: Basic Printf280458
 -Node: Control Letters282030
 -Node: Format Modifiers286015
 -Node: Printf Examples292025
 -Node: Redirection294511
 -Node: Special FD301349
 -Ref: Special FD-Footnote-1304515
 -Node: Special Files304589
 -Node: Other Inherited Files305206
 -Node: Special Network306206
 -Node: Special Caveats307068
 -Node: Close Files And Pipes308017
 -Ref: Close Files And Pipes-Footnote-1315208
 -Ref: Close Files And Pipes-Footnote-2315356
 -Node: Output Summary315506
 -Node: Output Exercises316504
 -Node: Expressions317184
 -Node: Values318373
 -Node: Constants319050
 -Node: Scalar Constants319741
 -Ref: Scalar Constants-Footnote-1320603
 -Node: Nondecimal-numbers320853
 -Node: Regexp Constants323863
 -Node: Using Constant Regexps324389
 -Node: Variables327552
 -Node: Using Variables328209
 -Node: Assignment Options330120
 -Node: Conversion331995
 -Node: Strings And Numbers332519
 -Ref: Strings And Numbers-Footnote-1335584
 -Node: Locale influences conversions335693
 -Ref: table-locale-affects338439
 -Node: All Operators339031
 -Node: Arithmetic Ops339660
 -Node: Concatenation342165
 -Ref: Concatenation-Footnote-1344984
 -Node: Assignment Ops345091
 -Ref: table-assign-ops350070
 -Node: Increment Ops351380
 -Node: Truth Values and Conditions354811
 -Node: Truth Values355894
 -Node: Typing and Comparison356943
 -Node: Variable Typing357759
 -Node: Comparison Operators361426
 -Ref: table-relational-ops361836
 -Node: POSIX String Comparison365331
 -Ref: POSIX String Comparison-Footnote-1366403
 -Node: Boolean Ops366542
 -Ref: Boolean Ops-Footnote-1371020
 -Node: Conditional Exp371111
 -Node: Function Calls372849
 -Node: Precedence376729
 -Node: Locales380389
 -Node: Expressions Summary382021
 -Node: Patterns and Actions384592
 -Node: Pattern Overview385712
 -Node: Regexp Patterns387391
 -Node: Expression Patterns387934
 -Node: Ranges391643
 -Node: BEGIN/END394750
 -Node: Using BEGIN/END395511
 -Ref: Using BEGIN/END-Footnote-1398247
 -Node: I/O And BEGIN/END398353
 -Node: Empty403565
 -Node: Using Shell Variables403882
 -Node: Action Overview406155
 -Node: Statements408481
 -Node: If Statement410329
 -Node: While Statement411824
 -Node: Do Statement413852
 -Node: For Statement415000
 -Node: Switch Statement418158
 -Node: Break Statement420540
 -Node: Continue Statement422581
 -Node: Next Statement424408
 -Node: Nextfile Statement426789
 -Node: Exit Statement429417
 -Node: Built-in Variables431828
 -Node: User-modified432961
 -Ref: User-modified-Footnote-1440664
 -Node: Auto-set440726
 -Ref: Auto-set-Footnote-1454435
 -Ref: Auto-set-Footnote-2454640
 -Node: ARGC and ARGV454696
 -Node: Pattern Action Summary458914
 -Node: Arrays461347
 -Node: Array Basics462676
 -Node: Array Intro463520
 -Ref: figure-array-elements465454
 -Ref: Array Intro-Footnote-1468074
 -Node: Reference to Elements468202
 -Node: Assigning Elements470664
 -Node: Array Example471155
 -Node: Scanning an Array472914
 -Node: Controlling Scanning475934
 -Ref: Controlling Scanning-Footnote-1481328
 -Node: Numeric Array Subscripts481644
 -Node: Uninitialized Subscripts483829
 -Node: Delete485446
 -Ref: Delete-Footnote-1488195
 -Node: Multidimensional488252
 -Node: Multiscanning491349
 -Node: Arrays of Arrays492938
 -Node: Arrays Summary497692
 -Node: Functions499783
 -Node: Built-in500822
 -Node: Calling Built-in501900
 -Node: Numeric Functions503895
 -Ref: Numeric Functions-Footnote-1508713
 -Ref: Numeric Functions-Footnote-2509070
 -Ref: Numeric Functions-Footnote-3509118
 -Node: String Functions509390
 -Ref: String Functions-Footnote-1532891
 -Ref: String Functions-Footnote-2533020
 -Ref: String Functions-Footnote-3533268
 -Node: Gory Details533355
 -Ref: table-sub-escapes535136
 -Ref: table-sub-proposed536651
 -Ref: table-posix-sub538013
 -Ref: table-gensub-escapes539550
 -Ref: Gory Details-Footnote-1540383
 -Node: I/O Functions540534
 -Ref: I/O Functions-Footnote-1547770
 -Node: Time Functions547917
 -Ref: Time Functions-Footnote-1558426
 -Ref: Time Functions-Footnote-2558494
 -Ref: Time Functions-Footnote-3558652
 -Ref: Time Functions-Footnote-4558763
 -Ref: Time Functions-Footnote-5558875
 -Ref: Time Functions-Footnote-6559102
 -Node: Bitwise Functions559368
 -Ref: table-bitwise-ops559930
 -Ref: Bitwise Functions-Footnote-1564258
 -Node: Type Functions564430
 -Node: I18N Functions565582
 -Node: User-defined567229
 -Node: Definition Syntax568034
 -Ref: Definition Syntax-Footnote-1573693
 -Node: Function Example573764
 -Ref: Function Example-Footnote-1576685
 -Node: Function Caveats576707
 -Node: Calling A Function577225
 -Node: Variable Scope578183
 -Node: Pass By Value/Reference581176
 -Node: Return Statement584673
 -Node: Dynamic Typing587652
 -Node: Indirect Calls588581
 -Ref: Indirect Calls-Footnote-1599887
 -Node: Functions Summary600015
 -Node: Library Functions602717
 -Ref: Library Functions-Footnote-1606325
 -Ref: Library Functions-Footnote-2606468
 -Node: Library Names606639
 -Ref: Library Names-Footnote-1610097
 -Ref: Library Names-Footnote-2610320
 -Node: General Functions610406
 -Node: Strtonum Function611509
 -Node: Assert Function614531
 -Node: Round Function617855
 -Node: Cliff Random Function619396
 -Node: Ordinal Functions620412
 -Ref: Ordinal Functions-Footnote-1623475
 -Ref: Ordinal Functions-Footnote-2623727
 -Node: Join Function623938
 -Ref: Join Function-Footnote-1625708
 -Node: Getlocaltime Function625908
 -Node: Readfile Function629652
 -Node: Shell Quoting631624
 -Node: Data File Management633025
 -Node: Filetrans Function633657
 -Node: Rewind Function637753
 -Node: File Checking639139
 -Ref: File Checking-Footnote-1640472
 -Node: Empty Files640673
 -Node: Ignoring Assigns642652
 -Node: Getopt Function644202
 -Ref: Getopt Function-Footnote-1655666
 -Node: Passwd Functions655866
 -Ref: Passwd Functions-Footnote-1664706
 -Node: Group Functions664794
 -Ref: Group Functions-Footnote-1672691
 -Node: Walking Arrays672896
 -Node: Library Functions Summary674496
 -Node: Library Exercises675900
 -Node: Sample Programs677180
 -Node: Running Examples677950
 -Node: Clones678678
 -Node: Cut Program679902
 -Node: Egrep Program689622
 -Ref: Egrep Program-Footnote-1697125
 -Node: Id Program697235
 -Node: Split Program700911
 -Ref: Split Program-Footnote-1704365
 -Node: Tee Program704493
 -Node: Uniq Program707282
 -Node: Wc Program714701
 -Ref: Wc Program-Footnote-1718951
 -Node: Miscellaneous Programs719045
 -Node: Dupword Program720258
 -Node: Alarm Program722289
 -Node: Translate Program727094
 -Ref: Translate Program-Footnote-1731657
 -Node: Labels Program731927
 -Ref: Labels Program-Footnote-1735278
 -Node: Word Sorting735362
 -Node: History Sorting739432
 -Node: Extract Program741267
 -Node: Simple Sed748791
 -Node: Igawk Program751861
 -Ref: Igawk Program-Footnote-1766187
 -Ref: Igawk Program-Footnote-2766388
 -Ref: Igawk Program-Footnote-3766510
 -Node: Anagram Program766625
 -Node: Signature Program769686
 -Node: Programs Summary770933
 -Node: Programs Exercises772154
 -Ref: Programs Exercises-Footnote-1776285
 -Node: Advanced Features776376
 -Node: Nondecimal Data778358
 -Node: Array Sorting779948
 -Node: Controlling Array Traversal780648
 -Ref: Controlling Array Traversal-Footnote-1789014
 -Node: Array Sorting Functions789132
 -Ref: Array Sorting Functions-Footnote-1793018
 -Node: Two-way I/O793214
 -Ref: Two-way I/O-Footnote-1798159
 -Ref: Two-way I/O-Footnote-2798345
 -Node: TCP/IP Networking798427
 -Node: Profiling801299
 -Node: Advanced Features Summary809570
 -Node: Internationalization811503
 -Node: I18N and L10N812983
 -Node: Explaining gettext813669
 -Ref: Explaining gettext-Footnote-1818694
 -Ref: Explaining gettext-Footnote-2818878
 -Node: Programmer i18n819043
 -Ref: Programmer i18n-Footnote-1823909
 -Node: Translator i18n823958
 -Node: String Extraction824752
 -Ref: String Extraction-Footnote-1825883
 -Node: Printf Ordering825969
 -Ref: Printf Ordering-Footnote-1828755
 -Node: I18N Portability828819
 -Ref: I18N Portability-Footnote-1831274
 -Node: I18N Example831337
 -Ref: I18N Example-Footnote-1834140
 -Node: Gawk I18N834212
 -Node: I18N Summary834850
 -Node: Debugger836189
 -Node: Debugging837211
 -Node: Debugging Concepts837652
 -Node: Debugging Terms839505
 -Node: Awk Debugging842077
 -Node: Sample Debugging Session842971
 -Node: Debugger Invocation843491
 -Node: Finding The Bug844875
 -Node: List of Debugger Commands851350
 -Node: Breakpoint Control852683
 -Node: Debugger Execution Control856379
 -Node: Viewing And Changing Data859743
 -Node: Execution Stack863121
 -Node: Debugger Info864758
 -Node: Miscellaneous Debugger Commands868775
 -Node: Readline Support873804
 -Node: Limitations874696
 -Node: Debugging Summary876810
 -Node: Arbitrary Precision Arithmetic877978
 -Node: Computer Arithmetic879394
 -Ref: table-numeric-ranges882992
 -Ref: Computer Arithmetic-Footnote-1883851
 -Node: Math Definitions883908
 -Ref: table-ieee-formats887196
 -Ref: Math Definitions-Footnote-1887800
 -Node: MPFR features887905
 -Node: FP Math Caution889576
 -Ref: FP Math Caution-Footnote-1890626
 -Node: Inexactness of computations890995
 -Node: Inexact representation891954
 -Node: Comparing FP Values893311
 -Node: Errors accumulate894393
 -Node: Getting Accuracy895826
 -Node: Try To Round898488
 -Node: Setting precision899387
 -Ref: table-predefined-precision-strings900071
 -Node: Setting the rounding mode901860
 -Ref: table-gawk-rounding-modes902224
 -Ref: Setting the rounding mode-Footnote-1905679
 -Node: Arbitrary Precision Integers905858
 -Ref: Arbitrary Precision Integers-Footnote-1910758
 -Node: POSIX Floating Point Problems910907
 -Ref: POSIX Floating Point Problems-Footnote-1914780
 -Node: Floating point summary914818
 -Node: Dynamic Extensions917012
 -Node: Extension Intro918564
 -Node: Plugin License919830
 -Node: Extension Mechanism Outline920627
 -Ref: figure-load-extension921055
 -Ref: figure-register-new-function922535
 -Ref: figure-call-new-function923539
 -Node: Extension API Description925525
 -Node: Extension API Functions Introduction926975
 -Node: General Data Types931799
 -Ref: General Data Types-Footnote-1937538
 -Node: Memory Allocation Functions937837
 -Ref: Memory Allocation Functions-Footnote-1940676
 -Node: Constructor Functions940772
 -Node: Registration Functions942506
 -Node: Extension Functions943191
 -Node: Exit Callback Functions945488
 -Node: Extension Version String946736
 -Node: Input Parsers947401
 -Node: Output Wrappers957280
 -Node: Two-way processors961795
 -Node: Printing Messages963999
 -Ref: Printing Messages-Footnote-1965075
 -Node: Updating `ERRNO'965227
 -Node: Requesting Values965967
 -Ref: table-value-types-returned966695
 -Node: Accessing Parameters967652
 -Node: Symbol Table Access968883
 -Node: Symbol table by name969397
 -Node: Symbol table by cookie971378
 -Ref: Symbol table by cookie-Footnote-1975522
 -Node: Cached values975585
 -Ref: Cached values-Footnote-1979084
 -Node: Array Manipulation979175
 -Ref: Array Manipulation-Footnote-1980273
 -Node: Array Data Types980310
 -Ref: Array Data Types-Footnote-1982965
 -Node: Array Functions983057
 -Node: Flattening Arrays986911
 -Node: Creating Arrays993803
 -Node: Extension API Variables998574
 -Node: Extension Versioning999210
 -Node: Extension API Informational Variables1001111
 -Node: Extension API Boilerplate1002176
 -Node: Finding Extensions1005985
 -Node: Extension Example1006545
 -Node: Internal File Description1007317
 -Node: Internal File Ops1011384
 -Ref: Internal File Ops-Footnote-11023054
 -Node: Using Internal File Ops1023194
 -Ref: Using Internal File Ops-Footnote-11025577
 -Node: Extension Samples1025850
 -Node: Extension Sample File Functions1027376
 -Node: Extension Sample Fnmatch1035014
 -Node: Extension Sample Fork1036505
 -Node: Extension Sample Inplace1037720
 -Node: Extension Sample Ord1039395
 -Node: Extension Sample Readdir1040231
 -Ref: table-readdir-file-types1041107
 -Node: Extension Sample Revout1041918
 -Node: Extension Sample Rev2way1042508
 -Node: Extension Sample Read write array1043248
 -Node: Extension Sample Readfile1045188
 -Node: Extension Sample Time1046283
 -Node: Extension Sample API Tests1047632
 -Node: gawkextlib1048123
 -Node: Extension summary1050781
 -Node: Extension Exercises1054470
 -Node: Language History1055192
 -Node: V7/SVR3.11056848
 -Node: SVR41059029
 -Node: POSIX1060474
 -Node: BTL1061863
 -Node: POSIX/GNU1062597
 -Node: Feature History1068386
 -Node: Common Extensions1082112
 -Node: Ranges and Locales1083436
 -Ref: Ranges and Locales-Footnote-11088054
 -Ref: Ranges and Locales-Footnote-21088081
 -Ref: Ranges and Locales-Footnote-31088315
 -Node: Contributors1088536
 -Node: History summary1094077
 -Node: Installation1095447
 -Node: Gawk Distribution1096393
 -Node: Getting1096877
 -Node: Extracting1097700
 -Node: Distribution contents1099335
 -Node: Unix Installation1105400
 -Node: Quick Installation1106083
 -Node: Shell Startup Files1108494
 -Node: Additional Configuration Options1109573
 -Node: Configuration Philosophy1111312
 -Node: Non-Unix Installation1113681
 -Node: PC Installation1114139
 -Node: PC Binary Installation1115458
 -Node: PC Compiling1117306
 -Ref: PC Compiling-Footnote-11120327
 -Node: PC Testing1120436
 -Node: PC Using1121612
 -Node: Cygwin1125727
 -Node: MSYS1126550
 -Node: VMS Installation1127050
 -Node: VMS Compilation1127842
 -Ref: VMS Compilation-Footnote-11129064
 -Node: VMS Dynamic Extensions1129122
 -Node: VMS Installation Details1130806
 -Node: VMS Running1133058
 -Node: VMS GNV1135894
 -Node: VMS Old Gawk1136628
 -Node: Bugs1137098
 -Node: Other Versions1140981
 -Node: Installation summary1147405
 -Node: Notes1148461
 -Node: Compatibility Mode1149326
 -Node: Additions1150108
 -Node: Accessing The Source1151033
 -Node: Adding Code1152468
 -Node: New Ports1158625
 -Node: Derived Files1163107
 -Ref: Derived Files-Footnote-11168582
 -Ref: Derived Files-Footnote-21168616
 -Ref: Derived Files-Footnote-31169212
 -Node: Future Extensions1169326
 -Node: Implementation Limitations1169932
 -Node: Extension Design1171180
 -Node: Old Extension Problems1172334
 -Ref: Old Extension Problems-Footnote-11173851
 -Node: Extension New Mechanism Goals1173908
 -Ref: Extension New Mechanism Goals-Footnote-11177268
 -Node: Extension Other Design Decisions1177457
 -Node: Extension Future Growth1179565
 -Node: Old Extension Mechanism1180401
 -Node: Notes summary1182163
 -Node: Basic Concepts1183349
 -Node: Basic High Level1184030
 -Ref: figure-general-flow1184302
 -Ref: figure-process-flow1184901
 -Ref: Basic High Level-Footnote-11188130
 -Node: Basic Data Typing1188315
 -Node: Glossary1191643
 -Node: Copying1223572
 -Node: GNU Free Documentation License1261128
 -Node: Index1286264
 +Node: Foreword342291
 +Node: Foreword446735
 +Node: Preface48266
 +Ref: Preface-Footnote-151137
 +Ref: Preface-Footnote-251244
 +Ref: Preface-Footnote-351477
 +Node: History51619
 +Node: Names53970
 +Ref: Names-Footnote-155063
 +Node: This Manual55209
 +Ref: This Manual-Footnote-161709
 +Node: Conventions61809
 +Node: Manual History64146
 +Ref: Manual History-Footnote-167139
 +Ref: Manual History-Footnote-267180
 +Node: How To Contribute67254
 +Node: Acknowledgments68383
 +Node: Getting Started73200
 +Node: Running gawk75639
 +Node: One-shot76829
 +Node: Read Terminal78093
 +Node: Long80124
 +Node: Executable Scripts81637
 +Ref: Executable Scripts-Footnote-184426
 +Node: Comments84529
 +Node: Quoting87011
 +Node: DOS Quoting92529
 +Node: Sample Data Files93204
 +Node: Very Simple95799
 +Node: Two Rules100698
 +Node: More Complex102584
 +Node: Statements/Lines105446
 +Ref: Statements/Lines-Footnote-1109901
 +Node: Other Features110166
 +Node: When111102
 +Ref: When-Footnote-1112856
 +Node: Intro Summary112921
 +Node: Invoking Gawk113805
 +Node: Command Line115319
 +Node: Options116117
 +Ref: Options-Footnote-1131912
 +Ref: Options-Footnote-2132141
 +Node: Other Arguments132166
 +Node: Naming Standard Input135114
 +Node: Environment Variables136207
 +Node: AWKPATH Variable136765
 +Ref: AWKPATH Variable-Footnote-1140172
 +Ref: AWKPATH Variable-Footnote-2140217
 +Node: AWKLIBPATH Variable140477
 +Node: Other Environment Variables141733
 +Node: Exit Status145251
 +Node: Include Files145927
 +Node: Loading Shared Libraries149516
 +Node: Obsolete150943
 +Node: Undocumented151635
 +Node: Invoking Summary151902
 +Node: Regexp153565
 +Node: Regexp Usage155019
 +Node: Escape Sequences157056
 +Node: Regexp Operators163285
 +Ref: Regexp Operators-Footnote-1170695
 +Ref: Regexp Operators-Footnote-2170842
 +Node: Bracket Expressions170940
 +Ref: table-char-classes172955
 +Node: Leftmost Longest175897
 +Node: Computed Regexps177199
 +Node: GNU Regexp Operators180628
 +Node: Case-sensitivity184300
 +Ref: Case-sensitivity-Footnote-1187185
 +Ref: Case-sensitivity-Footnote-2187420
 +Node: Regexp Summary187528
 +Node: Reading Files188995
 +Node: Records191088
 +Node: awk split records191821
 +Node: gawk split records196750
 +Ref: gawk split records-Footnote-1201289
 +Node: Fields201326
 +Ref: Fields-Footnote-1204104
 +Node: Nonconstant Fields204190
 +Ref: Nonconstant Fields-Footnote-1206428
 +Node: Changing Fields206631
 +Node: Field Separators212562
 +Node: Default Field Splitting215266
 +Node: Regexp Field Splitting216383
 +Node: Single Character Fields219733
 +Node: Command Line Field Separator220792
 +Node: Full Line Fields224009
 +Ref: Full Line Fields-Footnote-1225530
 +Ref: Full Line Fields-Footnote-2225576
 +Node: Field Splitting Summary225677
 +Node: Constant Size227751
 +Node: Splitting By Content232334
 +Ref: Splitting By Content-Footnote-1236299
 +Node: Multiple Line236462
 +Ref: Multiple Line-Footnote-1242343
 +Node: Getline242522
 +Node: Plain Getline244729
 +Node: Getline/Variable247369
 +Node: Getline/File248518
 +Node: Getline/Variable/File249903
 +Ref: Getline/Variable/File-Footnote-1251506
 +Node: Getline/Pipe251593
 +Node: Getline/Variable/Pipe254271
 +Node: Getline/Coprocess255402
 +Node: Getline/Variable/Coprocess256666
 +Node: Getline Notes257405
 +Node: Getline Summary260199
 +Ref: table-getline-variants260611
 +Node: Read Timeout261440
 +Ref: Read Timeout-Footnote-1265277
 +Node: Command-line directories265335
 +Node: Input Summary266240
 +Node: Input Exercises269625
 +Node: Printing270353
 +Node: Print272188
 +Node: Print Examples273645
 +Node: Output Separators276424
 +Node: OFMT278442
 +Node: Printf279797
 +Node: Basic Printf280582
 +Node: Control Letters282154
 +Node: Format Modifiers286139
 +Node: Printf Examples292149
 +Node: Redirection294635
 +Node: Special FD301473
 +Ref: Special FD-Footnote-1304639
 +Node: Special Files304713
 +Node: Other Inherited Files305330
 +Node: Special Network306330
 +Node: Special Caveats307192
 +Node: Close Files And Pipes308141
 +Ref: Close Files And Pipes-Footnote-1315326
 +Ref: Close Files And Pipes-Footnote-2315474
 +Node: Nonfatal315624
 +Node: Output Summary317140
 +Node: Output Exercises318361
 +Node: Expressions319041
 +Node: Values320230
 +Node: Constants320907
 +Node: Scalar Constants321598
 +Ref: Scalar Constants-Footnote-1322460
 +Node: Nondecimal-numbers322710
 +Node: Regexp Constants325720
 +Node: Using Constant Regexps326246
 +Node: Variables329409
 +Node: Using Variables330066
 +Node: Assignment Options331977
 +Node: Conversion333852
 +Node: Strings And Numbers334376
 +Ref: Strings And Numbers-Footnote-1337441
 +Node: Locale influences conversions337550
 +Ref: table-locale-affects340296
 +Node: All Operators340888
 +Node: Arithmetic Ops341517
 +Node: Concatenation344022
 +Ref: Concatenation-Footnote-1346841
 +Node: Assignment Ops346948
 +Ref: table-assign-ops351927
 +Node: Increment Ops353237
 +Node: Truth Values and Conditions356668
 +Node: Truth Values357751
 +Node: Typing and Comparison358800
 +Node: Variable Typing359616
 +Node: Comparison Operators363283
 +Ref: table-relational-ops363693
 +Node: POSIX String Comparison367188
 +Ref: POSIX String Comparison-Footnote-1368260
 +Node: Boolean Ops368399
 +Ref: Boolean Ops-Footnote-1372877
 +Node: Conditional Exp372968
 +Node: Function Calls374706
 +Node: Precedence378586
 +Node: Locales382246
 +Node: Expressions Summary383878
 +Node: Patterns and Actions386449
 +Node: Pattern Overview387569
 +Node: Regexp Patterns389248
 +Node: Expression Patterns389791
 +Node: Ranges393500
 +Node: BEGIN/END396607
 +Node: Using BEGIN/END397368
 +Ref: Using BEGIN/END-Footnote-1400104
 +Node: I/O And BEGIN/END400210
 +Node: Empty405422
 +Node: Using Shell Variables405739
 +Node: Action Overview408012
 +Node: Statements410338
 +Node: If Statement412186
 +Node: While Statement413681
 +Node: Do Statement415709
 +Node: For Statement416857
 +Node: Switch Statement420015
 +Node: Break Statement422397
 +Node: Continue Statement424438
 +Node: Next Statement426265
 +Node: Nextfile Statement428646
 +Node: Exit Statement431274
 +Node: Built-in Variables433685
 +Node: User-modified434818
 +Ref: User-modified-Footnote-1442521
 +Node: Auto-set442583
 +Ref: Auto-set-Footnote-1456292
 +Ref: Auto-set-Footnote-2456497
 +Node: ARGC and ARGV456553
 +Node: Pattern Action Summary460771
 +Node: Arrays463204
 +Node: Array Basics464533
 +Node: Array Intro465377
 +Ref: figure-array-elements467311
 +Ref: Array Intro-Footnote-1469931
 +Node: Reference to Elements470059
 +Node: Assigning Elements472521
 +Node: Array Example473012
 +Node: Scanning an Array474771
 +Node: Controlling Scanning477791
 +Ref: Controlling Scanning-Footnote-1483185
 +Node: Numeric Array Subscripts483501
 +Node: Uninitialized Subscripts485686
 +Node: Delete487303
 +Ref: Delete-Footnote-1490052
 +Node: Multidimensional490109
 +Node: Multiscanning493206
 +Node: Arrays of Arrays494795
 +Node: Arrays Summary499549
 +Node: Functions501640
 +Node: Built-in502679
 +Node: Calling Built-in503757
 +Node: Numeric Functions505752
 +Ref: Numeric Functions-Footnote-1510570
 +Ref: Numeric Functions-Footnote-2510927
 +Ref: Numeric Functions-Footnote-3510975
 +Node: String Functions511247
 +Ref: String Functions-Footnote-1534748
 +Ref: String Functions-Footnote-2534877
 +Ref: String Functions-Footnote-3535125
 +Node: Gory Details535212
 +Ref: table-sub-escapes536993
 +Ref: table-sub-proposed538508
 +Ref: table-posix-sub539870
 +Ref: table-gensub-escapes541407
 +Ref: Gory Details-Footnote-1542240
 +Node: I/O Functions542391
 +Ref: I/O Functions-Footnote-1549627
 +Node: Time Functions549774
 +Ref: Time Functions-Footnote-1560283
 +Ref: Time Functions-Footnote-2560351
 +Ref: Time Functions-Footnote-3560509
 +Ref: Time Functions-Footnote-4560620
 +Ref: Time Functions-Footnote-5560732
 +Ref: Time Functions-Footnote-6560959
 +Node: Bitwise Functions561225
 +Ref: table-bitwise-ops561787
 +Ref: Bitwise Functions-Footnote-1566115
 +Node: Type Functions566287
 +Node: I18N Functions567439
 +Node: User-defined569086
 +Node: Definition Syntax569891
 +Ref: Definition Syntax-Footnote-1575550
 +Node: Function Example575621
 +Ref: Function Example-Footnote-1578542
 +Node: Function Caveats578564
 +Node: Calling A Function579082
 +Node: Variable Scope580040
 +Node: Pass By Value/Reference583033
 +Node: Return Statement586530
 +Node: Dynamic Typing589509
 +Node: Indirect Calls590438
 +Ref: Indirect Calls-Footnote-1601744
 +Node: Functions Summary601872
 +Node: Library Functions604574
 +Ref: Library Functions-Footnote-1608182
 +Ref: Library Functions-Footnote-2608325
 +Node: Library Names608496
 +Ref: Library Names-Footnote-1611954
 +Ref: Library Names-Footnote-2612177
 +Node: General Functions612263
 +Node: Strtonum Function613366
 +Node: Assert Function616388
 +Node: Round Function619712
 +Node: Cliff Random Function621253
 +Node: Ordinal Functions622269
 +Ref: Ordinal Functions-Footnote-1625332
 +Ref: Ordinal Functions-Footnote-2625584
 +Node: Join Function625795
 +Ref: Join Function-Footnote-1627565
 +Node: Getlocaltime Function627765
 +Node: Readfile Function631509
 +Node: Shell Quoting633481
 +Node: Data File Management634882
 +Node: Filetrans Function635514
 +Node: Rewind Function639610
 +Node: File Checking640996
 +Ref: File Checking-Footnote-1642329
 +Node: Empty Files642530
 +Node: Ignoring Assigns644509
 +Node: Getopt Function646059
 +Ref: Getopt Function-Footnote-1657523
 +Node: Passwd Functions657723
 +Ref: Passwd Functions-Footnote-1666563
 +Node: Group Functions666651
 +Ref: Group Functions-Footnote-1674548
 +Node: Walking Arrays674753
 +Node: Library Functions Summary676353
 +Node: Library Exercises677757
 +Node: Sample Programs679037
 +Node: Running Examples679807
 +Node: Clones680535
 +Node: Cut Program681759
 +Node: Egrep Program691479
 +Ref: Egrep Program-Footnote-1698982
 +Node: Id Program699092
 +Node: Split Program702768
 +Ref: Split Program-Footnote-1706222
 +Node: Tee Program706350
 +Node: Uniq Program709139
 +Node: Wc Program716558
 +Ref: Wc Program-Footnote-1720808
 +Node: Miscellaneous Programs720902
 +Node: Dupword Program722115
 +Node: Alarm Program724146
 +Node: Translate Program728951
 +Ref: Translate Program-Footnote-1733514
 +Node: Labels Program733784
 +Ref: Labels Program-Footnote-1737135
 +Node: Word Sorting737219
 +Node: History Sorting741289
 +Node: Extract Program743124
 +Node: Simple Sed750648
 +Node: Igawk Program753718
 +Ref: Igawk Program-Footnote-1768044
 +Ref: Igawk Program-Footnote-2768245
 +Ref: Igawk Program-Footnote-3768367
 +Node: Anagram Program768482
 +Node: Signature Program771543
 +Node: Programs Summary772790
 +Node: Programs Exercises774011
 +Ref: Programs Exercises-Footnote-1778142
 +Node: Advanced Features778233
- Node: Nondecimal Data780181
- Node: Array Sorting781771
- Node: Controlling Array Traversal782468
- Ref: Controlling Array Traversal-Footnote-1790801
- Node: Array Sorting Functions790919
- Ref: Array Sorting Functions-Footnote-1794808
- Node: Two-way I/O795004
- Ref: Two-way I/O-Footnote-1799949
- Ref: Two-way I/O-Footnote-2800135
- Node: TCP/IP Networking800217
- Node: Profiling803090
- Node: Advanced Features Summary811367
- Node: Internationalization813300
- Node: I18N and L10N814780
- Node: Explaining gettext815466
- Ref: Explaining gettext-Footnote-1820491
- Ref: Explaining gettext-Footnote-2820675
- Node: Programmer i18n820840
- Ref: Programmer i18n-Footnote-1825706
- Node: Translator i18n825755
- Node: String Extraction826549
- Ref: String Extraction-Footnote-1827680
- Node: Printf Ordering827766
- Ref: Printf Ordering-Footnote-1830552
- Node: I18N Portability830616
- Ref: I18N Portability-Footnote-1833071
- Node: I18N Example833134
- Ref: I18N Example-Footnote-1835937
- Node: Gawk I18N836009
- Node: I18N Summary836647
- Node: Debugger837986
- Node: Debugging839008
- Node: Debugging Concepts839449
- Node: Debugging Terms841302
- Node: Awk Debugging843874
- Node: Sample Debugging Session844768
- Node: Debugger Invocation845288
- Node: Finding The Bug846672
- Node: List of Debugger Commands853147
- Node: Breakpoint Control854480
- Node: Debugger Execution Control858176
- Node: Viewing And Changing Data861540
- Node: Execution Stack864918
- Node: Debugger Info866555
- Node: Miscellaneous Debugger Commands870572
- Node: Readline Support875601
- Node: Limitations876493
- Node: Debugging Summary878607
- Node: Arbitrary Precision Arithmetic879775
- Node: Computer Arithmetic881191
- Ref: table-numeric-ranges884789
- Ref: Computer Arithmetic-Footnote-1885648
- Node: Math Definitions885705
- Ref: table-ieee-formats888993
- Ref: Math Definitions-Footnote-1889597
- Node: MPFR features889702
- Node: FP Math Caution891373
- Ref: FP Math Caution-Footnote-1892423
- Node: Inexactness of computations892792
- Node: Inexact representation893751
- Node: Comparing FP Values895108
- Node: Errors accumulate896190
- Node: Getting Accuracy897623
- Node: Try To Round900285
- Node: Setting precision901184
- Ref: table-predefined-precision-strings901868
- Node: Setting the rounding mode903657
- Ref: table-gawk-rounding-modes904021
- Ref: Setting the rounding mode-Footnote-1907476
- Node: Arbitrary Precision Integers907655
- Ref: Arbitrary Precision Integers-Footnote-1912555
- Node: POSIX Floating Point Problems912704
- Ref: POSIX Floating Point Problems-Footnote-1916577
- Node: Floating point summary916615
- Node: Dynamic Extensions918809
- Node: Extension Intro920361
- Node: Plugin License921627
- Node: Extension Mechanism Outline922424
- Ref: figure-load-extension922852
- Ref: figure-register-new-function924332
- Ref: figure-call-new-function925336
- Node: Extension API Description927322
- Node: Extension API Functions Introduction928772
- Node: General Data Types933596
- Ref: General Data Types-Footnote-1939335
- Node: Memory Allocation Functions939634
- Ref: Memory Allocation Functions-Footnote-1942473
- Node: Constructor Functions942569
- Node: Registration Functions944303
- Node: Extension Functions944988
- Node: Exit Callback Functions947285
- Node: Extension Version String948533
- Node: Input Parsers949198
- Node: Output Wrappers959077
- Node: Two-way processors963592
- Node: Printing Messages965796
- Ref: Printing Messages-Footnote-1966872
- Node: Updating `ERRNO'967024
- Node: Requesting Values967764
- Ref: table-value-types-returned968492
- Node: Accessing Parameters969449
- Node: Symbol Table Access970680
- Node: Symbol table by name971194
- Node: Symbol table by cookie973175
- Ref: Symbol table by cookie-Footnote-1977319
- Node: Cached values977382
- Ref: Cached values-Footnote-1980881
- Node: Array Manipulation980972
- Ref: Array Manipulation-Footnote-1982070
- Node: Array Data Types982107
- Ref: Array Data Types-Footnote-1984762
- Node: Array Functions984854
- Node: Flattening Arrays988708
- Node: Creating Arrays995600
- Node: Extension API Variables1000371
- Node: Extension Versioning1001007
- Node: Extension API Informational Variables1002908
- Node: Extension API Boilerplate1003973
- Node: Finding Extensions1007782
- Node: Extension Example1008342
- Node: Internal File Description1009114
- Node: Internal File Ops1013181
- Ref: Internal File Ops-Footnote-11024851
- Node: Using Internal File Ops1024991
- Ref: Using Internal File Ops-Footnote-11027374
- Node: Extension Samples1027647
- Node: Extension Sample File Functions1029173
- Node: Extension Sample Fnmatch1036811
- Node: Extension Sample Fork1038302
- Node: Extension Sample Inplace1039517
- Node: Extension Sample Ord1041192
- Node: Extension Sample Readdir1042028
- Ref: table-readdir-file-types1042904
- Node: Extension Sample Revout1043715
- Node: Extension Sample Rev2way1044305
- Node: Extension Sample Read write array1045045
- Node: Extension Sample Readfile1046985
- Node: Extension Sample Time1048080
- Node: Extension Sample API Tests1049429
- Node: gawkextlib1049920
- Node: Extension summary1052578
- Node: Extension Exercises1056267
- Node: Language History1056989
- Node: V7/SVR3.11058645
- Node: SVR41060826
- Node: POSIX1062271
- Node: BTL1063660
- Node: POSIX/GNU1064394
- Node: Feature History1070275
- Node: Common Extensions1084069
- Node: Ranges and Locales1085393
- Ref: Ranges and Locales-Footnote-11090011
- Ref: Ranges and Locales-Footnote-21090038
- Ref: Ranges and Locales-Footnote-31090272
- Node: Contributors1090493
- Node: History summary1096034
- Node: Installation1097404
- Node: Gawk Distribution1098350
- Node: Getting1098834
- Node: Extracting1099657
- Node: Distribution contents1101292
- Node: Unix Installation1107357
- Node: Quick Installation1108040
- Node: Shell Startup Files1110451
- Node: Additional Configuration Options1111530
- Node: Configuration Philosophy1113269
- Node: Non-Unix Installation1115638
- Node: PC Installation1116096
- Node: PC Binary Installation1117415
- Node: PC Compiling1119263
- Ref: PC Compiling-Footnote-11122284
- Node: PC Testing1122393
- Node: PC Using1123569
- Node: Cygwin1127684
- Node: MSYS1128507
- Node: VMS Installation1129007
- Node: VMS Compilation1129799
- Ref: VMS Compilation-Footnote-11131021
- Node: VMS Dynamic Extensions1131079
- Node: VMS Installation Details1132763
- Node: VMS Running1135015
- Node: VMS GNV1137851
- Node: VMS Old Gawk1138585
- Node: Bugs1139055
- Node: Other Versions1142938
- Node: Installation summary1149362
- Node: Notes1150418
- Node: Compatibility Mode1151283
- Node: Additions1152065
- Node: Accessing The Source1152990
- Node: Adding Code1154425
- Node: New Ports1160582
- Node: Derived Files1165064
- Ref: Derived Files-Footnote-11170539
- Ref: Derived Files-Footnote-21170573
- Ref: Derived Files-Footnote-31171169
- Node: Future Extensions1171283
- Node: Implementation Limitations1171889
- Node: Extension Design1173137
- Node: Old Extension Problems1174291
- Ref: Old Extension Problems-Footnote-11175808
- Node: Extension New Mechanism Goals1175865
- Ref: Extension New Mechanism Goals-Footnote-11179225
- Node: Extension Other Design Decisions1179414
- Node: Extension Future Growth1181522
- Node: Old Extension Mechanism1182358
- Node: Notes summary1184120
- Node: Basic Concepts1185306
- Node: Basic High Level1185987
- Ref: figure-general-flow1186259
- Ref: figure-process-flow1186858
- Ref: Basic High Level-Footnote-11190087
- Node: Basic Data Typing1190272
- Node: Glossary1193600
- Node: Copying1225529
- Node: GNU Free Documentation License1263085
- Node: Index1288221
++Node: Nondecimal Data780215
++Node: Array Sorting781805
++Node: Controlling Array Traversal782505
++Ref: Controlling Array Traversal-Footnote-1790871
++Node: Array Sorting Functions790989
++Ref: Array Sorting Functions-Footnote-1794875
++Node: Two-way I/O795071
++Ref: Two-way I/O-Footnote-1800016
++Ref: Two-way I/O-Footnote-2800202
++Node: TCP/IP Networking800284
++Node: Profiling803156
++Node: Advanced Features Summary811427
++Node: Internationalization813360
++Node: I18N and L10N814840
++Node: Explaining gettext815526
++Ref: Explaining gettext-Footnote-1820551
++Ref: Explaining gettext-Footnote-2820735
++Node: Programmer i18n820900
++Ref: Programmer i18n-Footnote-1825766
++Node: Translator i18n825815
++Node: String Extraction826609
++Ref: String Extraction-Footnote-1827740
++Node: Printf Ordering827826
++Ref: Printf Ordering-Footnote-1830612
++Node: I18N Portability830676
++Ref: I18N Portability-Footnote-1833131
++Node: I18N Example833194
++Ref: I18N Example-Footnote-1835997
++Node: Gawk I18N836069
++Node: I18N Summary836707
++Node: Debugger838046
++Node: Debugging839068
++Node: Debugging Concepts839509
++Node: Debugging Terms841362
++Node: Awk Debugging843934
++Node: Sample Debugging Session844828
++Node: Debugger Invocation845348
++Node: Finding The Bug846732
++Node: List of Debugger Commands853207
++Node: Breakpoint Control854540
++Node: Debugger Execution Control858236
++Node: Viewing And Changing Data861600
++Node: Execution Stack864978
++Node: Debugger Info866615
++Node: Miscellaneous Debugger Commands870632
++Node: Readline Support875661
++Node: Limitations876553
++Node: Debugging Summary878667
++Node: Arbitrary Precision Arithmetic879835
++Node: Computer Arithmetic881251
++Ref: table-numeric-ranges884849
++Ref: Computer Arithmetic-Footnote-1885708
++Node: Math Definitions885765
++Ref: table-ieee-formats889053
++Ref: Math Definitions-Footnote-1889657
++Node: MPFR features889762
++Node: FP Math Caution891433
++Ref: FP Math Caution-Footnote-1892483
++Node: Inexactness of computations892852
++Node: Inexact representation893811
++Node: Comparing FP Values895168
++Node: Errors accumulate896250
++Node: Getting Accuracy897683
++Node: Try To Round900345
++Node: Setting precision901244
++Ref: table-predefined-precision-strings901928
++Node: Setting the rounding mode903717
++Ref: table-gawk-rounding-modes904081
++Ref: Setting the rounding mode-Footnote-1907536
++Node: Arbitrary Precision Integers907715
++Ref: Arbitrary Precision Integers-Footnote-1912615
++Node: POSIX Floating Point Problems912764
++Ref: POSIX Floating Point Problems-Footnote-1916637
++Node: Floating point summary916675
++Node: Dynamic Extensions918869
++Node: Extension Intro920421
++Node: Plugin License921687
++Node: Extension Mechanism Outline922484
++Ref: figure-load-extension922912
++Ref: figure-register-new-function924392
++Ref: figure-call-new-function925396
++Node: Extension API Description927382
++Node: Extension API Functions Introduction928832
++Node: General Data Types933656
++Ref: General Data Types-Footnote-1939395
++Node: Memory Allocation Functions939694
++Ref: Memory Allocation Functions-Footnote-1942533
++Node: Constructor Functions942629
++Node: Registration Functions944363
++Node: Extension Functions945048
++Node: Exit Callback Functions947345
++Node: Extension Version String948593
++Node: Input Parsers949258
++Node: Output Wrappers959137
++Node: Two-way processors963652
++Node: Printing Messages965856
++Ref: Printing Messages-Footnote-1966932
++Node: Updating `ERRNO'967084
++Node: Requesting Values967824
++Ref: table-value-types-returned968552
++Node: Accessing Parameters969509
++Node: Symbol Table Access970740
++Node: Symbol table by name971254
++Node: Symbol table by cookie973235
++Ref: Symbol table by cookie-Footnote-1977379
++Node: Cached values977442
++Ref: Cached values-Footnote-1980941
++Node: Array Manipulation981032
++Ref: Array Manipulation-Footnote-1982130
++Node: Array Data Types982167
++Ref: Array Data Types-Footnote-1984822
++Node: Array Functions984914
++Node: Flattening Arrays988768
++Node: Creating Arrays995660
++Node: Extension API Variables1000431
++Node: Extension Versioning1001067
++Node: Extension API Informational Variables1002968
++Node: Extension API Boilerplate1004033
++Node: Finding Extensions1007842
++Node: Extension Example1008402
++Node: Internal File Description1009174
++Node: Internal File Ops1013241
++Ref: Internal File Ops-Footnote-11024911
++Node: Using Internal File Ops1025051
++Ref: Using Internal File Ops-Footnote-11027434
++Node: Extension Samples1027707
++Node: Extension Sample File Functions1029233
++Node: Extension Sample Fnmatch1036871
++Node: Extension Sample Fork1038362
++Node: Extension Sample Inplace1039577
++Node: Extension Sample Ord1041252
++Node: Extension Sample Readdir1042088
++Ref: table-readdir-file-types1042964
++Node: Extension Sample Revout1043775
++Node: Extension Sample Rev2way1044365
++Node: Extension Sample Read write array1045105
++Node: Extension Sample Readfile1047045
++Node: Extension Sample Time1048140
++Node: Extension Sample API Tests1049489
++Node: gawkextlib1049980
++Node: Extension summary1052638
++Node: Extension Exercises1056327
++Node: Language History1057049
++Node: V7/SVR3.11058705
++Node: SVR41060886
++Node: POSIX1062331
++Node: BTL1063720
++Node: POSIX/GNU1064454
++Node: Feature History1070335
++Node: Common Extensions1084129
++Node: Ranges and Locales1085453
++Ref: Ranges and Locales-Footnote-11090071
++Ref: Ranges and Locales-Footnote-21090098
++Ref: Ranges and Locales-Footnote-31090332
++Node: Contributors1090553
++Node: History summary1096094
++Node: Installation1097464
++Node: Gawk Distribution1098410
++Node: Getting1098894
++Node: Extracting1099717
++Node: Distribution contents1101352
++Node: Unix Installation1107417
++Node: Quick Installation1108100
++Node: Shell Startup Files1110511
++Node: Additional Configuration Options1111590
++Node: Configuration Philosophy1113329
++Node: Non-Unix Installation1115698
++Node: PC Installation1116156
++Node: PC Binary Installation1117475
++Node: PC Compiling1119323
++Ref: PC Compiling-Footnote-11122344
++Node: PC Testing1122453
++Node: PC Using1123629
++Node: Cygwin1127744
++Node: MSYS1128567
++Node: VMS Installation1129067
++Node: VMS Compilation1129859
++Ref: VMS Compilation-Footnote-11131081
++Node: VMS Dynamic Extensions1131139
++Node: VMS Installation Details1132823
++Node: VMS Running1135075
++Node: VMS GNV1137911
++Node: VMS Old Gawk1138645
++Node: Bugs1139115
++Node: Other Versions1142998
++Node: Installation summary1149422
++Node: Notes1150478
++Node: Compatibility Mode1151343
++Node: Additions1152125
++Node: Accessing The Source1153050
++Node: Adding Code1154485
++Node: New Ports1160642
++Node: Derived Files1165124
++Ref: Derived Files-Footnote-11170599
++Ref: Derived Files-Footnote-21170633
++Ref: Derived Files-Footnote-31171229
++Node: Future Extensions1171343
++Node: Implementation Limitations1171949
++Node: Extension Design1173197
++Node: Old Extension Problems1174351
++Ref: Old Extension Problems-Footnote-11175868
++Node: Extension New Mechanism Goals1175925
++Ref: Extension New Mechanism Goals-Footnote-11179285
++Node: Extension Other Design Decisions1179474
++Node: Extension Future Growth1181582
++Node: Old Extension Mechanism1182418
++Node: Notes summary1184180
++Node: Basic Concepts1185366
++Node: Basic High Level1186047
++Ref: figure-general-flow1186319
++Ref: figure-process-flow1186918
++Ref: Basic High Level-Footnote-11190147
++Node: Basic Data Typing1190332
++Node: Glossary1193660
++Node: Copying1225589
++Node: GNU Free Documentation License1263145
++Node: Index1288281
  End Tag Table


Summary of changes:
 ChangeLog          |   14 ++
 doc/ChangeLog      |    6 +-
 doc/      |  515 ++++++++++++++++++++++++++--------------------------
 doc/gawk.texi      |   78 ++++----
 doc/    |   78 ++++----
 eval.c             |    6 +-
 io.c               |    2 +
 str_array.c        |   16 ++-
 test/ChangeLog     |    6 +
 test/   |    5 +
 test/   |   15 ++
 test/Maketests     |   10 +
 test/nonfatal1.awk |    5 +
 test/nonfatal1.ok  |    1 +
 test/nonfatal2.awk |    5 +
 test/nonfatal2.ok  |    1 +
 16 files changed, 425 insertions(+), 338 deletions(-)
 create mode 100644 test/nonfatal1.awk
 create mode 100644 test/nonfatal1.ok
 create mode 100644 test/nonfatal2.awk
 create mode 100644 test/nonfatal2.ok


reply via email to

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