]> git.ipfire.org Git - thirdparty/autoconf.git/commitdiff
Detect empty list in AS_FOR.
authorEric Blake <ebb9@byu.net>
Mon, 17 Nov 2008 13:20:27 +0000 (06:20 -0700)
committerEric Blake <ebb9@byu.net>
Mon, 17 Nov 2008 13:20:27 +0000 (06:20 -0700)
* lib/m4sugar/m4sh.m4 (AS_FOR): Handle iteration over $@
properly.
* tests/m4sh.at (AS@&t@_FOR): Enhance test to catch it.
Reported by Paolo Bonzini.

Signed-off-by: Eric Blake <ebb9@byu.net>
ChangeLog
lib/m4sugar/m4sh.m4
tests/m4sh.at

index bf0e8712f1b748eb99a1f484753012bc534265ed..41f97d338110ffe01d47eb2024ea71a807fae5a2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-11-17  Eric Blake  <ebb9@byu.net>
+
+       Detect empty list in AS_FOR.
+       * lib/m4sugar/m4sh.m4 (AS_FOR): Handle iteration over $@
+       properly.
+       * tests/m4sh.at (AS@&t@_FOR): Enhance test to catch it.
+       Reported by Paolo Bonzini.
+
 2008-11-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
        Use a different workaround for an automake quirk.
index 2c592c612eec81d56252e97369e21e805f140734..4da8f37810d68d5268fa8fc63d4b0597387b8b6c 100644 (file)
@@ -552,7 +552,7 @@ m4_define([AS_EXIT],
 # substitution, shell quoting, globs, or quadrigraphs).  Inline the
 # m4_defn for speed.
 m4_defun([AS_FOR],
-[m4_pushdef([$1], m4_if(m4_translit([$3], ]dnl
+[m4_pushdef([$1], m4_if([$3], [], [[$$2]], m4_translit([$3], ]dnl
 m4_dquote(_m4_defn([m4_cr_symbols2]))[[%+=:,./-]), [], [[$3]], [[$$2]]))]dnl
 [for $2[]m4_ifval([$3], [ in $3])
 do
index 383d8211d3c36624aa739ed919e548c28bf66d8d..96e0452db37d5554228a5f5558fa3e652372488b 100644 (file)
@@ -934,7 +934,7 @@ AS_FOR([m4var], [shvar], [\'],
 # Syntax checks: cope with empty arguments.
 set f g
 AS_FOR([], [shvar], [],
-[echo "$shvar"])
+[echo "m4_defn([]) $shvar"])
 rm -f file
 AS_FOR([], [shvar], [`touch file`])
 test -f file || exit 1
@@ -963,8 +963,8 @@ e e
 d e d e
 $list $list
 ' '
-f
-g
+f f
+g g
 h
 j
 ]])