diff --git a/ChangeLog b/ChangeLog index 47cdf2eb..323c135c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,10 @@ 2007-12-12 Eric Blake + Fix thinko in earlier patch - m4_join isn't defined yet. + * lib/m4sugar/m4sugar.m4 (m4_expansion_stack_push, _m4_defun_pro) + (_m4_defun_pro_outer, _m4_defun_epi, _m4_defun_epi_outer) + (m4_require): Use m4_do, not m4_join. + Fix some whitespace tests on cygwin. * tests/tools.at (autom4te and whitespace in file names): Restore font-lock. Create $TMPDIR before it might be used. diff --git a/lib/m4sugar/m4sugar.m4 b/lib/m4sugar/m4sugar.m4 index bcaeca38..c73a940f 100644 --- a/lib/m4sugar/m4sugar.m4 +++ b/lib/m4sugar/m4sugar.m4 @@ -1369,11 +1369,10 @@ m4_define([_m4_divert(GROW)], 10000) # This is called frequently, so minimize the number of macro invocations # by avoiding dnl and m4_defn overhead. m4_define([_m4_defun_pro], -m4_join([], - [m4_ifdef([m4_expansion_stack], [], [_m4_defun_pro_outer[]])], - [m4_expansion_stack_push(m4_builtin([defn], - [m4_location($1)])[: $1 is expanded from...])], - [m4_pushdef([_m4_expanding($1)])])) +m4_do([[m4_ifdef([m4_expansion_stack], [], [_m4_defun_pro_outer[]])]], + [[m4_expansion_stack_push(m4_builtin([defn], + [m4_location($1)])[: $1 is expanded from...])]], + [[m4_pushdef([_m4_expanding($1)])]])) m4_define([_m4_defun_pro_outer], [m4_copy([_m4_divert_diversion], [_m4_divert_dump])m4_divert_push([GROW])]) @@ -1386,17 +1385,15 @@ m4_define([_m4_defun_pro_outer], # This is called frequently, so minimize the number of macro invocations # by avoiding dnl and m4_popdef overhead. m4_define([_m4_defun_epi], -m4_join([], - [m4_builtin([popdef], [_m4_expanding($1)])], - [m4_expansion_stack_pop()], - [m4_ifdef([m4_expansion_stack], [], [_m4_defun_epi_outer[]])], - [m4_provide([$1])])) +m4_do([[m4_builtin([popdef], [_m4_expanding($1)])]], + [[m4_expansion_stack_pop()]], + [[m4_ifdef([m4_expansion_stack], [], [_m4_defun_epi_outer[]])]], + [[m4_provide([$1])]])) m4_define([_m4_defun_epi_outer], -m4_join([], - [m4_builtin([undefine], [_m4_divert_dump])], - [m4_divert_pop([GROW])], - [m4_undivert([GROW])])) +m4_do([[m4_builtin([undefine], [_m4_divert_dump])]], + [[m4_divert_pop([GROW])]], + [[m4_undivert([GROW])]])) # m4_defun(NAME, EXPANSION) @@ -1490,15 +1487,14 @@ m4_define([m4_before], # This is called frequently, so minimize the number of macro invocations # by avoiding dnl and other overhead on the common path. m4_define([m4_require], -m4_join([], - [m4_ifdef([_m4_expanding($1)], - [m4_fatal([$0: circular dependency of $1])])], - [m4_ifdef([_m4_divert_dump], [], - [m4_fatal([$0($1): cannot be used outside of an ]dnl -m4_bmatch([$0], [^AC_], [[AC_DEFUN]], [[m4_defun]])['d macro])])], - [m4_provide_if([$1], - [], - [_m4_require_call([$1], [$2])])])) +m4_do([[m4_ifdef([_m4_expanding($1)], + [m4_fatal([$0: circular dependency of $1])])]], + [[m4_ifdef([_m4_divert_dump], [], + [m4_fatal([$0($1): cannot be used outside of an ]dnl +m4_bmatch([$0], [^AC_], [[AC_DEFUN]], [[m4_defun]])['d macro])])]], + [[m4_provide_if([$1], + [], + [_m4_require_call([$1], [$2])])]])) # _m4_require_call(NAME-TO-CHECK, [BODY-TO-EXPAND = NAME-TO-CHECK]) @@ -1508,18 +1504,17 @@ m4_bmatch([$0], [^AC_], [[AC_DEFUN]], [[m4_defun]])['d macro])])], # This is called frequently, so minimize the number of macro invocations # by avoiding dnl and other overhead on the common path. m4_define([_m4_require_call], -m4_join([], - [m4_define([_m4_divert_grow], m4_decr(_m4_divert_grow))], - [m4_divert_push(_m4_divert_grow)], - [m4_default([$2], [$1]) +m4_do([[m4_define([_m4_divert_grow], m4_decr(_m4_divert_grow))]], + [[m4_divert_push(_m4_divert_grow)]], + [[m4_default([$2], [$1]) m4_provide_if([$1], [], [m4_warn([syntax], - [$1 is m4_require'd but not m4_defun'd])])], - [m4_divert(m4_builtin([defn], [_m4_divert_dump]))], - [m4_undivert(_m4_divert_grow)], - [m4_divert_pop(_m4_divert_grow)], - [m4_define([_m4_divert_grow], m4_incr(_m4_divert_grow))])) + [$1 is m4_require'd but not m4_defun'd])])]], + [[m4_divert(m4_builtin([defn], [_m4_divert_dump]))]], + [[m4_undivert(_m4_divert_grow)]], + [[m4_divert_pop(_m4_divert_grow)]], + [[m4_define([_m4_divert_grow], m4_incr(_m4_divert_grow))]])) # _m4_divert_grow