More fallout from the same 2.66 regression that was partially fixed yesterday, but until yesterday's AS_LITERAL_IF actually treated \ as a non-literal, apparently no one noticed the latent bug of a spurious call to _AC_CHECK_FUNC([\]) during automake's libobj5.test.
* lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Flatten newlines and move guts... (_AC_REPLACE_FUNCS): ...to new helper. * tests/semantics.at (AC_REPLACE_FUNCS): Enhance test. Reported by Ralf Wildenhues. Signed-off-by: Eric Blake <[email protected]> --- Thanks for the report, and glad you caught it before I released. ChangeLog | 9 +++++++++ lib/autoconf/functions.m4 | 3 +++ tests/semantics.at | 6 ++++-- 3 files changed, 16 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index a1a451a..0bcb10e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2010-09-22 Eric Blake <[email protected]> + + AC_REPLACE_FUNCS: allow split lines again + * lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Flatten newlines + and move guts... + (_AC_REPLACE_FUNCS): ...to new helper. + * tests/semantics.at (AC_REPLACE_FUNCS): Enhance test. + Reported by Ralf Wildenhues. + 2010-09-21 Eric Blake <[email protected]> AC_LIBOBJ: optimize internal use diff --git a/lib/autoconf/functions.m4 b/lib/autoconf/functions.m4 index 70a7ddf..f2048bf 100644 --- a/lib/autoconf/functions.m4 +++ b/lib/autoconf/functions.m4 @@ -131,6 +131,9 @@ m4_define([_AC_REPLACE_FUNC], # equivalent of AC_CHECK_FUNC, then call AC_LIBOBJ if the function # was not found. AC_DEFUN([AC_REPLACE_FUNCS], +[_$0(m4_flatten([$1]))]) + +m4_define([_AC_REPLACE_FUNCS], [AS_LITERAL_IF([$1], [m4_map_args_w([$1], [_AC_REPLACE_FUNC(], [) ])], diff --git a/tests/semantics.at b/tests/semantics.at index 9fd08e0..0e28737 100644 --- a/tests/semantics.at +++ b/tests/semantics.at @@ -177,11 +177,13 @@ AT_DATA([config.in], AT_CONFIGURE_AC( [AC_CONFIG_FILES([config.libobjs:config.in]) -AC_REPLACE_FUNCS([printf autoconf_ftnirp]) +AC_REPLACE_FUNCS([printf \ +autoconf_ftnirp]) funcs='fprintf autoconf_ftnirpf' AH_TEMPLATE([HAVE_FPRINTF], []) AH_TEMPLATE([HAVE_AUTOCONF_FTNIRPF], []) -AC_REPLACE_FUNCS([$funcs]) +AC_REPLACE_FUNCS([\ +$funcs]) AS_UNSET([funcs])]) AT_CHECK_AUTOCONF([-W obsolete]) -- 1.7.2.3
