diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2018-01-25 19:47:26 +0200 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2018-01-25 19:47:26 +0200 |
commit | 6c93e97d0f76cb688543943f64f6154be3927de5 (patch) | |
tree | 14a8e0c6ea74b912ae9e284c61fe350ad6303b9d | |
parent | 65cb787de1bec838e1f5ba529656f9b0f4e23c37 (diff) | |
parent | eb3510d4e88710005ec1a9505755455523367682 (diff) | |
download | egawk-6c93e97d0f76cb688543943f64f6154be3927de5.tar.gz egawk-6c93e97d0f76cb688543943f64f6154be3927de5.tar.bz2 egawk-6c93e97d0f76cb688543943f64f6154be3927de5.zip |
Merge branch 'gawk-4.2-stable'
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | doc/ChangeLog | 7 | ||||
-rw-r--r-- | doc/gawk.info | 186 | ||||
-rw-r--r-- | doc/gawk.texi | 32 | ||||
-rw-r--r-- | doc/gawktexi.in | 32 | ||||
-rw-r--r-- | main.c | 3 | ||||
-rw-r--r-- | pc/ChangeLog | 5 | ||||
-rw-r--r-- | pc/Makefile.tst | 1 | ||||
-rw-r--r-- | test/ChangeLog | 5 | ||||
-rw-r--r-- | test/lintold.awk | 2 | ||||
-rwxr-xr-x[-rw-r--r--] | vms/ChangeLog | 5 | ||||
-rw-r--r-- | vms/vmstest.com | 30 |
13 files changed, 193 insertions, 127 deletions
@@ -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. @@ -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. @@ -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 |