[Top][All Lists]

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

[gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-1589-gf1612f

From: Arnold Robbins
Subject: [gawk-diffs] [SCM] gawk branch, master, updated. gawk-4.1.0-1589-gf1612fd
Date: Sun, 20 Dec 2015 20:51:06 +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  f1612fd046124ff68fcdd70b558484c87c907bce (commit)
       via  1460f14c0fdd6e1485ba3a0bde14fe2e11fc1690 (commit)
      from  adf9d52a79a705dab0c5fe5f178770bb806a68cc (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 f1612fd046124ff68fcdd70b558484c87c907bce
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Dec 20 22:50:36 2015 +0200

    Document PROCINFO["NONFATAL"] in man page and in texinfo list.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index 2bf3f5a..bcdb8ff 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-20         Arnold D. Robbins     <address@hidden>
+       * Add PROCINFO["NONFATAL"] to the list for PROCINFO.
+       * gawk.1: Ditto.
 2015-12-18         Arnold D. Robbins     <address@hidden>
        * gawk.1: Update description of PROCINFO, and sort it properly.
diff --git a/doc/gawk.1 b/doc/gawk.1
index 4231411..b5dc906 100644
--- a/doc/gawk.1
+++ b/doc/gawk.1
@@ -13,7 +13,7 @@
 .              if \w'\(rq' .ds rq "\(rq
 .      \}
-.TH GAWK 1 "Dec 17 2015" "Free Software Foundation" "Utility Commands"
+.TH GAWK 1 "Dec 20 2015" "Free Software Foundation" "Utility Commands"
 gawk \- pattern scanning and processing language
@@ -1221,6 +1221,14 @@ change
 .IR gawk 's
+If this exists, then I/O errors for all output redirections become nonfatal.
+Make output errors for
+.I output_name
+be nonfatal.
+\fBPROCINFO["\fIoutput_command\fB", "NONFATAL"]\fR
 \fBPROCINFO["\fIcommand\fB", "pty"]\fR
 Use a pseudo-tty for two-way communication with
 .I command
diff --git a/doc/ b/doc/
index 2a9b898..5929a63 100644
--- a/doc/
+++ b/doc/
@@ -10644,6 +10644,14 @@ they are not special:
      The following elements allow you to change 'gawk''s behavior:
+          If this element exists, then I/O errors for all output
+          redirections become nonfatal.  *Note Nonfatal::,.
+          Make output errors for OUTPUT_NAME be nonfatal.  *Note
+          Nonfatal::,.
      'PROCINFO["COMMAND", "pty"]'
           For two-way communication to COMMAND, use a pseudo-tty instead
           of setting up a two-way pipe.  *Note Two-way I/O::, for more
@@ -32801,7 +32809,7 @@ Index
 * dark corner, field separators:         Full Line Fields.    (line  22)
 * dark corner, FILENAME variable:        Getline Notes.       (line  19)
 * dark corner, FILENAME variable <1>:    Auto-set.            (line 108)
-* dark corner, FNR/NR variables:         Auto-set.            (line 336)
+* dark corner, FNR/NR variables:         Auto-set.            (line 344)
 * dark corner, format-control characters: Control Letters.    (line  18)
 * dark corner, format-control characters <1>: Control Letters.
                                                               (line  93)
@@ -33036,7 +33044,7 @@ Index
                                                               (line   6)
 * differences in awk and gawk, RS/RT variables: gawk split records.
                                                               (line  58)
-* differences in awk and gawk, RT variable: Auto-set.         (line 287)
+* differences in awk and gawk, RT variable: Auto-set.         (line 295)
 * differences in awk and gawk, single-character fields: Single Character 
                                                               (line   6)
 * differences in awk and gawk, split() function: String Functions.
@@ -33044,7 +33052,7 @@ Index
 * differences in awk and gawk, strings:  Scalar Constants.    (line  20)
 * differences in awk and gawk, strings, storing: gawk split records.
                                                               (line  76)
-* differences in awk and gawk, SYMTAB variable: Auto-set.     (line 291)
+* differences in awk and gawk, SYMTAB variable: Auto-set.     (line 299)
 * differences in awk and gawk, TEXTDOMAIN variable: User-modified.
                                                               (line 152)
 * differences in awk and gawk, trunc-mod operation: Arithmetic Ops.
@@ -33358,7 +33366,7 @@ Index
                                                               (line  12)
 * FNR variable:                          Records.             (line   6)
 * FNR variable <1>:                      Auto-set.            (line 118)
-* FNR variable, changing:                Auto-set.            (line 336)
+* FNR variable, changing:                Auto-set.            (line 344)
 * for statement:                         For Statement.       (line   6)
 * for statement, looping over arrays:    Scanning an Array.   (line  20)
 * fork() extension function:             Extension Sample Fork.
@@ -33540,12 +33548,12 @@ Index
 * gawk, regular expressions, precedence: Regexp Operators.    (line 161)
 * gawk, RT variable in:                  awk split records.   (line 124)
 * gawk, RT variable in <1>:              Multiple Line.       (line 130)
-* gawk, RT variable in <2>:              Auto-set.            (line 287)
+* gawk, RT variable in <2>:              Auto-set.            (line 295)
 * gawk, See Also awk:                    Preface.             (line  34)
 * gawk, source code, obtaining:          Getting.             (line   6)
 * gawk, splitting fields and:            Constant Size.       (line  86)
 * gawk, string-translation functions:    I18N Functions.      (line   6)
-* gawk, SYMTAB array in:                 Auto-set.            (line 291)
+* gawk, SYMTAB array in:                 Auto-set.            (line 299)
 * gawk, TEXTDOMAIN variable in:          User-modified.       (line 152)
 * gawk, timestamps:                      Time Functions.      (line   6)
 * gawk, uses for:                        Preface.             (line  34)
@@ -34012,7 +34020,7 @@ Index
 * not Boolean-logic operator:            Boolean Ops.         (line   6)
 * NR variable:                           Records.             (line   6)
 * NR variable <1>:                       Auto-set.            (line 143)
-* NR variable, changing:                 Auto-set.            (line 336)
+* NR variable, changing:                 Auto-set.            (line 344)
 * null strings:                          awk split records.   (line 114)
 * null strings <1>:                      Regexp Field Splitting.
                                                               (line  43)
@@ -34477,7 +34485,7 @@ Index
 * right shift:                           Bitwise Functions.   (line  54)
 * right shift, bitwise:                  Bitwise Functions.   (line  32)
 * Ritchie, Dennis:                       Basic Data Typing.   (line  54)
-* RLENGTH variable:                      Auto-set.            (line 274)
+* RLENGTH variable:                      Auto-set.            (line 282)
 * RLENGTH variable, match() function and: String Functions.   (line 227)
 * Robbins, Arnold:                       Command Line Field Separator.
                                                               (line  71)
@@ -34503,11 +34511,11 @@ Index
 * RS variable <1>:                       User-modified.       (line 133)
 * RS variable, multiline records and:    Multiple Line.       (line  17)
 * rshift:                                Bitwise Functions.   (line  54)
-* RSTART variable:                       Auto-set.            (line 280)
+* RSTART variable:                       Auto-set.            (line 288)
 * RSTART variable, match() function and: String Functions.    (line 227)
 * RT variable:                           awk split records.   (line 124)
 * RT variable <1>:                       Multiple Line.       (line 130)
-* RT variable <2>:                       Auto-set.            (line 287)
+* RT variable <2>:                       Auto-set.            (line 295)
 * Rubin, Paul:                           History.             (line  30)
 * Rubin, Paul <1>:                       Contributors.        (line  16)
 * rule, definition of:                   Getting Started.     (line  21)
@@ -34525,7 +34533,7 @@ Index
 * scanning arrays:                       Scanning an Array.   (line   6)
 * scanning multidimensional arrays:      Multiscanning.       (line  11)
 * Schorr, Andrew:                        Acknowledgments.     (line  60)
-* Schorr, Andrew <1>:                    Auto-set.            (line 319)
+* Schorr, Andrew <1>:                    Auto-set.            (line 327)
 * Schorr, Andrew <2>:                    Contributors.        (line 134)
 * Schreiber, Bert:                       Acknowledgments.     (line  38)
 * Schreiber, Rita:                       Acknowledgments.     (line  38)
@@ -34610,7 +34618,7 @@ Index
                                                               (line 106)
 * sidebar, Changing FS Does Not Affect the Fields: Full Line Fields.
                                                               (line  14)
-* sidebar, Changing NR and FNR:          Auto-set.            (line 334)
+* sidebar, Changing NR and FNR:          Auto-set.            (line 342)
 * sidebar, Controlling Output Buffering with system(): I/O Functions.
                                                               (line 137)
 * sidebar, Escape Sequences for Metacharacters: Escape Sequences.
@@ -34775,7 +34783,7 @@ Index
 * Sumner, Andrew:                        Other Versions.      (line  68)
 * supplementary groups of gawk process:  Auto-set.            (line 251)
 * switch statement:                      Switch Statement.    (line   6)
-* SYMTAB array:                          Auto-set.            (line 291)
+* SYMTAB array:                          Auto-set.            (line 299)
 * syntactic ambiguity: /= operator vs. /=.../ regexp constant: Assignment Ops.
                                                               (line 149)
 * system:                                I/O Functions.       (line 107)
@@ -35230,361 +35238,361 @@ Node: Exit Statement437104
 Node: Built-in Variables439509
 Node: User-modified440642
 Node: Auto-set448230
-Ref: Auto-set-Footnote-1462337
-Ref: Auto-set-Footnote-2462543
-Node: ARGC and ARGV462599
-Node: Pattern Action Summary466818
-Node: Arrays469248
-Node: Array Basics470577
-Node: Array Intro471421
-Ref: figure-array-elements473396
-Ref: Array Intro-Footnote-1476100
-Node: Reference to Elements476228
-Node: Assigning Elements478692
-Node: Array Example479183
-Node: Scanning an Array480942
-Node: Controlling Scanning483966
-Ref: Controlling Scanning-Footnote-1489365
-Node: Numeric Array Subscripts489681
-Node: Uninitialized Subscripts491865
-Node: Delete493484
-Ref: Delete-Footnote-1496236
-Node: Multidimensional496293
-Node: Multiscanning499388
-Node: Arrays of Arrays500979
-Node: Arrays Summary505747
-Node: Functions507840
-Node: Built-in508878
-Node: Calling Built-in509956
-Node: Numeric Functions511952
-Ref: Numeric Functions-Footnote-1516785
-Ref: Numeric Functions-Footnote-2517142
-Ref: Numeric Functions-Footnote-3517190
-Node: String Functions517462
-Ref: String Functions-Footnote-1540970
-Ref: String Functions-Footnote-2541099
-Ref: String Functions-Footnote-3541347
-Node: Gory Details541434
-Ref: table-sub-escapes543225
-Ref: table-sub-proposed544744
-Ref: table-posix-sub546107
-Ref: table-gensub-escapes547648
-Ref: Gory Details-Footnote-1548471
-Node: I/O Functions548622
-Ref: I/O Functions-Footnote-1555843
-Node: Time Functions555991
-Ref: Time Functions-Footnote-1566496
-Ref: Time Functions-Footnote-2566564
-Ref: Time Functions-Footnote-3566722
-Ref: Time Functions-Footnote-4566833
-Ref: Time Functions-Footnote-5566945
-Ref: Time Functions-Footnote-6567172
-Node: Bitwise Functions567438
-Ref: table-bitwise-ops568032
-Ref: Bitwise Functions-Footnote-1572370
-Node: Type Functions572543
-Node: I18N Functions575204
-Node: User-defined576855
-Node: Definition Syntax577660
-Ref: Definition Syntax-Footnote-1583347
-Node: Function Example583418
-Ref: Function Example-Footnote-1586340
-Node: Function Caveats586362
-Node: Calling A Function586880
-Node: Variable Scope587838
-Node: Pass By Value/Reference590832
-Node: Return Statement594331
-Node: Dynamic Typing597310
-Node: Indirect Calls598240
-Ref: Indirect Calls-Footnote-1608491
-Node: Functions Summary608619
-Node: Library Functions611324
-Ref: Library Functions-Footnote-1614933
-Ref: Library Functions-Footnote-2615076
-Node: Library Names615247
-Ref: Library Names-Footnote-1618708
-Ref: Library Names-Footnote-2618931
-Node: General Functions619017
-Node: Strtonum Function620120
-Node: Assert Function623142
-Node: Round Function626468
-Node: Cliff Random Function628009
-Node: Ordinal Functions629025
-Ref: Ordinal Functions-Footnote-1632088
-Ref: Ordinal Functions-Footnote-2632340
-Node: Join Function632550
-Ref: Join Function-Footnote-1634320
-Node: Getlocaltime Function634520
-Node: Readfile Function638264
-Node: Shell Quoting640238
-Node: Data File Management641639
-Node: Filetrans Function642271
-Node: Rewind Function646368
-Node: File Checking647754
-Ref: File Checking-Footnote-1649088
-Node: Empty Files649289
-Node: Ignoring Assigns651268
-Node: Getopt Function652818
-Ref: Getopt Function-Footnote-1664288
-Node: Passwd Functions664488
-Ref: Passwd Functions-Footnote-1673329
-Node: Group Functions673417
-Ref: Group Functions-Footnote-1681316
-Node: Walking Arrays681523
-Node: Library Functions Summary684533
-Node: Library Exercises685939
-Node: Sample Programs686404
-Node: Running Examples687174
-Node: Clones687902
-Node: Cut Program689126
-Node: Egrep Program698847
-Ref: Egrep Program-Footnote-1706359
-Node: Id Program706469
-Node: Split Program710149
-Ref: Split Program-Footnote-1713608
-Node: Tee Program713737
-Node: Uniq Program716527
-Node: Wc Program723953
-Ref: Wc Program-Footnote-1728208
-Node: Miscellaneous Programs728302
-Node: Dupword Program729515
-Node: Alarm Program731545
-Node: Translate Program736400
-Ref: Translate Program-Footnote-1740965
-Node: Labels Program741235
-Ref: Labels Program-Footnote-1744586
-Node: Word Sorting744670
-Node: History Sorting748742
-Node: Extract Program750577
-Node: Simple Sed758108
-Node: Igawk Program761182
-Ref: Igawk Program-Footnote-1775513
-Ref: Igawk Program-Footnote-2775715
-Ref: Igawk Program-Footnote-3775837
-Node: Anagram Program775952
-Node: Signature Program779014
-Node: Programs Summary780261
-Node: Programs Exercises781476
-Ref: Programs Exercises-Footnote-1785605
-Node: Advanced Features785696
-Node: Nondecimal Data787686
-Node: Array Sorting789277
-Node: Controlling Array Traversal789977
-Ref: Controlling Array Traversal-Footnote-1798346
-Node: Array Sorting Functions798464
-Ref: Array Sorting Functions-Footnote-1802351
-Node: Two-way I/O802547
-Ref: Two-way I/O-Footnote-1807498
-Ref: Two-way I/O-Footnote-2807685
-Node: TCP/IP Networking807767
-Node: Profiling810885
-Node: Advanced Features Summary819156
-Node: Internationalization821092
-Node: I18N and L10N822572
-Node: Explaining gettext823259
-Ref: Explaining gettext-Footnote-1828282
-Ref: Explaining gettext-Footnote-2828467
-Node: Programmer i18n828632
-Ref: Programmer i18n-Footnote-1833488
-Node: Translator i18n833537
-Node: String Extraction834331
-Ref: String Extraction-Footnote-1835464
-Node: Printf Ordering835550
-Ref: Printf Ordering-Footnote-1838336
-Node: I18N Portability838400
-Ref: I18N Portability-Footnote-1840856
-Node: I18N Example840919
-Ref: I18N Example-Footnote-1843725
-Node: Gawk I18N843798
-Node: I18N Summary844443
-Node: Debugger845784
-Node: Debugging846806
-Node: Debugging Concepts847247
-Node: Debugging Terms849056
-Node: Awk Debugging851631
-Node: Sample Debugging Session852537
-Node: Debugger Invocation853071
-Node: Finding The Bug854457
-Node: List of Debugger Commands860935
-Node: Breakpoint Control862268
-Node: Debugger Execution Control865962
-Node: Viewing And Changing Data869324
-Node: Execution Stack872698
-Node: Debugger Info874335
-Node: Miscellaneous Debugger Commands878406
-Node: Readline Support883494
-Node: Limitations884390
-Ref: Limitations-Footnote-1888621
-Node: Debugging Summary888672
-Node: Arbitrary Precision Arithmetic889951
-Node: Computer Arithmetic891367
-Ref: table-numeric-ranges894958
-Ref: Computer Arithmetic-Footnote-1895680
-Node: Math Definitions895737
-Ref: table-ieee-formats899051
-Ref: Math Definitions-Footnote-1899654
-Node: MPFR features899759
-Node: FP Math Caution901432
-Ref: FP Math Caution-Footnote-1902504
-Node: Inexactness of computations902873
-Node: Inexact representation903833
-Node: Comparing FP Values905193
-Node: Errors accumulate906275
-Node: Getting Accuracy907708
-Node: Try To Round910418
-Node: Setting precision911317
-Ref: table-predefined-precision-strings912014
-Node: Setting the rounding mode913844
-Ref: table-gawk-rounding-modes914218
-Ref: Setting the rounding mode-Footnote-1917626
-Node: Arbitrary Precision Integers917805
-Ref: Arbitrary Precision Integers-Footnote-1922722
-Node: POSIX Floating Point Problems922871
-Ref: POSIX Floating Point Problems-Footnote-1926753
-Node: Floating point summary926791
-Node: Dynamic Extensions928981
-Node: Extension Intro930534
-Node: Plugin License931800
-Node: Extension Mechanism Outline932597
-Ref: figure-load-extension933036
-Ref: figure-register-new-function934601
-Ref: figure-call-new-function935693
-Node: Extension API Description937756
-Node: Extension API Functions Introduction939288
-Node: General Data Types944147
-Ref: General Data Types-Footnote-1950102
-Node: Memory Allocation Functions950401
-Ref: Memory Allocation Functions-Footnote-1953246
-Node: Constructor Functions953345
-Node: Registration Functions955090
-Node: Extension Functions955775
-Node: Exit Callback Functions958074
-Node: Extension Version String959324
-Node: Input Parsers959987
-Node: Output Wrappers969872
-Node: Two-way processors974384
-Node: Printing Messages976648
-Ref: Printing Messages-Footnote-1977722
-Node: Updating ERRNO977875
-Node: Requesting Values978614
-Ref: table-value-types-returned979351
-Node: Accessing Parameters980234
-Node: Symbol Table Access981470
-Node: Symbol table by name981982
-Node: Symbol table by cookie984003
-Ref: Symbol table by cookie-Footnote-1988152
-Node: Cached values988216
-Ref: Cached values-Footnote-1991717
-Node: Array Manipulation991808
-Ref: Array Manipulation-Footnote-1992899
-Node: Array Data Types992936
-Ref: Array Data Types-Footnote-1995594
-Node: Array Functions995686
-Node: Flattening Arrays999545
-Node: Creating Arrays1006453
-Node: Redirection API1011225
-Node: Extension API Variables1014056
-Node: Extension Versioning1014689
-Node: Extension API Informational Variables1016580
-Node: Extension API Boilerplate1017644
-Node: Finding Extensions1021458
-Node: Extension Example1022018
-Node: Internal File Description1022816
-Node: Internal File Ops1026896
-Ref: Internal File Ops-Footnote-11038658
-Node: Using Internal File Ops1038798
-Ref: Using Internal File Ops-Footnote-11041181
-Node: Extension Samples1041456
-Node: Extension Sample File Functions1042985
-Node: Extension Sample Fnmatch1050634
-Node: Extension Sample Fork1052121
-Node: Extension Sample Inplace1053339
-Node: Extension Sample Ord1056549
-Node: Extension Sample Readdir1057385
-Ref: table-readdir-file-types1058274
-Node: Extension Sample Revout1059079
-Node: Extension Sample Rev2way1059668
-Node: Extension Sample Read write array1060408
-Node: Extension Sample Readfile1062350
-Node: Extension Sample Time1063445
-Node: Extension Sample API Tests1064793
-Node: gawkextlib1065285
-Node: Extension summary1067732
-Node: Extension Exercises1071424
-Node: Language History1072921
-Node: V7/SVR3.11074577
-Node: SVR41076729
-Node: POSIX1078163
-Node: BTL1079543
-Node: POSIX/GNU1080273
-Node: Feature History1086112
-Node: Common Extensions1100432
-Node: Ranges and Locales1101715
-Ref: Ranges and Locales-Footnote-11106331
-Ref: Ranges and Locales-Footnote-21106358
-Ref: Ranges and Locales-Footnote-31106593
-Node: Contributors1106814
-Node: History summary1112383
-Node: Installation1113763
-Node: Gawk Distribution1114708
-Node: Getting1115192
-Node: Extracting1116153
-Node: Distribution contents1117791
-Node: Unix Installation1123887
-Node: Quick Installation1124569
-Node: Shell Startup Files1126983
-Node: Additional Configuration Options1128061
-Node: Configuration Philosophy1129866
-Node: Non-Unix Installation1132236
-Node: PC Installation1132694
-Node: PC Binary Installation1134014
-Node: PC Compiling1135866
-Ref: PC Compiling-Footnote-11138890
-Node: PC Testing1138999
-Node: PC Using1140179
-Node: Cygwin1144293
-Node: MSYS1145063
-Node: VMS Installation1145564
-Node: VMS Compilation1146355
-Ref: VMS Compilation-Footnote-11147585
-Node: VMS Dynamic Extensions1147643
-Node: VMS Installation Details1149328
-Node: VMS Running1151581
-Node: VMS GNV1154422
-Node: VMS Old Gawk1155157
-Node: Bugs1155628
-Node: Other Versions1159825
-Node: Installation summary1166411
-Node: Notes1167469
-Node: Compatibility Mode1168334
-Node: Additions1169116
-Node: Accessing The Source1170041
-Node: Adding Code1171477
-Node: New Ports1177696
-Node: Derived Files1182184
-Ref: Derived Files-Footnote-11187669
-Ref: Derived Files-Footnote-21187704
-Ref: Derived Files-Footnote-31188302
-Node: Future Extensions1188416
-Node: Implementation Limitations1189074
-Node: Extension Design1190257
-Node: Old Extension Problems1191411
-Ref: Old Extension Problems-Footnote-11192929
-Node: Extension New Mechanism Goals1192986
-Ref: Extension New Mechanism Goals-Footnote-11196350
-Node: Extension Other Design Decisions1196539
-Node: Extension Future Growth1198652
-Node: Old Extension Mechanism1199488
-Node: Notes summary1201251
-Node: Basic Concepts1202433
-Node: Basic High Level1203114
-Ref: figure-general-flow1203396
-Ref: figure-process-flow1204081
-Ref: Basic High Level-Footnote-11207382
-Node: Basic Data Typing1207567
-Node: Glossary1210895
-Node: Copying1242841
-Node: GNU Free Documentation License1280380
-Node: Index1305498
+Ref: Auto-set-Footnote-1462623
+Ref: Auto-set-Footnote-2462829
+Node: ARGC and ARGV462885
+Node: Pattern Action Summary467104
+Node: Arrays469534
+Node: Array Basics470863
+Node: Array Intro471707
+Ref: figure-array-elements473682
+Ref: Array Intro-Footnote-1476386
+Node: Reference to Elements476514
+Node: Assigning Elements478978
+Node: Array Example479469
+Node: Scanning an Array481228
+Node: Controlling Scanning484252
+Ref: Controlling Scanning-Footnote-1489651
+Node: Numeric Array Subscripts489967
+Node: Uninitialized Subscripts492151
+Node: Delete493770
+Ref: Delete-Footnote-1496522
+Node: Multidimensional496579
+Node: Multiscanning499674
+Node: Arrays of Arrays501265
+Node: Arrays Summary506033
+Node: Functions508126
+Node: Built-in509164
+Node: Calling Built-in510242
+Node: Numeric Functions512238
+Ref: Numeric Functions-Footnote-1517071
+Ref: Numeric Functions-Footnote-2517428
+Ref: Numeric Functions-Footnote-3517476
+Node: String Functions517748
+Ref: String Functions-Footnote-1541256
+Ref: String Functions-Footnote-2541385
+Ref: String Functions-Footnote-3541633
+Node: Gory Details541720
+Ref: table-sub-escapes543511
+Ref: table-sub-proposed545030
+Ref: table-posix-sub546393
+Ref: table-gensub-escapes547934
+Ref: Gory Details-Footnote-1548757
+Node: I/O Functions548908
+Ref: I/O Functions-Footnote-1556129
+Node: Time Functions556277
+Ref: Time Functions-Footnote-1566782
+Ref: Time Functions-Footnote-2566850
+Ref: Time Functions-Footnote-3567008
+Ref: Time Functions-Footnote-4567119
+Ref: Time Functions-Footnote-5567231
+Ref: Time Functions-Footnote-6567458
+Node: Bitwise Functions567724
+Ref: table-bitwise-ops568318
+Ref: Bitwise Functions-Footnote-1572656
+Node: Type Functions572829
+Node: I18N Functions575490
+Node: User-defined577141
+Node: Definition Syntax577946
+Ref: Definition Syntax-Footnote-1583633
+Node: Function Example583704
+Ref: Function Example-Footnote-1586626
+Node: Function Caveats586648
+Node: Calling A Function587166
+Node: Variable Scope588124
+Node: Pass By Value/Reference591118
+Node: Return Statement594617
+Node: Dynamic Typing597596
+Node: Indirect Calls598526
+Ref: Indirect Calls-Footnote-1608777
+Node: Functions Summary608905
+Node: Library Functions611610
+Ref: Library Functions-Footnote-1615219
+Ref: Library Functions-Footnote-2615362
+Node: Library Names615533
+Ref: Library Names-Footnote-1618994
+Ref: Library Names-Footnote-2619217
+Node: General Functions619303
+Node: Strtonum Function620406
+Node: Assert Function623428
+Node: Round Function626754
+Node: Cliff Random Function628295
+Node: Ordinal Functions629311
+Ref: Ordinal Functions-Footnote-1632374
+Ref: Ordinal Functions-Footnote-2632626
+Node: Join Function632836
+Ref: Join Function-Footnote-1634606
+Node: Getlocaltime Function634806
+Node: Readfile Function638550
+Node: Shell Quoting640524
+Node: Data File Management641925
+Node: Filetrans Function642557
+Node: Rewind Function646654
+Node: File Checking648040
+Ref: File Checking-Footnote-1649374
+Node: Empty Files649575
+Node: Ignoring Assigns651554
+Node: Getopt Function653104
+Ref: Getopt Function-Footnote-1664574
+Node: Passwd Functions664774
+Ref: Passwd Functions-Footnote-1673615
+Node: Group Functions673703
+Ref: Group Functions-Footnote-1681602
+Node: Walking Arrays681809
+Node: Library Functions Summary684819
+Node: Library Exercises686225
+Node: Sample Programs686690
+Node: Running Examples687460
+Node: Clones688188
+Node: Cut Program689412
+Node: Egrep Program699133
+Ref: Egrep Program-Footnote-1706645
+Node: Id Program706755
+Node: Split Program710435
+Ref: Split Program-Footnote-1713894
+Node: Tee Program714023
+Node: Uniq Program716813
+Node: Wc Program724239
+Ref: Wc Program-Footnote-1728494
+Node: Miscellaneous Programs728588
+Node: Dupword Program729801
+Node: Alarm Program731831
+Node: Translate Program736686
+Ref: Translate Program-Footnote-1741251
+Node: Labels Program741521
+Ref: Labels Program-Footnote-1744872
+Node: Word Sorting744956
+Node: History Sorting749028
+Node: Extract Program750863
+Node: Simple Sed758394
+Node: Igawk Program761468
+Ref: Igawk Program-Footnote-1775799
+Ref: Igawk Program-Footnote-2776001
+Ref: Igawk Program-Footnote-3776123
+Node: Anagram Program776238
+Node: Signature Program779300
+Node: Programs Summary780547
+Node: Programs Exercises781762
+Ref: Programs Exercises-Footnote-1785891
+Node: Advanced Features785982
+Node: Nondecimal Data787972
+Node: Array Sorting789563
+Node: Controlling Array Traversal790263
+Ref: Controlling Array Traversal-Footnote-1798632
+Node: Array Sorting Functions798750
+Ref: Array Sorting Functions-Footnote-1802637
+Node: Two-way I/O802833
+Ref: Two-way I/O-Footnote-1807784
+Ref: Two-way I/O-Footnote-2807971
+Node: TCP/IP Networking808053
+Node: Profiling811171
+Node: Advanced Features Summary819442
+Node: Internationalization821378
+Node: I18N and L10N822858
+Node: Explaining gettext823545
+Ref: Explaining gettext-Footnote-1828568
+Ref: Explaining gettext-Footnote-2828753
+Node: Programmer i18n828918
+Ref: Programmer i18n-Footnote-1833774
+Node: Translator i18n833823
+Node: String Extraction834617
+Ref: String Extraction-Footnote-1835750
+Node: Printf Ordering835836
+Ref: Printf Ordering-Footnote-1838622
+Node: I18N Portability838686
+Ref: I18N Portability-Footnote-1841142
+Node: I18N Example841205
+Ref: I18N Example-Footnote-1844011
+Node: Gawk I18N844084
+Node: I18N Summary844729
+Node: Debugger846070
+Node: Debugging847092
+Node: Debugging Concepts847533
+Node: Debugging Terms849342
+Node: Awk Debugging851917
+Node: Sample Debugging Session852823
+Node: Debugger Invocation853357
+Node: Finding The Bug854743
+Node: List of Debugger Commands861221
+Node: Breakpoint Control862554
+Node: Debugger Execution Control866248
+Node: Viewing And Changing Data869610
+Node: Execution Stack872984
+Node: Debugger Info874621
+Node: Miscellaneous Debugger Commands878692
+Node: Readline Support883780
+Node: Limitations884676
+Ref: Limitations-Footnote-1888907
+Node: Debugging Summary888958
+Node: Arbitrary Precision Arithmetic890237
+Node: Computer Arithmetic891653
+Ref: table-numeric-ranges895244
+Ref: Computer Arithmetic-Footnote-1895966
+Node: Math Definitions896023
+Ref: table-ieee-formats899337
+Ref: Math Definitions-Footnote-1899940
+Node: MPFR features900045
+Node: FP Math Caution901718
+Ref: FP Math Caution-Footnote-1902790
+Node: Inexactness of computations903159
+Node: Inexact representation904119
+Node: Comparing FP Values905479
+Node: Errors accumulate906561
+Node: Getting Accuracy907994
+Node: Try To Round910704
+Node: Setting precision911603
+Ref: table-predefined-precision-strings912300
+Node: Setting the rounding mode914130
+Ref: table-gawk-rounding-modes914504
+Ref: Setting the rounding mode-Footnote-1917912
+Node: Arbitrary Precision Integers918091
+Ref: Arbitrary Precision Integers-Footnote-1923008
+Node: POSIX Floating Point Problems923157
+Ref: POSIX Floating Point Problems-Footnote-1927039
+Node: Floating point summary927077
+Node: Dynamic Extensions929267
+Node: Extension Intro930820
+Node: Plugin License932086
+Node: Extension Mechanism Outline932883
+Ref: figure-load-extension933322
+Ref: figure-register-new-function934887
+Ref: figure-call-new-function935979
+Node: Extension API Description938042
+Node: Extension API Functions Introduction939574
+Node: General Data Types944433
+Ref: General Data Types-Footnote-1950388
+Node: Memory Allocation Functions950687
+Ref: Memory Allocation Functions-Footnote-1953532
+Node: Constructor Functions953631
+Node: Registration Functions955376
+Node: Extension Functions956061
+Node: Exit Callback Functions958360
+Node: Extension Version String959610
+Node: Input Parsers960273
+Node: Output Wrappers970158
+Node: Two-way processors974670
+Node: Printing Messages976934
+Ref: Printing Messages-Footnote-1978008
+Node: Updating ERRNO978161
+Node: Requesting Values978900
+Ref: table-value-types-returned979637
+Node: Accessing Parameters980520
+Node: Symbol Table Access981756
+Node: Symbol table by name982268
+Node: Symbol table by cookie984289
+Ref: Symbol table by cookie-Footnote-1988438
+Node: Cached values988502
+Ref: Cached values-Footnote-1992003
+Node: Array Manipulation992094
+Ref: Array Manipulation-Footnote-1993185
+Node: Array Data Types993222
+Ref: Array Data Types-Footnote-1995880
+Node: Array Functions995972
+Node: Flattening Arrays999831
+Node: Creating Arrays1006739
+Node: Redirection API1011511
+Node: Extension API Variables1014342
+Node: Extension Versioning1014975
+Node: Extension API Informational Variables1016866
+Node: Extension API Boilerplate1017930
+Node: Finding Extensions1021744
+Node: Extension Example1022304
+Node: Internal File Description1023102
+Node: Internal File Ops1027182
+Ref: Internal File Ops-Footnote-11038944
+Node: Using Internal File Ops1039084
+Ref: Using Internal File Ops-Footnote-11041467
+Node: Extension Samples1041742
+Node: Extension Sample File Functions1043271
+Node: Extension Sample Fnmatch1050920
+Node: Extension Sample Fork1052407
+Node: Extension Sample Inplace1053625
+Node: Extension Sample Ord1056835
+Node: Extension Sample Readdir1057671
+Ref: table-readdir-file-types1058560
+Node: Extension Sample Revout1059365
+Node: Extension Sample Rev2way1059954
+Node: Extension Sample Read write array1060694
+Node: Extension Sample Readfile1062636
+Node: Extension Sample Time1063731
+Node: Extension Sample API Tests1065079
+Node: gawkextlib1065571
+Node: Extension summary1068018
+Node: Extension Exercises1071710
+Node: Language History1073207
+Node: V7/SVR3.11074863
+Node: SVR41077015
+Node: POSIX1078449
+Node: BTL1079829
+Node: POSIX/GNU1080559
+Node: Feature History1086398
+Node: Common Extensions1100718
+Node: Ranges and Locales1102001
+Ref: Ranges and Locales-Footnote-11106617
+Ref: Ranges and Locales-Footnote-21106644
+Ref: Ranges and Locales-Footnote-31106879
+Node: Contributors1107100
+Node: History summary1112669
+Node: Installation1114049
+Node: Gawk Distribution1114994
+Node: Getting1115478
+Node: Extracting1116439
+Node: Distribution contents1118077
+Node: Unix Installation1124173
+Node: Quick Installation1124855
+Node: Shell Startup Files1127269
+Node: Additional Configuration Options1128347
+Node: Configuration Philosophy1130152
+Node: Non-Unix Installation1132522
+Node: PC Installation1132980
+Node: PC Binary Installation1134300
+Node: PC Compiling1136152
+Ref: PC Compiling-Footnote-11139176
+Node: PC Testing1139285
+Node: PC Using1140465
+Node: Cygwin1144579
+Node: MSYS1145349
+Node: VMS Installation1145850
+Node: VMS Compilation1146641
+Ref: VMS Compilation-Footnote-11147871
+Node: VMS Dynamic Extensions1147929
+Node: VMS Installation Details1149614
+Node: VMS Running1151867
+Node: VMS GNV1154708
+Node: VMS Old Gawk1155443
+Node: Bugs1155914
+Node: Other Versions1160111
+Node: Installation summary1166697
+Node: Notes1167755
+Node: Compatibility Mode1168620
+Node: Additions1169402
+Node: Accessing The Source1170327
+Node: Adding Code1171763
+Node: New Ports1177982
+Node: Derived Files1182470
+Ref: Derived Files-Footnote-11187955
+Ref: Derived Files-Footnote-21187990
+Ref: Derived Files-Footnote-31188588
+Node: Future Extensions1188702
+Node: Implementation Limitations1189360
+Node: Extension Design1190543
+Node: Old Extension Problems1191697
+Ref: Old Extension Problems-Footnote-11193215
+Node: Extension New Mechanism Goals1193272
+Ref: Extension New Mechanism Goals-Footnote-11196636
+Node: Extension Other Design Decisions1196825
+Node: Extension Future Growth1198938
+Node: Old Extension Mechanism1199774
+Node: Notes summary1201537
+Node: Basic Concepts1202719
+Node: Basic High Level1203400
+Ref: figure-general-flow1203682
+Ref: figure-process-flow1204367
+Ref: Basic High Level-Footnote-11207668
+Node: Basic Data Typing1207853
+Node: Glossary1211181
+Node: Copying1243127
+Node: GNU Free Documentation License1280666
+Node: Index1305784
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 8e13df6..384198a 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -10598,7 +10598,6 @@ when closing a pipe.
 @end cartouche
 @end ifnotdocbook
 @node Nonfatal
 @section Enabling Nonfatal Output
@@ -15281,6 +15280,14 @@ to test for these elements
 The following elements allow you to change @command{gawk}'s behavior:
 @table @code
address@hidden PROCINFO["NONFATAL"]
+If this element exists, then I/O errors for all output redirections become 
address@hidden PROCINFO["@var{output_name}", "NONFATAL"]
+Make output errors for @var{output_name} be nonfatal.
 @item PROCINFO["@var{command}", "pty"]
 For two-way communication to @var{command}, use a pseudo-tty instead
 of setting up a two-way pipe.
diff --git a/doc/ b/doc/
index dea589f..7764ec0 100644
--- a/doc/
+++ b/doc/
@@ -10094,7 +10094,6 @@ In POSIX mode (@pxref{Options}), @command{gawk} just 
returns zero
 when closing a pipe.
 @end sidebar
 @node Nonfatal
 @section Enabling Nonfatal Output
@@ -14609,6 +14608,14 @@ to test for these elements
 The following elements allow you to change @command{gawk}'s behavior:
 @table @code
address@hidden PROCINFO["NONFATAL"]
+If this element exists, then I/O errors for all output redirections become 
address@hidden PROCINFO["@var{output_name}", "NONFATAL"]
+Make output errors for @var{output_name} be nonfatal.
 @item PROCINFO["@var{command}", "pty"]
 For two-way communication to @var{command}, use a pseudo-tty instead
 of setting up a two-way pipe.

commit 1460f14c0fdd6e1485ba3a0bde14fe2e11fc1690
Author: Arnold D. Robbins <address@hidden>
Date:   Sun Dec 20 22:50:13 2015 +0200

    Minor code improvement for PROCINFO["NONFATAL"].

diff --git a/ChangeLog b/ChangeLog
index cc86c1c..6853d25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-20         Arnold D. Robbins     <address@hidden>
+       * io.c (nonfatal): New static constant string.
+       * is_non_fatal, is_non_fatal_redirect: Use it.
 2015-12-16         Arnold D. Robbins     <address@hidden>
        * io.c (two_way_open): Remove unneeded close of slave in the
diff --git a/io.c b/io.c
index 9385a1e..0d521ed 100644
--- a/io.c
+++ b/io.c
@@ -323,6 +323,8 @@ static Regexp *RS_re_yes_case;      /* regexp for RS when 
ignoring case */
 static Regexp *RS_re_no_case;  /* regexp for RS when not ignoring case */
 static Regexp *RS_regexp;
+static const char nonfatal[] = "NONFATAL";
 bool RS_is_null;
 extern NODE *ARGC_node;
@@ -1100,8 +1102,6 @@ getredirect(const char *str, int len)
 is_non_fatal_std(FILE *fp)
-       static const char nonfatal[] = "NONFATAL";
        if (in_PROCINFO(nonfatal, NULL, NULL))
                return true;
@@ -1121,8 +1121,8 @@ is_non_fatal_std(FILE *fp)
 is_non_fatal_redirect(const char *str)
-       return in_PROCINFO("NONFATAL", NULL, NULL) != NULL
-              || in_PROCINFO(str, "NONFATAL", NULL) != NULL;
+       return in_PROCINFO(nonfatal, NULL, NULL) != NULL
+              || in_PROCINFO(str, nonfatal, NULL) != NULL;
 /* close_one --- temporarily close an open file to re-use the fd */


Summary of changes:
 ChangeLog       |    5 +
 doc/ChangeLog   |    5 +
 doc/gawk.1      |   10 +-
 doc/   |  746 ++++++++++++++++++++++++++++---------------------------
 doc/gawk.texi   |    9 +-
 doc/ |    9 +-
 io.c            |    8 +-
 7 files changed, 416 insertions(+), 376 deletions(-)


reply via email to

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