[FYI] m4sugar: fix AS_VAR_GET regression.

"Gary V. Vaughan" <[email protected]>
Newsgroups gmane.comp.sysutils.autoconf.patches
Message-ID <[email protected]>
AS_VAR_GET expands AS_ECHO inside en evaled single quoted string,
which causes the single quotes in "printf '%s\n'" to expose the
%s\n to the shell which expands "\n" to simply "n" before passing
it to printf.
* lib/m4sugar/m4sh.m4 (AS_ECHO): Use double quotes around the
format string.
* doc/autoconf.texi (Limitations of Shell Builtins): Show double
quotes to match AS_ECHO expansion.
* NEWS: Likewise.
---
 NEWS                | 2 +-
 doc/autoconf.texi   | 2 +-
 lib/m4sugar/m4sh.m4 | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 35e7b88..16de922 100644
--- a/NEWS
+++ b/NEWS
@@ -10,7 +10,7 @@ GNU Autoconf NEWS - User visible changes.
 
 ** Use of printf is now recommended instead of working around bugs in
    echo.  Macros AS_ECHO and AS_ECHO_N now expand unconditionally to
-   "printf '%s\n'" and "printf %s".
+   'printf "%s\n"' and 'printf %s'.
 
 ** Macros
 
diff --git a/doc/autoconf.texi b/doc/autoconf.texi
index c95d871..8f58d4a 100644
--- a/doc/autoconf.texi
+++ b/doc/autoconf.texi
@@ -17523,7 +17523,7 @@ only if you know that @var{foo}'s value cannot contain backslashes and
 cannot start with @samp{-}.
 
 Normally, @command{printf} is safer and easier to use than @command{echo}
-and @command{echo -n}.  Thus, you should use @command{printf '%s\n'}
+and @command{echo -n}.  Thus, you should use @command{printf "%s\n"}
 instead of @command{echo}, and similarly use @command{printf %s} instead
 of @command{echo -n}.
 
diff --git a/lib/m4sugar/m4sh.m4 b/lib/m4sugar/m4sh.m4
index 479c2d9..53fdf8d 100644
--- a/lib/m4sugar/m4sh.m4
+++ b/lib/m4sugar/m4sh.m4
@@ -1026,7 +1026,7 @@ fi
 # (typically a quoted string).  The bytes of WORD are output as-is, even
 # if it starts with "-" or contains "\".
 m4_defun([AS_ECHO],
-[printf '%s\n' $1])
+[printf "%s\n" $1])
 
 
 # AS_ECHO_N(WORD)
-- 
1.8.1.1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.