Rebase to gawk-5.1.0
This commit is contained in:
parent
ef1d4dbefb
commit
73503db575
1
.gitignore
vendored
1
.gitignore
vendored
@ -3,3 +3,4 @@
|
|||||||
/gawk-4.2.0.tar.xz
|
/gawk-4.2.0.tar.xz
|
||||||
/gawk-4.2.1.tar.xz
|
/gawk-4.2.1.tar.xz
|
||||||
/gawk-5.0.1.tar.xz
|
/gawk-5.0.1.tar.xz
|
||||||
|
/gawk-5.1.0.tar.xz
|
||||||
|
@ -1,26 +0,0 @@
|
|||||||
From fad95bcf352bd77e5ed42aaf20eb0e24b761c62f Mon Sep 17 00:00:00 2001
|
|
||||||
From: rpm-build <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
|
|
||||||
|
|
@ -1,53 +0,0 @@
|
|||||||
From ae1139c068702ede2d35002bdd14199a2c9eb4d8 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Andrew J. Schorr" <aschorr@telemetry-investments.com>
|
|
||||||
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 <aschorr@telemetry-investments.com>
|
|
||||||
+
|
|
||||||
+ * 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 <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 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
|
|
||||||
|
|
@ -1,177 +0,0 @@
|
|||||||
From 8f2b0b9128f4d2dc50ae52c304237c8e9d4b85f9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Arnold D. Robbins" <arnold@skeeve.com>
|
|
||||||
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 <arnold@skeeve.com>
|
|
||||||
+
|
|
||||||
+ * 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 <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 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 <arnold@skeeve.com>
|
|
||||||
+
|
|
||||||
+ * 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 <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 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
|
|
||||||
|
|
@ -1,70 +0,0 @@
|
|||||||
From 076eb06c0c714ca6ee95ca512d114bf9f41038e0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Arnold D. Robbins" <arnold@skeeve.com>
|
|
||||||
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
|
|
||||||
|
|
@ -1,384 +0,0 @@
|
|||||||
From 8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9 Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Arnold D. Robbins" <arnold@skeeve.com>
|
|
||||||
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 <arnold@skeeve.com>
|
|
||||||
+
|
|
||||||
+ * gawktexi.in (Extension Sample Inplace): Fix backwards
|
|
||||||
+ compatibility. Thanks to Andrew Schorr for most of the change.
|
|
||||||
+
|
|
||||||
2019-06-18 Arnold D. Robbins <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 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 <arnold@skeeve.com>
|
|
||||||
+
|
|
||||||
+ * inplace.3am: Update to match current code's behavior.
|
|
||||||
+
|
|
||||||
2019-06-18 Arnold D. Robbins <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 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 <arnold@skeeve.com>
|
|
||||||
|
|
||||||
* 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
|
|
||||||
|
|
22
gawk.spec
22
gawk.spec
@ -46,8 +46,8 @@
|
|||||||
|
|
||||||
Name: gawk
|
Name: gawk
|
||||||
Summary: The GNU version of the AWK text processing utility
|
Summary: The GNU version of the AWK text processing utility
|
||||||
Version: 5.0.1
|
Version: 5.1.0
|
||||||
Release: 8%{?dist}
|
Release: 1%{?dist}
|
||||||
|
|
||||||
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
|
License: GPLv3+ and GPLv2+ and LGPLv2+ and BSD
|
||||||
|
|
||||||
@ -114,16 +114,10 @@ BuildRequires: automake
|
|||||||
# Upstream patches -- official upstream patches released by upstream since the
|
# Upstream patches -- official upstream patches released by upstream since the
|
||||||
# ---------------- last rebase that are necessary for any reason:
|
# ---------------- last rebase that are necessary for any reason:
|
||||||
#Patch000: example000.patch
|
#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
|
#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
|
# Patches to be removed -- deprecated functionality which shall be removed at
|
||||||
# --------------------- some point in the future:
|
# --------------------- 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
|
%description
|
||||||
@ -188,7 +182,6 @@ access them regularly, and/or when you do not have access to Internet.
|
|||||||
|
|
||||||
%package all-langpacks
|
%package all-langpacks
|
||||||
Summary: Additional localisation files for gawk utility
|
Summary: Additional localisation files for gawk utility
|
||||||
#Requires: %{name} = %{version}-%{release}
|
|
||||||
Supplements: %{name} = %{version}-%{release}
|
Supplements: %{name} = %{version}-%{release}
|
||||||
Conflicts: %{name} < 5.0.1-8
|
Conflicts: %{name} < 5.0.1-8
|
||||||
%description all-langpacks
|
%description all-langpacks
|
||||||
@ -295,6 +288,9 @@ install -m 0644 -p doc/gawkinet.{pdf,ps} %{buildroot}%{_docdir}/%{name}
|
|||||||
# =============================================================================
|
# =============================================================================
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 21 2020 Jakub Martisko <jamartis@redhat.com> - 5.1.0-1
|
||||||
|
- New upstream release
|
||||||
|
|
||||||
* Tue Feb 18 2020 Jakub Martisko <jamartis@redhat.com> - 5.0.1-8
|
* Tue Feb 18 2020 Jakub Martisko <jamartis@redhat.com> - 5.0.1-8
|
||||||
- Split the package into the main package and locales subpackage
|
- Split the package into the main package and locales subpackage
|
||||||
|
|
||||||
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (gawk-5.0.1.tar.xz) = ff9842a91035f843482d93eac8a35cddf2ce16acaa43a0112c1efff08802aebf705ee70d47eff74a190dca7be330c31f7204ad27cb63bdee65333f9b9c984212
|
SHA512 (gawk-5.1.0.tar.xz) = 971e6a7617eb051d587984f64be2ff830e49eb60721c3401e8944401e3c3a7cd3334f0334b6e28bfc9283aaff15d83b0933f1fd77b0f8c7059068fa3f94c3cb4
|
||||||
|
Loading…
Reference in New Issue
Block a user