diff --git a/ChangeLog b/ChangeLog index 76340a69..ef3d04db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2008-06-05 Eric Blake + + Fix regression in AT_KEYWORDS([Macro]), from 2007-10-18. + * lib/autotest/general.m4 (AT_KEYWORDS): Expand argument prior to + converting it to lower case. + * tests/autotest.at (Keywords and ranges): Test this. + * NEWS: Document the fix. + * THANKS: Update. + Reported by Karsten Hopp. + 2008-06-03 Eric Blake Fix 'make dist' regression from 2008-05-08. diff --git a/NEWS b/NEWS index 183d4f1a..8b866adf 100644 --- a/NEWS +++ b/NEWS @@ -9,6 +9,10 @@ GNU Autoconf NEWS - User visible changes. ** Two new quadrigraphs have been introduced: @{:@ for (, and @:}@ for ), allowing the output of unbalanced parantheses in more contexts. +** AT_KEYWORDS once again performs expansion on its argument, such that + AT_KEYWORDS([m4_if([$1], [], [default])]) no longer complains about + the possibly unexpanded m4_if [regression introduced in 2.62]. + * Major changes in Autoconf 2.62 (2008-04-05) [stable] Released by Eric Blake, based on git versions 2.61a.*. diff --git a/THANKS b/THANKS index 5ec89219..224cdead 100644 --- a/THANKS +++ b/THANKS @@ -177,6 +177,7 @@ Justace Clutter ? Jörn Rennecke amylaar@cygnus.co.uk Karl Berry karl@cs.umb.edu Karl Heuer kwzh@gnu.org +Karsten Hopp karsten@redhat.com Kate Hedstrom ? Kathryn Hargreaves kathryn@deas.harvard.edu Kaveh R. Ghazi ghazi@caip.rutgers.edu diff --git a/lib/autotest/general.m4 b/lib/autotest/general.m4 index 88d10a31..993dd9ff 100644 --- a/lib/autotest/general.m4 +++ b/lib/autotest/general.m4 @@ -1476,9 +1476,10 @@ m4_case([$1], # AT_KEYWORDS(KEYWORDS) # --------------------- # Declare a list of keywords associated to the current test group. -# The list is stored in lower case, since the -k option is case-insensitive. +# Since the -k option is case-insensitive, the list is stored in lower case +# to avoid duplicates that differ only by case. _AT_DEFINE_SETUP([AT_KEYWORDS], -[m4_append_uniq_w([AT_keywords], m4_tolower([[$1]]))]) +[m4_append_uniq_w([AT_keywords], m4_tolower(m4_dquote(m4_expand([$1]))))]) # AT_CAPTURE_FILE(FILE) diff --git a/tests/autotest.at b/tests/autotest.at index dc3cfd52..c4c0eda6 100644 --- a/tests/autotest.at +++ b/tests/autotest.at @@ -690,7 +690,7 @@ AT_CHECK(:) AT_CLEANUP AT_SETUP(both) # 04 AT_KEYWORDS([key1 key2]) -AT_KEYWORDS([key1]) +AT_KEYWORDS([m4@&t@_echo([Key1])]) AT_CHECK(:) AT_CLEANUP AT_SETUP(test5) # 05 @@ -713,7 +713,7 @@ AT_CHECK(:) AT_CLEANUP ]]) dnl check that AT_KEYWORDS does not duplicate words -AT_CHECK([grep 'key1.*key1' k], [1]) +AT_CHECK([grep -i 'key1.*key1' k], [1]) dnl check that -k requires an argument AT_CHECK([$CONFIG_SHELL ./k -k], [1], [], [ignore])