diff --git a/.gitignore b/.gitignore index c9fb418..844ef27 100644 --- a/.gitignore +++ b/.gitignore @@ -3,3 +3,4 @@ /gawk-4.2.0.tar.xz /gawk-4.2.1.tar.xz /gawk-5.0.1.tar.xz +/gawk-5.1.0.tar.xz diff --git a/gawk-4.2.1-200-fix-build-for-f29.patch b/gawk-4.2.1-200-fix-build-for-f29.patch deleted file mode 100644 index 5e63ede..0000000 --- a/gawk-4.2.1-200-fix-build-for-f29.patch +++ /dev/null @@ -1,26 +0,0 @@ -From fad95bcf352bd77e5ed42aaf20eb0e24b761c62f Mon Sep 17 00:00:00 2001 -From: rpm-build -Date: Thu, 21 Jun 2018 15:51:13 +0200 -Subject: [PATCH] configure.ac: fix build for F29+, where we use the - 'aclocal-1.16' now - ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index a4817ee..736b38b 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -40,7 +40,7 @@ then - fi - - AC_PREREQ([2.69]) --AM_INIT_AUTOMAKE([1.15 dist-xz dist-lzip]) -+AM_INIT_AUTOMAKE([1.16 dist-xz dist-lzip]) - - AC_CONFIG_MACRO_DIR([m4]) - --- -2.14.4 - diff --git a/gawk-api-version.patch b/gawk-api-version.patch deleted file mode 100644 index 9e54e3e..0000000 --- a/gawk-api-version.patch +++ /dev/null @@ -1,53 +0,0 @@ -From ae1139c068702ede2d35002bdd14199a2c9eb4d8 Mon Sep 17 00:00:00 2001 -From: "Andrew J. Schorr" -Date: Mon, 8 Jul 2019 09:25:01 -0400 -Subject: [PATCH] Bump gawk_api_major_version due to incompatible namespace - changes. - ---- - ChangeLog | 8 ++++++++ - gawkapi.h | 5 ++++- - 2 files changed, 12 insertions(+), 1 deletion(-) - -diff --git a/ChangeLog b/ChangeLog -index 31bb6a5..9dda704 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,11 @@ -+2019-07-08 Andrew J. Schorr -+ -+ * gawkapi.h (gawk_api_major_version): Bump from 2 to 3 because the -+ namespace changes altered the function signatures in gawk_api_t. -+ And add a comment at the top of the structure with a reminder that -+ the version number should be bumped whenever the struct is altered -+ in any way. -+ - 2019-06-26 Arnold D. Robbins - - * symbol.c (install): Strip off any leading `awk::' before -diff --git a/gawkapi.h b/gawkapi.h -index 3db8990..9d9cf87 100644 ---- a/gawkapi.h -+++ b/gawkapi.h -@@ -296,7 +296,7 @@ typedef struct awk_two_way_processor { - awk_const struct awk_two_way_processor *awk_const next; /* for use by gawk */ - } awk_two_way_processor_t; - --#define gawk_api_major_version 2 -+#define gawk_api_major_version 3 - #define gawk_api_minor_version 0 - - /* Current version of the API. */ -@@ -458,6 +458,9 @@ typedef void *awk_ext_id_t; /* opaque type for extension id */ - /* - * The API into gawk. Lots of functions here. We hope that they are - * logically organized. -+ * -+ * !!! If you make any changes to this structure, please remember to bump !!! -+ * !!! gawk_api_major_version and/or gawk_api_minor_version. !!! - */ - typedef struct gawk_api { - /* First, data fields. */ --- -1.8.3.1 - diff --git a/gawk-inplace-namespace-part1.patch b/gawk-inplace-namespace-part1.patch deleted file mode 100644 index a4ee780..0000000 --- a/gawk-inplace-namespace-part1.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 8f2b0b9128f4d2dc50ae52c304237c8e9d4b85f9 Mon Sep 17 00:00:00 2001 -From: "Arnold D. Robbins" -Date: Wed, 26 Jun 2019 21:34:29 +0300 -Subject: [PATCH 1/3] Fix a problem when using awk::var kinds of names. - ---- - ChangeLog | 6 ++++++ - symbol.c | 5 ++++- - test/ChangeLog | 7 +++++++ - test/Makefile.am | 33 +++++++++++++++++++++++++++++++++ - test/Makefile.in | 33 +++++++++++++++++++++++++++++++++ - 5 files changed, 83 insertions(+), 1 deletion(-) - -diff --git a/ChangeLog b/ChangeLog -index 44178ffc..3aa5b12e 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,9 @@ -+2019-06-26 Arnold D. Robbins -+ -+ * symbol.c (install): Strip off any leading `awk::' before -+ installing a symbol. Thanks to Andrew Schorr for the -+ report. -+ - 2019-06-18 Arnold D. Robbins - - * 5.0.1: Release tar ball made. -diff --git a/symbol.c b/symbol.c -index fe928112..e2e07c30 100644 ---- a/symbol.c -+++ b/symbol.c -@@ -306,7 +306,10 @@ install(const char *name, NODE *parm, NODETYPE type) - NODE *n_name; - NODE *prev; - -- n_name = make_string(name, strlen(name)); -+ if (strncmp(name, "awk::", 5) == 0) -+ n_name = make_string(name + 5, strlen(name) - 5); -+ else -+ n_name = make_string(name, strlen(name)); - - table = symbol_table; - -diff --git a/test/ChangeLog b/test/ChangeLog -index a53c2d13..99391b0d 100644 ---- a/test/ChangeLog -+++ b/test/ChangeLog -@@ -1,3 +1,10 @@ -+2019-06-26 Arnold D. Robbins -+ -+ * Makefile.am (EXTRA_DIST): New tests, nsawk1[abc] and nsawk2[ab]. -+ * nsawk1.awk, nsawk1a.ok, nsawk1b.ok, nsawk1c.ok, nsawk2.awk, -+ nsawk2a.ok, nsawk2b.ok: New files. -+ Tests courtesy of Michal Jaegermann. -+ - 2019-06-18 Arnold D. Robbins - - * 5.0.1: Release tar ball made. -diff --git a/test/Makefile.am b/test/Makefile.am -index 58ee1304..d7f6e016 100644 ---- a/test/Makefile.am -+++ b/test/Makefile.am -@@ -782,6 +782,13 @@ EXTRA_DIST = \ - noparms.ok \ - nors.in \ - nors.ok \ -+ nsawk1.awk \ -+ nsawk1a.ok \ -+ nsawk1b.ok \ -+ nsawk1c.ok \ -+ nsawk2.awk \ -+ nsawk2a.ok \ -+ nsawk2b.ok \ - nsbad.awk \ - nsbad.ok \ - nsbad_cmd.ok \ -@@ -1353,6 +1360,7 @@ GAWK_EXT_TESTS = \ - lint lintexp lintindex lintint lintlength lintold lintset lintwarn \ - manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ - nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ -+ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ - nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ - patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge \ - procinfs profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ -@@ -2042,6 +2050,31 @@ readfile2:: - @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.awk "$(srcdir)"/readdir.awk > _$@ || echo EXIT CODE: $$? >>_$@ - @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ - -+nsawk1a:: -+ @echo $@ -+ @$(AWK) -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk1b:: -+ @echo $@ -+ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk1c:: -+ @echo $@ -+ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk2a:: -+ @echo $@ -+ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk2b:: -+ @echo $@ -+ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ - include2:: - @echo $@ - @AWKPATH="$(srcdir)" $(AWK) --include inclib 'BEGIN {print sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ -diff --git a/test/Makefile.in b/test/Makefile.in -index ce5b2e26..53827516 100644 ---- a/test/Makefile.in -+++ b/test/Makefile.in -@@ -1041,6 +1041,13 @@ EXTRA_DIST = \ - noparms.ok \ - nors.in \ - nors.ok \ -+ nsawk1.awk \ -+ nsawk1a.ok \ -+ nsawk1b.ok \ -+ nsawk1c.ok \ -+ nsawk2.awk \ -+ nsawk2a.ok \ -+ nsawk2b.ok \ - nsbad.awk \ - nsbad.ok \ - nsbad_cmd.ok \ -@@ -1612,6 +1619,7 @@ GAWK_EXT_TESTS = \ - lint lintexp lintindex lintint lintlength lintold lintset lintwarn \ - manyfiles match1 match2 match3 mbstr1 mbstr2 mixed1 mktime muldimposix \ - nastyparm negtime next nondec nondec2 nonfatal1 nonfatal2 nonfatal3 \ -+ nsawk1a nsawk1b nsawk1c nsawk2a nsawk2b \ - nsbad nsbad_cmd nsforloop nsfuncrecurse nsindirect1 nsindirect2 nsprof1 nsprof2 \ - patsplit posix printfbad1 printfbad2 printfbad3 printfbad4 printhuge \ - procinfs profile0 profile1 profile2 profile3 profile4 profile5 profile6 \ -@@ -2491,6 +2499,31 @@ readfile2:: - @$(AWK) -f "$(srcdir)"/$@.awk "$(srcdir)"/$@.awk "$(srcdir)"/readdir.awk > _$@ || echo EXIT CODE: $$? >>_$@ - @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ - -+nsawk1a:: -+ @echo $@ -+ @$(AWK) -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk1b:: -+ @echo $@ -+ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk1c:: -+ @echo $@ -+ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk1.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk2a:: -+ @echo $@ -+ @$(AWK) -v I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ -+nsawk2b:: -+ @echo $@ -+ @$(AWK) -v awk::I=fine -f "$(srcdir)"/nsawk2.awk > _$@ || echo EXIT CODE: $$? >>_$@ -+ @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@ -+ - include2:: - @echo $@ - @AWKPATH="$(srcdir)" $(AWK) --include inclib 'BEGIN {print sandwich("a", "b", "c")}' >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@ --- -2.22.0 - diff --git a/gawk-inplace-namespace-part2.patch b/gawk-inplace-namespace-part2.patch deleted file mode 100644 index 8e269de..0000000 --- a/gawk-inplace-namespace-part2.patch +++ /dev/null @@ -1,70 +0,0 @@ -From 076eb06c0c714ca6ee95ca512d114bf9f41038e0 Mon Sep 17 00:00:00 2001 -From: "Arnold D. Robbins" -Date: Wed, 26 Jun 2019 21:40:31 +0300 -Subject: [PATCH 2/3] Add tests for previous fix to namespaces. - ---- - test/nsawk1.awk | 5 +++++ - test/nsawk1a.ok | 0 - test/nsawk1b.ok | 0 - test/nsawk1c.ok | 0 - test/nsawk2.awk | 5 +++++ - test/nsawk2a.ok | 1 + - test/nsawk2b.ok | 1 + - 7 files changed, 12 insertions(+) - create mode 100644 test/nsawk1.awk - create mode 100644 test/nsawk1a.ok - create mode 100644 test/nsawk1b.ok - create mode 100644 test/nsawk1c.ok - create mode 100644 test/nsawk2.awk - create mode 100644 test/nsawk2a.ok - create mode 100644 test/nsawk2b.ok - -diff --git a/test/nsawk1.awk b/test/nsawk1.awk -new file mode 100644 -index 00000000..00715bc1 ---- /dev/null -+++ b/test/nsawk1.awk -@@ -0,0 +1,5 @@ -+# Used to cause internal error -+BEGIN { -+ x = awk::I -+ x = awk::I -+} -diff --git a/test/nsawk1a.ok b/test/nsawk1a.ok -new file mode 100644 -index 00000000..e69de29b -diff --git a/test/nsawk1b.ok b/test/nsawk1b.ok -new file mode 100644 -index 00000000..e69de29b -diff --git a/test/nsawk1c.ok b/test/nsawk1c.ok -new file mode 100644 -index 00000000..e69de29b -diff --git a/test/nsawk2.awk b/test/nsawk2.awk -new file mode 100644 -index 00000000..d275c121 ---- /dev/null -+++ b/test/nsawk2.awk -@@ -0,0 +1,5 @@ -+# Used to cause internal error -+BEGIN { -+ x = awk::I -+ print x -+} -diff --git a/test/nsawk2a.ok b/test/nsawk2a.ok -new file mode 100644 -index 00000000..86815ca7 ---- /dev/null -+++ b/test/nsawk2a.ok -@@ -0,0 +1 @@ -+fine -diff --git a/test/nsawk2b.ok b/test/nsawk2b.ok -new file mode 100644 -index 00000000..86815ca7 ---- /dev/null -+++ b/test/nsawk2b.ok -@@ -0,0 +1 @@ -+fine --- -2.22.0 - diff --git a/gawk-inplace-namespace-part3.patch b/gawk-inplace-namespace-part3.patch deleted file mode 100644 index 2045ff6..0000000 --- a/gawk-inplace-namespace-part3.patch +++ /dev/null @@ -1,384 +0,0 @@ -From 8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9 Mon Sep 17 00:00:00 2001 -From: "Arnold D. Robbins" -Date: Wed, 26 Jun 2019 21:44:37 +0300 -Subject: [PATCH 3/3] Add backwards compatibility to inplace extension, update - doc and tests. - ---- - awklib/eg/lib/inplace.awk | 18 ++-- - doc/ChangeLog | 5 + - doc/gawk.info | 189 +++++++++++++++++++------------------- - doc/gawk.texi | 18 ++-- - doc/gawktexi.in | 18 ++-- - extension/ChangeLog | 4 + - extension/inplace.3am | 24 +++-- - test/ChangeLog | 4 + - test/inplace1.ok | 2 +- - test/inplace2.ok | 2 +- - test/inplace3.ok | 4 +- - 11 files changed, 167 insertions(+), 121 deletions(-) - -diff --git a/awklib/eg/lib/inplace.awk b/awklib/eg/lib/inplace.awk -index 68dad92e..0d40d16e 100644 ---- a/awklib/eg/lib/inplace.awk -+++ b/awklib/eg/lib/inplace.awk -@@ -1,6 +1,6 @@ - # inplace --- load and invoke the inplace extension. - # --# Copyright (C) 2013, 2017 the Free Software Foundation, Inc. -+# Copyright (C) 2013, 2017, 2019 the Free Software Foundation, Inc. - # - # This file is part of GAWK, the GNU implementation of the - # AWK Programming Language. -@@ -25,16 +25,21 @@ - # Revised for namespaces - # Arnold Robbins, arnold@skeeve.com - # July 2017 -+# June 2019, add backwards compatibility - - @load "inplace" - - # Please set inplace::suffix to make a backup copy. For example, you may - # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. - -+# Before there were namespaces in gawk, this extension used -+# INPLACE_SUFFIX as the variable for making backup copies. We allow this -+# too, so that any code that used the previous version continues to work. -+ - # By default, each filename on the command line will be edited inplace. --# But you can selectively disable this by adding an inplace=0 argument -+# But you can selectively disable this by adding an inplace::enable=0 argument - # prior to files that you do not want to process this way. You can then --# reenable it later on the commandline by putting inplace=1 before files -+# reenable it later on the commandline by putting inplace::enable=1 before files - # that you wish to be subject to inplace editing. - - # N.B. We call inplace::end() in the BEGINFILE and END rules so that any -@@ -47,15 +52,16 @@ BEGIN { - } - - BEGINFILE { -+ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) - if (filename != "") -- end(filename, suffix) -+ end(filename, sfx) - if (enable) -- begin(filename = FILENAME, suffix) -+ begin(filename = FILENAME, sfx) - else - filename = "" - } - - END { - if (filename != "") -- end(filename, suffix) -+ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) - } -diff --git a/doc/ChangeLog b/doc/ChangeLog -index 5ea91aaf..6a1a5ae4 100644 ---- a/doc/ChangeLog -+++ b/doc/ChangeLog -@@ -1,3 +1,8 @@ -+2019-06-26 Arnold D. Robbins -+ -+ * gawktexi.in (Extension Sample Inplace): Fix backwards -+ compatibility. Thanks to Andrew Schorr for most of the change. -+ - 2019-06-18 Arnold D. Robbins - - * 5.0.1: Release tar ball made. -diff --git a/doc/gawk.info b/doc/gawk.info -index e5a52702..4e46df9e 100644 ---- a/doc/gawk.info -+++ b/doc/gawk.info -@@ -27693,10 +27693,14 @@ and functions in the 'inplace' namespace (*note Namespaces::): - # Please set inplace::suffix to make a backup copy. For example, you may - # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. - -+ # Before there were namespaces in gawk, this extension used -+ # INPLACE_SUFFIX as the variable for making backup copies. We allow this -+ # too, so that any code that used the previous version continues to work. -+ - # By default, each filename on the command line will be edited inplace. -- # But you can selectively disable this by adding an inplace=0 argument -+ # But you can selectively disable this by adding an inplace::enable=0 argument - # prior to files that you do not want to process this way. You can then -- # reenable it later on the commandline by putting inplace=1 before files -+ # reenable it later on the commandline by putting inplace::enable=1 before files - # that you wish to be subject to inplace editing. - - # N.B. We call inplace::end() in the BEGINFILE and END rules so that any -@@ -27709,17 +27713,18 @@ and functions in the 'inplace' namespace (*note Namespaces::): - } - - BEGINFILE { -+ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) - if (filename != "") -- end(filename, suffix) -+ end(filename, sfx) - if (enable) -- begin(filename = FILENAME, suffix) -+ begin(filename = FILENAME, sfx) - else - filename = "" - } - - END { - if (filename != "") -- end(filename, suffix) -+ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) - } - - For each regular file that is processed, the extension redirects -diff --git a/doc/gawk.texi b/doc/gawk.texi -index 25fb3486..94ff298f 100644 ---- a/doc/gawk.texi -+++ b/doc/gawk.texi -@@ -37601,7 +37601,7 @@ all the variables and functions in the @code{inplace} namespace - @ignore - @c file eg/lib/inplace.awk - # --# Copyright (C) 2013, 2017 the Free Software Foundation, Inc. -+# Copyright (C) 2013, 2017, 2019 the Free Software Foundation, Inc. - # - # This file is part of GAWK, the GNU implementation of the - # AWK Programming Language. -@@ -37626,6 +37626,7 @@ all the variables and functions in the @code{inplace} namespace - # Revised for namespaces - # Arnold Robbins, arnold@@skeeve.com - # July 2017 -+# June 2019, add backwards compatibility - @c endfile - @end ignore - @c file eg/lib/inplace.awk -@@ -37635,10 +37636,14 @@ all the variables and functions in the @code{inplace} namespace - # Please set inplace::suffix to make a backup copy. For example, you may - # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. - -+# Before there were namespaces in gawk, this extension used -+# INPLACE_SUFFIX as the variable for making backup copies. We allow this -+# too, so that any code that used the previous version continues to work. -+ - # By default, each filename on the command line will be edited inplace. --# But you can selectively disable this by adding an inplace=0 argument -+# But you can selectively disable this by adding an inplace::enable=0 argument - # prior to files that you do not want to process this way. You can then --# reenable it later on the commandline by putting inplace=1 before files -+# reenable it later on the commandline by putting inplace::enable=1 before files - # that you wish to be subject to inplace editing. - - # N.B. We call inplace::end() in the BEGINFILE and END rules so that any -@@ -37655,10 +37660,11 @@ BEGIN @{ - - @group - BEGINFILE @{ -+ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) - if (filename != "") -- end(filename, suffix) -+ end(filename, sfx) - if (enable) -- begin(filename = FILENAME, suffix) -+ begin(filename = FILENAME, sfx) - else - filename = "" - @} -@@ -37667,7 +37673,7 @@ BEGINFILE @{ - @group - END @{ - if (filename != "") -- end(filename, suffix) -+ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) - @} - @end group - @c endfile -diff --git a/doc/gawktexi.in b/doc/gawktexi.in -index c60b0238..55e485eb 100644 ---- a/doc/gawktexi.in -+++ b/doc/gawktexi.in -@@ -36574,7 +36574,7 @@ all the variables and functions in the @code{inplace} namespace - @ignore - @c file eg/lib/inplace.awk - # --# Copyright (C) 2013, 2017 the Free Software Foundation, Inc. -+# Copyright (C) 2013, 2017, 2019 the Free Software Foundation, Inc. - # - # This file is part of GAWK, the GNU implementation of the - # AWK Programming Language. -@@ -36599,6 +36599,7 @@ all the variables and functions in the @code{inplace} namespace - # Revised for namespaces - # Arnold Robbins, arnold@@skeeve.com - # July 2017 -+# June 2019, add backwards compatibility - @c endfile - @end ignore - @c file eg/lib/inplace.awk -@@ -36608,10 +36609,14 @@ all the variables and functions in the @code{inplace} namespace - # Please set inplace::suffix to make a backup copy. For example, you may - # want to set inplace::suffix to .bak on the command line or in a BEGIN rule. - -+# Before there were namespaces in gawk, this extension used -+# INPLACE_SUFFIX as the variable for making backup copies. We allow this -+# too, so that any code that used the previous version continues to work. -+ - # By default, each filename on the command line will be edited inplace. --# But you can selectively disable this by adding an inplace=0 argument -+# But you can selectively disable this by adding an inplace::enable=0 argument - # prior to files that you do not want to process this way. You can then --# reenable it later on the commandline by putting inplace=1 before files -+# reenable it later on the commandline by putting inplace::enable=1 before files - # that you wish to be subject to inplace editing. - - # N.B. We call inplace::end() in the BEGINFILE and END rules so that any -@@ -36628,10 +36633,11 @@ BEGIN @{ - - @group - BEGINFILE @{ -+ sfx = (suffix ? suffix : awk::INPLACE_SUFFIX) - if (filename != "") -- end(filename, suffix) -+ end(filename, sfx) - if (enable) -- begin(filename = FILENAME, suffix) -+ begin(filename = FILENAME, sfx) - else - filename = "" - @} -@@ -36640,7 +36646,7 @@ BEGINFILE @{ - @group - END @{ - if (filename != "") -- end(filename, suffix) -+ end(filename, (suffix ? suffix : awk::INPLACE_SUFFIX)) - @} - @end group - @c endfile -diff --git a/extension/ChangeLog b/extension/ChangeLog -index 3d83f77e..22d73d09 100644 ---- a/extension/ChangeLog -+++ b/extension/ChangeLog -@@ -1,3 +1,7 @@ -+2019-06-26 Arnold D. Robbins -+ -+ * inplace.3am: Update to match current code's behavior. -+ - 2019-06-18 Arnold D. Robbins - - * 5.0.1: Release tar ball made. -diff --git a/extension/inplace.3am b/extension/inplace.3am -index 48fac54a..66047442 100644 ---- a/extension/inplace.3am -+++ b/extension/inplace.3am -@@ -1,4 +1,4 @@ --.TH INPLACE 3am "Feb 02 2018" "Free Software Foundation" "GNU Awk Extension Modules" -+.TH INPLACE 3am "Jun 26 2018" "Free Software Foundation" "GNU Awk Extension Modules" - .SH NAME - inplace \- emulate sed/perl/ruby in-place editing - .SH SYNOPSIS -@@ -24,7 +24,7 @@ By default, each named file on the command line is - replaced with a new file of the same name whose contents - are the results of running the AWK program. - If the user supplies an AWK variable named --.B INPLACE_SUFFIX -+.B inplace::suffix - in a - .B BEGIN - rule or on the command line, then the -@@ -33,17 +33,27 @@ extension concatenates that suffix onto the original - filename and uses the result as a filename for renaming - the original. - .PP -+For backwards compatibility, the variable will also check -+.B INPLACE_SUFFIX -+(in the -+.B awk -+namespace) for the suffix to use if -+.B inplace::suffix -+is not set. -+.PP - One can disable inplace editing selectively by placing --.B inplace=0 -+.B inplace::enable=0 - on the command line prior to files that should be processed normally. - One can reenable inplace editing by placing --.B inplace=1 -+.B inplace::enable=1 - prior to files that should be subject to inplace editing. - .\" .SH NOTES - .SH BUGS --While the extension does attempt to preserve ownership and permissions, it makes no attempt to copy the ACLs from the original file. -+While the extension does attempt to preserve ownership and permissions, -+it makes no attempt to copy the ACLs from the original file. - .PP --If the program dies prematurely, as might happen if an unhandled signal is received, a temporary file may be left behind. -+If the program dies prematurely, as might happen if an unhandled signal -+is received, a temporary file may be left behind. - .SH EXAMPLE - .ft CW - .nf -@@ -66,7 +76,7 @@ gawk -i inplace -f \f(CIscriptfile\fP files ... - Andrew Schorr, - .BR schorr@telemetry-investments.com . - .SH COPYING PERMISSIONS --Copyright \(co 2012, 2013, 2015, 2018, -+Copyright \(co 2012, 2013, 2015, 2018, 2019, - Free Software Foundation, Inc. - .PP - Permission is granted to make and distribute verbatim copies of -diff --git a/test/ChangeLog b/test/ChangeLog -index 99391b0d..a538c593 100644 ---- a/test/ChangeLog -+++ b/test/ChangeLog -@@ -5,6 +5,10 @@ - nsawk2a.ok, nsawk2b.ok: New files. - Tests courtesy of Michal Jaegermann. - -+ Unrelated: -+ -+ * inplace1.ok, inplace2.ok, inplace3.ok: Updated after code changes. -+ - 2019-06-18 Arnold D. Robbins - - * 5.0.1: Release tar ball made. -diff --git a/test/inplace1.ok b/test/inplace1.ok -index 753079b3..f2e36d46 100644 ---- a/test/inplace1.ok -+++ b/test/inplace1.ok -@@ -1,5 +1,5 @@ - before --gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' -+gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' - stdin start - is bar replaced? - stdin end -diff --git a/test/inplace2.ok b/test/inplace2.ok -index 753079b3..f2e36d46 100644 ---- a/test/inplace2.ok -+++ b/test/inplace2.ok -@@ -1,5 +1,5 @@ - before --gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' -+gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' - stdin start - is bar replaced? - stdin end -diff --git a/test/inplace3.ok b/test/inplace3.ok -index 7802a0c8..b6f26505 100644 ---- a/test/inplace3.ok -+++ b/test/inplace3.ok -@@ -1,11 +1,11 @@ - before --gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' -+gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' - stdin start - is bar replaced? - stdin end - after - Before --gawk: inplace:53: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' -+gawk: inplace:59: warning: inplace::begin: disabling in-place editing for invalid FILENAME `-' - stdin start - is foo replaced? - stdin end --- -2.22.0 - diff --git a/gawk.spec b/gawk.spec index dcef274..d8a4a9d 100644 --- a/gawk.spec +++ b/gawk.spec @@ -46,8 +46,8 @@ Name: gawk Summary: The GNU version of the AWK text processing utility -Version: 5.0.1 -Release: 8%{?dist} +Version: 5.1.0 +Release: 1%{?dist} License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD @@ -114,16 +114,10 @@ BuildRequires: automake # Upstream patches -- official upstream patches released by upstream since the # ---------------- last rebase that are necessary for any reason: #Patch000: example000.patch -#Patch000: gawk-4.2.1-000-add-support-for-a-and-A-in-printf.patch -#Patch001: gawk-4.2.1-001-remove-the-tail-recursion-optimization.patch -#Patch002: gawk-4.2.1-002-copy-MPZ-MPFR-bits-also-in-r_dupnode.patch -#Patch003: gawk-4.2.1-003-fix-rebuilding-records-if-using-API-parser.patch -#Patch004: gawk-4.2.1-004-fix-a-corner-case-with-EPIPE-to-stdout-stderr.patch -Patch005: gawk-inplace-namespace-part1.patch -Patch006: gawk-inplace-namespace-part2.patch + #Parts of the patch dealing with .info files, were removed, some parts of documentation might be broken -Patch007: gawk-inplace-namespace-part3.patch -Patch008: gawk-api-version.patch + +#Patch008: gawk-api-version.patch @@ -141,7 +135,7 @@ Patch008: gawk-api-version.patch # Patches to be removed -- deprecated functionality which shall be removed at # --------------------- some point in the future: -Patch200: gawk-4.2.1-200-fix-build-for-f29.patch +#Patch200: gawk-4.2.1-200-fix-build-for-f29.patch %description @@ -188,7 +182,6 @@ access them regularly, and/or when you do not have access to Internet. %package all-langpacks Summary: Additional localisation files for gawk utility -#Requires: %{name} = %{version}-%{release} Supplements: %{name} = %{version}-%{release} Conflicts: %{name} < 5.0.1-8 %description all-langpacks @@ -295,6 +288,9 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name} # ============================================================================= %changelog +* Tue Jul 21 2020 Jakub Martisko - 5.1.0-1 +- New upstream release + * Tue Feb 18 2020 Jakub Martisko - 5.0.1-8 - Split the package into the main package and locales subpackage diff --git a/sources b/sources index 56fe790..cdf2ed2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (gawk-5.0.1.tar.xz) = ff9842a91035f843482d93eac8a35cddf2ce16acaa43a0112c1efff08802aebf705ee70d47eff74a190dca7be330c31f7204ad27cb63bdee65333f9b9c984212 +SHA512 (gawk-5.1.0.tar.xz) = 971e6a7617eb051d587984f64be2ff830e49eb60721c3401e8944401e3c3a7cd3334f0334b6e28bfc9283aaff15d83b0933f1fd77b0f8c7059068fa3f94c3cb4