aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArnold D. Robbins <arnold@skeeve.com>2018-01-25 19:48:11 +0200
committerArnold D. Robbins <arnold@skeeve.com>2018-01-25 19:48:11 +0200
commit271c0a2c9a4e3000684c2c61c926f2011aba6a2c (patch)
treecb33440a07f1058f8ed6d949131a95c5c0f42fe2
parent521679e82cba143a0ac852cc7a246dea4d19cc56 (diff)
parent6c93e97d0f76cb688543943f64f6154be3927de5 (diff)
downloadegawk-271c0a2c9a4e3000684c2c61c926f2011aba6a2c.tar.gz
egawk-271c0a2c9a4e3000684c2c61c926f2011aba6a2c.tar.bz2
egawk-271c0a2c9a4e3000684c2c61c926f2011aba6a2c.zip
Merge branch 'master' into feature/fix-comments
-rw-r--r--ChangeLog5
-rw-r--r--NEWS7
-rw-r--r--doc/ChangeLog7
-rw-r--r--doc/gawk.info186
-rw-r--r--doc/gawk.texi32
-rw-r--r--doc/gawktexi.in32
-rw-r--r--main.c3
-rw-r--r--pc/ChangeLog5
-rw-r--r--pc/Makefile.tst1
-rw-r--r--test/ChangeLog5
-rw-r--r--test/lintold.awk2
-rwxr-xr-x[-rw-r--r--]vms/ChangeLog5
-rw-r--r--vms/vmstest.com30
13 files changed, 193 insertions, 127 deletions
diff --git a/ChangeLog b/ChangeLog
index 5c3b25b9..947adb46 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2018-01-25 Arnold D. Robbins <arnold@skeeve.com>
+
+ * main.c (main): Add explanatory comment about O_APPEND stuff.
+ * NEWS: Updated.
+
2018-01-22 Arnold D. Robbins <arnold@skeeve.com>
Fix the inplace tests on *BSD systems.
diff --git a/NEWS b/NEWS
index 060cb33b..4fc03f4d 100644
--- a/NEWS
+++ b/NEWS
@@ -30,7 +30,12 @@ Changes from 4.2.0 to 4.2.1
4. extension/configure.ac has been improved considerably.
-5. A number of bugs, some of them quite significant, have been fixed.
+5. In MPFR mode, When ROUNDMODE changes, string values for numerically
+ type values will be redone.
+
+6. The various 'inplace' tests now pass on modern BSD systems.
+
+7. A number of bugs, some of them quite significant, have been fixed.
See the ChangeLog for details.
Changes from 4.1.4 to 4.2.0
diff --git a/doc/ChangeLog b/doc/ChangeLog
index fa829e3c..650931fe 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,10 @@
+2018-01-25 Arnold D. Robbins <arnold@skeeve.com>
+
+ * gawktexi.in (gawkextlib): Update discussion of gawkextlib.
+ Add not about json extension, and just present the list as
+ describing some of the extensions, since there are now too
+ many to try to keep up with all of them.
+
2018-01-15 Arnold D. Robbins <arnold@skeeve.com>
* gawktexi.in: Update gnu.org and fsf.org URLs to https. OK'd
diff --git a/doc/gawk.info b/doc/gawk.info
index d15ee481..33d4552a 100644
--- a/doc/gawk.info
+++ b/doc/gawk.info
@@ -27241,22 +27241,22 @@ provides a number of 'gawk' extensions, including one for processing XML
files. This is the evolution of the original 'xgawk' (XML 'gawk')
project.
- As of this writing, there are seven extensions:
-
- * 'errno' extension
-
- * GD graphics library extension
-
- * MPFR library extension (this provides access to a number of MPFR
- functions that 'gawk''s native MPFR support does not)
+ There are a number of extensions. Some of the more interesting ones
+are:
- * PDF extension
+ * 'abort' extension. It allows you to exit immediately from your
+ 'awk' program without running the 'END' rules.
- * PostgreSQL extension
+ * 'json' extension. This serializes a multidimensional array into a
+ JSON string, and can deserialize a JSON string into a 'gawk' array.
+ This extension is interesting since it is written in C++ instead of
+ C.
- * Redis extension
+ * MPFR library extension. This provides access to a number of MPFR
+ functions that 'gawk''s native MPFR support does not.
- * Select extension
+ * Select extension. It provides functionality based on the
+ 'select()' system call.
* XML parser extension, using the Expat
(https://expat.sourceforge.net) XML parsing library
@@ -27267,6 +27267,9 @@ command is as follows:
git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code
+ You will need to have the RapidJson (http://www.rapidjson.org) JSON
+parser library installed in order to build and use the 'json' extension.
+
You will need to have the Expat (https://expat.sourceforge.net) XML
parser library installed in order to build and use the XML extension.
@@ -34117,7 +34120,7 @@ Index
(line 100)
* exp: Numeric Functions. (line 19)
* expand utility: Very Simple. (line 73)
-* Expat XML parser library: gawkextlib. (line 37)
+* Expat XML parser library: gawkextlib. (line 40)
* exponent: Numeric Functions. (line 19)
* expressions: Expressions. (line 6)
* expressions, as patterns: Expression Patterns. (line 6)
@@ -35313,6 +35316,7 @@ Index
* Rankin, Pat: Acknowledgments. (line 60)
* Rankin, Pat <1>: Assignment Ops. (line 99)
* Rankin, Pat <2>: Contributors. (line 38)
+* RapidJson JSON parser library: gawkextlib. (line 37)
* reada() extension function: Extension Sample Read write array.
(line 18)
* readable data files, checking: File Checking. (line 6)
@@ -36472,83 +36476,83 @@ Node: Extension Sample Readfile1100535
Node: Extension Sample Time1101630
Node: Extension Sample API Tests1102978
Node: gawkextlib1103470
-Node: Extension summary1105926
-Node: Extension Exercises1109628
-Node: Language History1111126
-Node: V7/SVR3.11112782
-Node: SVR41114934
-Node: POSIX1116368
-Node: BTL1117748
-Node: POSIX/GNU1118477
-Node: Feature History1124255
-Node: Common Extensions1140114
-Node: Ranges and Locales1141397
-Ref: Ranges and Locales-Footnote-11146013
-Ref: Ranges and Locales-Footnote-21146040
-Ref: Ranges and Locales-Footnote-31146275
-Node: Contributors1146496
-Node: History summary1152441
-Node: Installation1153821
-Node: Gawk Distribution1154765
-Node: Getting1155249
-Node: Extracting1156212
-Node: Distribution contents1157850
-Node: Unix Installation1164330
-Node: Quick Installation1165012
-Node: Shell Startup Files1167426
-Node: Additional Configuration Options1168515
-Node: Configuration Philosophy1170680
-Node: Non-Unix Installation1173049
-Node: PC Installation1173509
-Node: PC Binary Installation1174347
-Node: PC Compiling1174782
-Node: PC Using1175899
-Node: Cygwin1178944
-Node: MSYS1179714
-Node: VMS Installation1180215
-Node: VMS Compilation1181006
-Ref: VMS Compilation-Footnote-11182235
-Node: VMS Dynamic Extensions1182293
-Node: VMS Installation Details1183978
-Node: VMS Running1186231
-Node: VMS GNV1190510
-Node: VMS Old Gawk1191245
-Node: Bugs1191716
-Node: Bug address1192379
-Node: Usenet1195171
-Node: Maintainers1195948
-Node: Other Versions1197209
-Node: Installation summary1203971
-Node: Notes1205173
-Node: Compatibility Mode1206038
-Node: Additions1206820
-Node: Accessing The Source1207745
-Node: Adding Code1209182
-Node: New Ports1215401
-Node: Derived Files1219889
-Ref: Derived Files-Footnote-11225535
-Ref: Derived Files-Footnote-21225570
-Ref: Derived Files-Footnote-31226168
-Node: Future Extensions1226282
-Node: Implementation Limitations1226940
-Node: Extension Design1228123
-Node: Old Extension Problems1229277
-Ref: Old Extension Problems-Footnote-11230795
-Node: Extension New Mechanism Goals1230852
-Ref: Extension New Mechanism Goals-Footnote-11234216
-Node: Extension Other Design Decisions1234405
-Node: Extension Future Growth1236518
-Node: Old Extension Mechanism1237354
-Node: Notes summary1239117
-Node: Basic Concepts1240299
-Node: Basic High Level1240980
-Ref: figure-general-flow1241262
-Ref: figure-process-flow1241947
-Ref: Basic High Level-Footnote-11245248
-Node: Basic Data Typing1245433
-Node: Glossary1248761
-Node: Copying1280599
-Node: GNU Free Documentation License1318142
-Node: Index1343262
+Node: Extension summary1106388
+Node: Extension Exercises1110090
+Node: Language History1111588
+Node: V7/SVR3.11113244
+Node: SVR41115396
+Node: POSIX1116830
+Node: BTL1118210
+Node: POSIX/GNU1118939
+Node: Feature History1124717
+Node: Common Extensions1140576
+Node: Ranges and Locales1141859
+Ref: Ranges and Locales-Footnote-11146475
+Ref: Ranges and Locales-Footnote-21146502
+Ref: Ranges and Locales-Footnote-31146737
+Node: Contributors1146958
+Node: History summary1152903
+Node: Installation1154283
+Node: Gawk Distribution1155227
+Node: Getting1155711
+Node: Extracting1156674
+Node: Distribution contents1158312
+Node: Unix Installation1164792
+Node: Quick Installation1165474
+Node: Shell Startup Files1167888
+Node: Additional Configuration Options1168977
+Node: Configuration Philosophy1171142
+Node: Non-Unix Installation1173511
+Node: PC Installation1173971
+Node: PC Binary Installation1174809
+Node: PC Compiling1175244
+Node: PC Using1176361
+Node: Cygwin1179406
+Node: MSYS1180176
+Node: VMS Installation1180677
+Node: VMS Compilation1181468
+Ref: VMS Compilation-Footnote-11182697
+Node: VMS Dynamic Extensions1182755
+Node: VMS Installation Details1184440
+Node: VMS Running1186693
+Node: VMS GNV1190972
+Node: VMS Old Gawk1191707
+Node: Bugs1192178
+Node: Bug address1192841
+Node: Usenet1195633
+Node: Maintainers1196410
+Node: Other Versions1197671
+Node: Installation summary1204433
+Node: Notes1205635
+Node: Compatibility Mode1206500
+Node: Additions1207282
+Node: Accessing The Source1208207
+Node: Adding Code1209644
+Node: New Ports1215863
+Node: Derived Files1220351
+Ref: Derived Files-Footnote-11225997
+Ref: Derived Files-Footnote-21226032
+Ref: Derived Files-Footnote-31226630
+Node: Future Extensions1226744
+Node: Implementation Limitations1227402
+Node: Extension Design1228585
+Node: Old Extension Problems1229739
+Ref: Old Extension Problems-Footnote-11231257
+Node: Extension New Mechanism Goals1231314
+Ref: Extension New Mechanism Goals-Footnote-11234678
+Node: Extension Other Design Decisions1234867
+Node: Extension Future Growth1236980
+Node: Old Extension Mechanism1237816
+Node: Notes summary1239579
+Node: Basic Concepts1240761
+Node: Basic High Level1241442
+Ref: figure-general-flow1241724
+Ref: figure-process-flow1242409
+Ref: Basic High Level-Footnote-11245710
+Node: Basic Data Typing1245895
+Node: Glossary1249223
+Node: Copying1281061
+Node: GNU Free Documentation License1318604
+Node: Index1343724

End Tag Table
diff --git a/doc/gawk.texi b/doc/gawk.texi
index e6817caa..e46a12c1 100644
--- a/doc/gawk.texi
+++ b/doc/gawk.texi
@@ -37003,31 +37003,27 @@ project provides a number of @command{gawk} extensions, including one for
processing XML files. This is the evolution of the original @command{xgawk}
(XML @command{gawk}) project.
-As of this writing, there are seven extensions:
+There are a number of extensions. Some of the more interesting ones are:
@itemize @value{BULLET}
@item
-@code{errno} extension
+@code{abort} extension. It allows you to exit immediately from your
+@command{awk} program without running the @code{END} rules.
@item
-GD graphics library extension
+@code{json} extension.
+This serializes a multidimensional array into a JSON string, and
+can deserialize a JSON string into a @command{gawk} array.
+This extension is interesting since it is written in C++ instead of C.
@item
-MPFR library extension
-(this provides access to a number of MPFR functions that @command{gawk}'s
-native MPFR support does not)
+MPFR library extension.
+This provides access to a number of MPFR functions that @command{gawk}'s
+native MPFR support does not.
@item
-PDF extension
-
-@item
-PostgreSQL extension
-
-@item
-Redis extension
-
-@item
-Select extension
+Select extension. It provides functionality based on the
+@code{select()} system call.
@item
XML parser extension, using the @uref{https://expat.sourceforge.net, Expat}
@@ -37043,6 +37039,10 @@ code control system. The command is as follows:
git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code
@end example
+@cindex RapidJson JSON parser library
+You will need to have the @uref{http://www.rapidjson.org, RapidJson}
+JSON parser library installed in order to build and use the @code{json} extension.
+
@cindex Expat XML parser library
You will need to have the @uref{https://expat.sourceforge.net, Expat}
XML parser library installed in order to build and use the XML extension.
diff --git a/doc/gawktexi.in b/doc/gawktexi.in
index e98e6611..0d16818c 100644
--- a/doc/gawktexi.in
+++ b/doc/gawktexi.in
@@ -35977,31 +35977,27 @@ project provides a number of @command{gawk} extensions, including one for
processing XML files. This is the evolution of the original @command{xgawk}
(XML @command{gawk}) project.
-As of this writing, there are seven extensions:
+There are a number of extensions. Some of the more interesting ones are:
@itemize @value{BULLET}
@item
-@code{errno} extension
+@code{abort} extension. It allows you to exit immediately from your
+@command{awk} program without running the @code{END} rules.
@item
-GD graphics library extension
+@code{json} extension.
+This serializes a multidimensional array into a JSON string, and
+can deserialize a JSON string into a @command{gawk} array.
+This extension is interesting since it is written in C++ instead of C.
@item
-MPFR library extension
-(this provides access to a number of MPFR functions that @command{gawk}'s
-native MPFR support does not)
+MPFR library extension.
+This provides access to a number of MPFR functions that @command{gawk}'s
+native MPFR support does not.
@item
-PDF extension
-
-@item
-PostgreSQL extension
-
-@item
-Redis extension
-
-@item
-Select extension
+Select extension. It provides functionality based on the
+@code{select()} system call.
@item
XML parser extension, using the @uref{https://expat.sourceforge.net, Expat}
@@ -36017,6 +36013,10 @@ code control system. The command is as follows:
git clone git://git.code.sf.net/p/gawkextlib/code gawkextlib-code
@end example
+@cindex RapidJson JSON parser library
+You will need to have the @uref{http://www.rapidjson.org, RapidJson}
+JSON parser library installed in order to build and use the @code{json} extension.
+
@cindex Expat XML parser library
You will need to have the @uref{https://expat.sourceforge.net, Expat}
XML parser library installed in order to build and use the XML extension.
diff --git a/main.c b/main.c
index 79782a81..2860d246 100644
--- a/main.c
+++ b/main.c
@@ -247,6 +247,9 @@ main(int argc, char **argv)
locale_dir = cp;
#if defined(F_GETFL) && defined(O_APPEND)
+ // 1/2018: This is needed on modern BSD systems so that the
+ // inplace tests pass. I think it's a bug in those kernels
+ // but let's just work around it anyway.
int flags = fcntl(fileno(stderr), F_GETFL, NULL);
if (flags >= 0 && (flags & O_APPEND) == 0) {
flags |= O_APPEND;
diff --git a/pc/ChangeLog b/pc/ChangeLog
index c1fa0924..b8a34dfa 100644
--- a/pc/ChangeLog
+++ b/pc/ChangeLog
@@ -1,3 +1,8 @@
+2018-01-22 Juan Manuel Guerrero <juan.guerrero@gmx.de>
+
+ * pc/Makefile.tst (nlstringtest): Update the expected failure
+ messages for DJGPP.
+
2018-01-21 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.tst (pty2): Sync against test/Makefile.in.
diff --git a/pc/Makefile.tst b/pc/Makefile.tst
index c6597b6b..0ad89736 100644
--- a/pc/Makefile.tst
+++ b/pc/Makefile.tst
@@ -1999,6 +1999,7 @@ nlstrina:
nlstringtest::
@echo $@
+ @echo Expect nlstringtest to fail with DJGPP.
@[ -z "$$GAWKLOCALE" ] && GAWKLOCALE=fr_FR.UTF-8 LANGUAGE= ; \
AWKPATH="$(srcdir)" $(AWK) -f $@.awk "$(srcdir)" >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
diff --git a/test/ChangeLog b/test/ChangeLog
index 04e7f121..50258486 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2018-01-24 John E. Malmberg <wb8tyw@qsl.net>
+
+ * lintold.awk: Minor change to allow test to run on
+ 32 bit VAX/VMS with out a floating overflow.
+
2018-01-18 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (pty2): Instead of sed, use simpler awk goop
diff --git a/test/lintold.awk b/test/lintold.awk
index 698187a3..d312fc66 100644
--- a/test/lintold.awk
+++ b/test/lintold.awk
@@ -8,7 +8,7 @@ BEGIN {
if (2 in a)
a[2] **= 2;
if ((2,3) in a)
- a[2,3] ^= 2 ** 3 ^ 5;
+ a[2,3] ^= 2 ** 3 ^ 4;
}
BEGIN {
FS = "ab"
diff --git a/vms/ChangeLog b/vms/ChangeLog
index 27958653..9c043b4a 100644..100755
--- a/vms/ChangeLog
+++ b/vms/ChangeLog
@@ -1,3 +1,8 @@
+2018-01-22 John E. Malmberg <wb8tyw@qsl.net>
+
+ * vmstest.com: New tests: isarrayunset, nlstringtest
+ Fix lintold test not to stop test run on failure.
+
2018-01-08 John E. Malmberg <wb8tyw@qsl.net>
* vmstest.com: New tests: numstr1, setrec0, setrec1.
diff --git a/vms/vmstest.com b/vms/vmstest.com
index 9f50b2ba..eb95f392 100644
--- a/vms/vmstest.com
+++ b/vms/vmstest.com
@@ -74,6 +74,8 @@ $! charset: mbprintf5
$!
$! 4.2+: New tests
$! basic: numstr1, setrec0, setrec1
+$! extra: isarrayunset, nlstringtest
+$!
$!
$ echo = "write sys$output"
$ cmp = "diff/Output=_NL:/Maximum=1"
@@ -329,7 +331,8 @@ $ gosub list_of_tests
$ return
$
$extra: echo "extra..."
-$ list = "regtest inftest inet ignrcas3"
+$ list = "regtest inftest inet ignrcas3 isarrayunset" -
+ + " nlstringtest"
$ gosub list_of_tests
$ return
$
@@ -687,6 +690,9 @@ $zero2:
$zeroflag:
$ test_class = "basic"
$ goto common_without_test_in
+$isarrayunset:
+$ test_class = "extra"
+$ goto common_without_test_in
$!
$aarray1:
$aasort:
@@ -1736,7 +1742,7 @@ $ if f$search("sys$i18n_locale:el_gr_iso8859-7.locale") .nes. ""
$ then
$ define/user LC_ALL "el_gr_iso8859-7"
$ define/user GAWKLOCALE "el_gr_iso8859-7"
- AWKPATH_srcdir
+$ AWKPATH_srcdir
$! goto common_without_test_in
$ skip_reason = "VMS EL_GR_ISO8859-7 locale fails test"
$ gosub junit_report_skip
@@ -1746,6 +1752,24 @@ $ gosub junit_report_skip
$ endif
$ return
$!
+$nlstringtest: echo "''test'"
+$ test_class = "extra"
+$ ! This locale does not seem to be available from the HPE I18N kit.
+$ ! So this test has not been run on VMS.
+$ if f$search("sys$i18n_locale:fr_fr_utf-8.locale") .nes. ""
+$ then
+$ define/user LC_ALL "fr_fr_utf-8"
+$ define/user GAWKLOCALE "fr_fr_utf-8"
+$ AWKPATH_srcdir
+$! goto common_without_test_in
+$ skip_reason = "VMS FR_FR_UTF-8 locale test not validated."
+$ gosub junit_report_skip
+$ else
+$ skip_reason = "FR_FR_UTF-8 locale not installed"
+$ gosub junit_report_skip
+$ endif
+$ return
+$!
$childin: echo "''test'"
$ test_class = "basic"
$ cat = "type sys$input"
@@ -2258,7 +2282,9 @@ $
$lintold: echo "lintold"
$ test_class = "gawk_ext"
$ AWKPATH_srcdir
+$ set noOn
$ gawk -f lintold.awk --lint-old <lintold.in >_lintold.tmp 2>&1
+$ set on
$ cmp lintold.ok sys$disk:[]_lintold.tmp
$ if $status
$ then