SHA256
1
0
forked from pool/gawk

Accepting request 794095 from home:polslinux:branches:Base:System

- Update to 5.1.0: 
  * The major version of the API is bumped to 3, something that should
     have happened at the 5.0.0 release but didn't.
  * A number of memory leak issues have been fixed.
  * Infrastructure upgrades: Bison 3.5.4, Texinfo 6.7, Gettext 0.20.1,
     Automake 1.16.2.
  * The indexing in the manual has been thoroughly revised, in particular
     making use of the facilities in Texinfo 6.7.  That version (or newer)
     must be used to format the manual.
  * MSYS2 is now supported out-of-the-box by configure.
  * Several bugs have been fixed.  See the ChangeLog for details.
- Removed gawk-inplace-namespace-part3.patch
- Removed gawk-inplace-namespace-part1.patch
- Removed gawk-inplace-namespace-part2.patch

OBS-URL: https://build.opensuse.org/request/show/794095
OBS-URL: https://build.opensuse.org/package/show/Base:System/gawk?expand=0&rev=79
This commit is contained in:
Marcus Meissner 2020-04-19 13:07:54 +00:00 committed by Git OBS Bridge
parent c3fa851474
commit beac6968c1
9 changed files with 34 additions and 651 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8e4e86f04ed789648b66f757329743a0d6dfb5294c3b91b756a474f1ce05a794
size 3136004

View File

@ -1,11 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQEcBAABAgAGBQJdCScpAAoJEN9ZeBWTfsDS6wQH/2ra15f2EntXmtEdlneP4X6o
TcQMeZ/O1WGLK0GD5V10fuYaE/8WwzlCJn2diuDMPzD4+f6WCFV++YHplpiNNpud
ZVf8BgT8bm3p/g6UhN8ar+Eks8qe8PTSTepIb6nYFF2hCno+XSOnMwErQhPC/Fmo
XNniqcfBWwK+HobnF+dSzPsEJV8Gi0ShSazoGxqm3yf4fL/R9DxvarY6MSYotRBd
h3NEK2IxYIyaW9LAtE2IX9/3B8wPx+uLReo/MPVG9xCTfSFZL+GYConUKRcnBEmv
6xK0M0bAorAcqASXlxQeOFV6pKtBxl0vwhofZ1mlf3slN7g7/UeL6KyMhTvVKGQ=
=pYxa
-----END PGP SIGNATURE-----

3
gawk-5.1.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cf5fea4ac5665fd5171af4716baab2effc76306a9572988d5ba1078f196382bd
size 3154564

11
gawk-5.1.0.tar.xz.sig Normal file
View File

@ -0,0 +1,11 @@
-----BEGIN PGP SIGNATURE-----
iQEzBAABCgAdFiEE0ZZ8Y3iHExd9hh7X31l4FZN+wNIFAl6VpccACgkQ31l4FZN+
wNKdrgf/ZkauotgEtdXDrd70pkRrN8eQgksYDt1nH3k5byzYA6oIKqk5lp+qHXFz
VMMTN4l9m1GD3y8RxmHsM/+CIS311AFD+mUXpbEuOPZJrKrTsKdkYoEQZYgdhndl
P5tMhI//5ul7W3Qu5PB+MkgzLqb2jutjcNgcc2tsrboe2AFo4SUCKVxzdDfeu9in
m9M1P2KeI9V2CdrWOHYAiicjvOFdw56+LU2eZL1ZnTVY97ytHs3g2k0PrM62/B0R
hWnHZtGgmikH3Z4ewqc9MpzQWnN6wNtqRIESj1Pwjpl41JAs7rti4FFeRrxQ/DK4
HOuNr2vK3p02e/ShyQiCtyMKSW2ifg==
=yIcM
-----END PGP SIGNATURE-----

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,21 @@
-------------------------------------------------------------------
Wed Apr 15 08:48:59 UTC 2020 - Paolo Stivanin <info@paolostivanin.com>
- Update to 5.1.0:
* The major version of the API is bumped to 3, something that should
have happened at the 5.0.0 release but didn't.
* A number of memory leak issues have been fixed.
* Infrastructure upgrades: Bison 3.5.4, Texinfo 6.7, Gettext 0.20.1,
Automake 1.16.2.
* The indexing in the manual has been thoroughly revised, in particular
making use of the facilities in Texinfo 6.7. That version (or newer)
must be used to format the manual.
* MSYS2 is now supported out-of-the-box by configure.
* Several bugs have been fixed. See the ChangeLog for details.
- Removed gawk-inplace-namespace-part3.patch
- Removed gawk-inplace-namespace-part1.patch
- Removed gawk-inplace-namespace-part2.patch
-------------------------------------------------------------------
Tue Oct 22 11:30:29 UTC 2019 - Neal Gompa <ngompa13@gmail.com>

View File

@ -1,7 +1,7 @@
#
# spec file for package gawk
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,7 +17,7 @@
Name: gawk
Version: 5.0.1
Version: 5.1.0
Release: 0
Summary: Domain-specific language for text processing
License: GPL-3.0-or-later
@ -27,10 +27,6 @@ Source: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz
Source2: http://ftp.gnu.org/gnu/%{name}/%{name}-%{version}.tar.xz.sig
Source3: http://savannah.gnu.org/people/viewgpg.php?user_id=80653#/gawk.keyring
Source4: gawk.rpmlintrc
Patch1: gawk-inplace-namespace-part1.patch
Patch2: gawk-inplace-namespace-part2.patch
#Parts of the patch dealing with .info files, were removed, some parts of documentation might be broken
Patch3: gawk-inplace-namespace-part3.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: libtool