diff options
author | Arnold D. Robbins <arnold@skeeve.com> | 2019-06-26 21:44:37 +0300 |
---|---|---|
committer | Arnold D. Robbins <arnold@skeeve.com> | 2019-06-26 21:44:37 +0300 |
commit | 8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9 (patch) | |
tree | 532f57facb247749db348fb86678a843179bde40 /awklib/eg/lib | |
parent | 076eb06c0c714ca6ee95ca512d114bf9f41038e0 (diff) | |
download | egawk-8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9.tar.gz egawk-8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9.tar.bz2 egawk-8ff0d3a5a55237f78a8c3076a07c38f7e1c1c5e9.zip |
Add backwards compatibility to inplace extension, update doc and tests.
Diffstat (limited to 'awklib/eg/lib')
-rw-r--r-- | awklib/eg/lib/inplace.awk | 18 |
1 files changed, 12 insertions, 6 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)) } |