[Top][All Lists]

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

[SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4051-g3bad839

From: Arnold Robbins
Subject: [SCM] gawk branch, gawk-5.1-stable, updated. gawk-4.1.0-4051-g3bad839
Date: Tue, 28 Jul 2020 13:45:52 -0400 (EDT)

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

The branch, gawk-5.1-stable has been updated
       via  3bad8398ede448edf2b9f9d6476bb60952845b83 (commit)
       via  7929ad9024cf2ede057f21e8c1cf58bba240c233 (commit)
       via  bd2fc195fd0e10d989b14c01e57baace5a344ad1 (commit)
      from  34c8c8d06b766703fdc86136a0656e4baeeb7b69 (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 3bad8398ede448edf2b9f9d6476bb60952845b83
Author: Arnold D. Robbins <>
Date:   Tue Jul 28 20:45:36 2020 +0300

    Update TODO.

diff --git a/TODO b/TODO
index f2b3e1b..9d01baf 100644
--- a/TODO
+++ b/TODO
@@ -1,4 +1,4 @@
-Mon Jun 29 11:16:12 IDT 2020
+Tue Jul 28 20:45:09 IDT 2020
 There were too many files tracking different thoughts and ideas for
@@ -33,6 +33,8 @@ Minor Cleanups and Code Improvements
        Message cleanup:
        * Messages are inconsistent about final punctuation (periods etc.)
+       Go through the FIXMEs in the manual and fix as many as possible.
 Minor New Features

commit 7929ad9024cf2ede057f21e8c1cf58bba240c233
Author: Arnold D. Robbins <>
Date:   Tue Jul 28 20:44:43 2020 +0300

    Change FIXME in the manual into a real cross reference.

diff --git a/doc/ChangeLog b/doc/ChangeLog
index f40c6b8..a2ce480 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,8 @@
+2020-07-28         Arnold D. Robbins     <>
+       * Change a FIXME into a real cross reference. Thanks
+       to Antonio Columbo for the report.
 2020-07-26         Arnold D. Robbins     <>
        * Document that get_mpfr and get_mpz are obsolete
diff --git a/doc/ b/doc/
index 4982501..31e209c 100644
--- a/doc/
+++ b/doc/
@@ -24750,7 +24750,8 @@ operations:
      treated as read-only.  However, unlike strings, memory for MPFR/GMP
      values allocated by an extension and passed into 'gawk' is _copied_
      by 'gawk'; the extension should then free the values itself to
-     avoid memory leaks.  This is discussed further in *FIXME*.
+     avoid memory leaks.  This is discussed further in *API Ownership of
+     MPFR and GMP Values*.
    * The API defines several simple 'struct's that map values as seen
      from 'awk'.  A value can be a 'double', a string, or an array (as
@@ -37847,146 +37848,146 @@ Ref: figure-call-new-function996119
 Node: Extension API Description998181
 Node: Extension API Functions Introduction999894
 Ref: table-api-std-headers1001730
-Node: General Data Types1005943
-Ref: General Data Types-Footnote-11014573
-Node: Memory Allocation Functions1014872
-Ref: Memory Allocation Functions-Footnote-11019373
-Node: Constructor Functions1019472
-Node: API Ownership of MPFR and GMP Values1022938
-Node: Registration Functions1024251
-Node: Extension Functions1024951
-Node: Exit Callback Functions1030273
-Node: Extension Version String1031523
-Node: Input Parsers1032186
-Node: Output Wrappers1044907
-Node: Two-way processors1049419
-Node: Printing Messages1051684
-Ref: Printing Messages-Footnote-11052855
-Node: Updating ERRNO1053008
-Node: Requesting Values1053747
-Ref: table-value-types-returned1054484
-Node: Accessing Parameters1055420
-Node: Symbol Table Access1056657
-Node: Symbol table by name1057169
-Ref: Symbol table by name-Footnote-11060193
-Node: Symbol table by cookie1060321
-Ref: Symbol table by cookie-Footnote-11064506
-Node: Cached values1064570
-Ref: Cached values-Footnote-11068106
-Node: Array Manipulation1068259
-Ref: Array Manipulation-Footnote-11069350
-Node: Array Data Types1069387
-Ref: Array Data Types-Footnote-11072045
-Node: Array Functions1072137
-Node: Flattening Arrays1076635
-Node: Creating Arrays1083611
-Node: Redirection API1088378
-Node: Extension API Variables1091211
-Node: Extension Versioning1091922
-Ref: gawk-api-version1092351
-Node: Extension GMP/MPFR Versioning1094082
-Node: Extension API Informational Variables1095710
-Node: Extension API Boilerplate1096783
-Node: Changes from API V11100757
-Node: Finding Extensions1102329
-Node: Extension Example1102888
-Node: Internal File Description1103686
-Node: Internal File Ops1107766
-Ref: Internal File Ops-Footnote-11119116
-Node: Using Internal File Ops1119256
-Ref: Using Internal File Ops-Footnote-11121639
-Node: Extension Samples1121913
-Node: Extension Sample File Functions1123442
-Node: Extension Sample Fnmatch1131091
-Node: Extension Sample Fork1132578
-Node: Extension Sample Inplace1133796
-Node: Extension Sample Ord1137421
-Node: Extension Sample Readdir1138257
-Ref: table-readdir-file-types1139146
-Node: Extension Sample Revout1140213
-Node: Extension Sample Rev2way1140802
-Node: Extension Sample Read write array1141542
-Node: Extension Sample Readfile1143484
-Node: Extension Sample Time1144579
-Node: Extension Sample API Tests1146331
-Node: gawkextlib1146823
-Node: Extension summary1149741
-Node: Extension Exercises1153443
-Node: Language History1154685
-Node: V7/SVR3.11156341
-Node: SVR41158493
-Node: POSIX1159927
-Node: BTL1161308
-Node: POSIX/GNU1162037
-Node: Feature History1167815
-Node: Common Extensions1184134
-Node: Ranges and Locales1185417
-Ref: Ranges and Locales-Footnote-11190033
-Ref: Ranges and Locales-Footnote-21190060
-Ref: Ranges and Locales-Footnote-31190295
-Node: Contributors1190518
-Node: History summary1196515
-Node: Installation1197895
-Node: Gawk Distribution1198839
-Node: Getting1199323
-Node: Extracting1200286
-Node: Distribution contents1201924
-Node: Unix Installation1208404
-Node: Quick Installation1209086
-Node: Shell Startup Files1211500
-Node: Additional Configuration Options1212589
-Node: Configuration Philosophy1214904
-Node: Non-Unix Installation1217273
-Node: PC Installation1217733
-Node: PC Binary Installation1218571
-Node: PC Compiling1219006
-Node: PC Using1220123
-Node: Cygwin1223676
-Node: MSYS1224900
-Node: VMS Installation1225502
-Node: VMS Compilation1226293
-Ref: VMS Compilation-Footnote-11227522
-Node: VMS Dynamic Extensions1227580
-Node: VMS Installation Details1229265
-Node: VMS Running1231518
-Node: VMS GNV1235797
-Node: VMS Old Gawk1236532
-Node: Bugs1237003
-Node: Bug address1237666
-Node: Usenet1240648
-Node: Maintainers1241652
-Node: Other Versions1242837
-Node: Installation summary1249925
-Node: Notes1251134
-Node: Compatibility Mode1251928
-Node: Additions1252710
-Node: Accessing The Source1253635
-Node: Adding Code1255072
-Node: New Ports1261291
-Node: Derived Files1265666
-Ref: Derived Files-Footnote-11271326
-Ref: Derived Files-Footnote-21271361
-Ref: Derived Files-Footnote-31271959
-Node: Future Extensions1272073
-Node: Implementation Limitations1272731
-Node: Extension Design1273941
-Node: Old Extension Problems1275085
-Ref: Old Extension Problems-Footnote-11276603
-Node: Extension New Mechanism Goals1276660
-Ref: Extension New Mechanism Goals-Footnote-11280024
-Node: Extension Other Design Decisions1280213
-Node: Extension Future Growth1282326
-Node: Notes summary1282932
-Node: Basic Concepts1284090
-Node: Basic High Level1284771
-Ref: figure-general-flow1285053
-Ref: figure-process-flow1285738
-Ref: Basic High Level-Footnote-11289039
-Node: Basic Data Typing1289224
-Node: Glossary1292552
-Node: Copying1324437
-Node: GNU Free Documentation License1361980
-Node: Index1387100
+Node: General Data Types1005979
+Ref: General Data Types-Footnote-11014609
+Node: Memory Allocation Functions1014908
+Ref: Memory Allocation Functions-Footnote-11019409
+Node: Constructor Functions1019508
+Node: API Ownership of MPFR and GMP Values1022974
+Node: Registration Functions1024287
+Node: Extension Functions1024987
+Node: Exit Callback Functions1030309
+Node: Extension Version String1031559
+Node: Input Parsers1032222
+Node: Output Wrappers1044943
+Node: Two-way processors1049455
+Node: Printing Messages1051720
+Ref: Printing Messages-Footnote-11052891
+Node: Updating ERRNO1053044
+Node: Requesting Values1053783
+Ref: table-value-types-returned1054520
+Node: Accessing Parameters1055456
+Node: Symbol Table Access1056693
+Node: Symbol table by name1057205
+Ref: Symbol table by name-Footnote-11060229
+Node: Symbol table by cookie1060357
+Ref: Symbol table by cookie-Footnote-11064542
+Node: Cached values1064606
+Ref: Cached values-Footnote-11068142
+Node: Array Manipulation1068295
+Ref: Array Manipulation-Footnote-11069386
+Node: Array Data Types1069423
+Ref: Array Data Types-Footnote-11072081
+Node: Array Functions1072173
+Node: Flattening Arrays1076671
+Node: Creating Arrays1083647
+Node: Redirection API1088414
+Node: Extension API Variables1091247
+Node: Extension Versioning1091958
+Ref: gawk-api-version1092387
+Node: Extension GMP/MPFR Versioning1094118
+Node: Extension API Informational Variables1095746
+Node: Extension API Boilerplate1096819
+Node: Changes from API V11100793
+Node: Finding Extensions1102365
+Node: Extension Example1102924
+Node: Internal File Description1103722
+Node: Internal File Ops1107802
+Ref: Internal File Ops-Footnote-11119152
+Node: Using Internal File Ops1119292
+Ref: Using Internal File Ops-Footnote-11121675
+Node: Extension Samples1121949
+Node: Extension Sample File Functions1123478
+Node: Extension Sample Fnmatch1131127
+Node: Extension Sample Fork1132614
+Node: Extension Sample Inplace1133832
+Node: Extension Sample Ord1137457
+Node: Extension Sample Readdir1138293
+Ref: table-readdir-file-types1139182
+Node: Extension Sample Revout1140249
+Node: Extension Sample Rev2way1140838
+Node: Extension Sample Read write array1141578
+Node: Extension Sample Readfile1143520
+Node: Extension Sample Time1144615
+Node: Extension Sample API Tests1146367
+Node: gawkextlib1146859
+Node: Extension summary1149777
+Node: Extension Exercises1153479
+Node: Language History1154721
+Node: V7/SVR3.11156377
+Node: SVR41158529
+Node: POSIX1159963
+Node: BTL1161344
+Node: POSIX/GNU1162073
+Node: Feature History1167851
+Node: Common Extensions1184170
+Node: Ranges and Locales1185453
+Ref: Ranges and Locales-Footnote-11190069
+Ref: Ranges and Locales-Footnote-21190096
+Ref: Ranges and Locales-Footnote-31190331
+Node: Contributors1190554
+Node: History summary1196551
+Node: Installation1197931
+Node: Gawk Distribution1198875
+Node: Getting1199359
+Node: Extracting1200322
+Node: Distribution contents1201960
+Node: Unix Installation1208440
+Node: Quick Installation1209122
+Node: Shell Startup Files1211536
+Node: Additional Configuration Options1212625
+Node: Configuration Philosophy1214940
+Node: Non-Unix Installation1217309
+Node: PC Installation1217769
+Node: PC Binary Installation1218607
+Node: PC Compiling1219042
+Node: PC Using1220159
+Node: Cygwin1223712
+Node: MSYS1224936
+Node: VMS Installation1225538
+Node: VMS Compilation1226329
+Ref: VMS Compilation-Footnote-11227558
+Node: VMS Dynamic Extensions1227616
+Node: VMS Installation Details1229301
+Node: VMS Running1231554
+Node: VMS GNV1235833
+Node: VMS Old Gawk1236568
+Node: Bugs1237039
+Node: Bug address1237702
+Node: Usenet1240684
+Node: Maintainers1241688
+Node: Other Versions1242873
+Node: Installation summary1249961
+Node: Notes1251170
+Node: Compatibility Mode1251964
+Node: Additions1252746
+Node: Accessing The Source1253671
+Node: Adding Code1255108
+Node: New Ports1261327
+Node: Derived Files1265702
+Ref: Derived Files-Footnote-11271362
+Ref: Derived Files-Footnote-21271397
+Ref: Derived Files-Footnote-31271995
+Node: Future Extensions1272109
+Node: Implementation Limitations1272767
+Node: Extension Design1273977
+Node: Old Extension Problems1275121
+Ref: Old Extension Problems-Footnote-11276639
+Node: Extension New Mechanism Goals1276696
+Ref: Extension New Mechanism Goals-Footnote-11280060
+Node: Extension Other Design Decisions1280249
+Node: Extension Future Growth1282362
+Node: Notes summary1282968
+Node: Basic Concepts1284126
+Node: Basic High Level1284807
+Ref: figure-general-flow1285089
+Ref: figure-process-flow1285774
+Ref: Basic High Level-Footnote-11289075
+Node: Basic Data Typing1289260
+Node: Glossary1292588
+Node: Copying1324473
+Node: GNU Free Documentation License1362016
+Node: Index1387136
 End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index 6d7694a..874a464 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -34402,7 +34402,7 @@ should also be treated as read-only.  However, unlike 
 memory for MPFR/GMP values allocated by an extension and passed
 into @command{gawk} is @emph{copied} by @command{gawk}; the extension
 should then free the values itself to avoid memory leaks. This is
-discussed further in @strong{FIXME}.
+discussed further in @strong{API Ownership of MPFR and GMP Values}.
 The API defines several simple @code{struct}s that map values as seen
diff --git a/doc/ b/doc/
index e41fe93..9057e91 100644
--- a/doc/
+++ b/doc/
@@ -33373,7 +33373,7 @@ should also be treated as read-only.  However, unlike 
 memory for MPFR/GMP values allocated by an extension and passed
 into @command{gawk} is @emph{copied} by @command{gawk}; the extension
 should then free the values itself to avoid memory leaks. This is
-discussed further in @strong{FIXME}.
+discussed further in @strong{API Ownership of MPFR and GMP Values}.
 The API defines several simple @code{struct}s that map values as seen

commit bd2fc195fd0e10d989b14c01e57baace5a344ad1
Author: Arnold D. Robbins <>
Date:   Tue Jul 28 20:41:13 2020 +0300

    Fix a warning on tcc.

diff --git a/ChangeLog b/ChangeLog
index bcad5f8..df5db6f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2020-07-28         Arnold D. Robbins     <>
+       Eliminate 'iszero: redefined' warning from tcc.
+       * awk.h (is_zero): Renamed from `iszero'.
+       (boolval): Update usage.
+       * awkgram.y [GRAMMAR]: Ditto.
+       (negate_num): Ditto.
+       * debug.c (condition_triggered): Ditto.
+       * eval.c (set_LINT): Ditto.
 2020-07-26         Arnold D. Robbins     <>
        * awkgram.c, command.c: Regenerated with Bison 3.7.
diff --git a/awk.h b/awk.h
index ed6a6ee..3b688b0 100644
--- a/awk.h
+++ b/awk.h
@@ -1307,7 +1307,7 @@ DEREF(NODE *r)
 #define get_number_uj(n)       numtype_choose((n), mpfr_get_uj((n)->mpg_numbr, 
ROUND_MODE), (uintmax_t) mpz_get_d((n)->mpg_i), (uintmax_t) (n)->numbr)
-#define iszero(n)              numtype_choose((n), 
mpfr_zero_p((n)->mpg_numbr), (mpz_sgn((n)->mpg_i) == 0), ((n)->numbr == 0.0))
+#define is_zero(n)             numtype_choose((n), 
mpfr_zero_p((n)->mpg_numbr), (mpz_sgn((n)->mpg_i) == 0), ((n)->numbr == 0.0))
 #define IEEE_FMT(r, t)         (void) (do_ieee_fmt && format_ieee(r, t))
@@ -1325,7 +1325,7 @@ DEREF(NODE *r)
 #define is_mpg_number(n)       0
 #define is_mpg_float(n)                0
 #define is_mpg_integer(n)      0
-#define iszero(n)              ((n)->numbr == 0.0)
+#define is_zero(n)             ((n)->numbr == 0.0)
 #define var_uninitialized(n)   ((n)->var_value == Nnull_string)
@@ -1983,7 +1983,7 @@ boolval(NODE *t)
        (void) fixtype(t);
        if ((t->flags & NUMBER) != 0)
-               return ! iszero(t);
+               return ! is_zero(t);
        return (t->stlen > 0);
diff --git a/awkgram.c b/awkgram.c
index ed664c8..2e55534 100644
--- a/awkgram.c
+++ b/awkgram.c
@@ -3059,7 +3059,7 @@ regular_loop:
                        if (yyvsp[-1] != NULL) {
                                NODE *n = yyvsp[-1]->nexti->nexti->memory;
-                               if ((n->flags & (STRING|STRCUR)) != 0 || ! 
+                               if ((n->flags & (STRING|STRCUR)) != 0 || ! 
                                        goto regular_print;
/* Op_field_spec */
@@ -4901,7 +4901,7 @@ negate_num(NODE *n)
 #ifdef HAVE_MPFR
        if (is_mpg_integer(n)) {
-               if (! iszero(n)) {
+               if (! is_zero(n)) {
                        mpz_neg(n->mpg_i, n->mpg_i);
diff --git a/awkgram.y b/awkgram.y
index f78fe47..4017b9b 100644
--- a/awkgram.y
+++ b/awkgram.y
@@ -1154,7 +1154,7 @@ simple_stmt
                        if ($3 != NULL) {
                                NODE *n = $3->nexti->nexti->memory;
-                               if ((n->flags & (STRING|STRCUR)) != 0 || ! 
+                               if ((n->flags & (STRING|STRCUR)) != 0 || ! 
                                        goto regular_print;
                                bcfree($3->lasti);                      /* 
Op_field_spec */
@@ -2399,7 +2399,7 @@ negate_num(NODE *n)
 #ifdef HAVE_MPFR
        if (is_mpg_integer(n)) {
-               if (! iszero(n)) {
+               if (! is_zero(n)) {
                        mpz_neg(n->mpg_i, n->mpg_i);
diff --git a/debug.c b/debug.c
index 68740d6..343d2d0 100644
--- a/debug.c
+++ b/debug.c
@@ -1616,7 +1616,7 @@ condition_triggered(struct condition *cndn)
                return false;   /* not triggered */
-       di = ! iszero(r);
+       di = ! is_zero(r);
        return di;
diff --git a/eval.c b/eval.c
index a66eaf3..9b3342c 100644
--- a/eval.c
+++ b/eval.c
@@ -976,7 +976,7 @@ set_LINT()
        } else {
-               if (! iszero(n))
+               if (! is_zero(n))
                        do_flags |= DO_LINT_ALL;


Summary of changes:
 ChangeLog       |  11 +++
 TODO            |   4 +-
 awk.h           |   6 +-
 awkgram.c       |   4 +-
 awkgram.y       |   4 +-
 debug.c         |   2 +-
 doc/ChangeLog   |   5 +
 doc/   | 283 ++++++++++++++++++++++++++++----------------------------
 doc/gawk.texi   |   2 +-
 doc/ |   2 +-
 eval.c          |   2 +-
 11 files changed, 172 insertions(+), 153 deletions(-)


reply via email to

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