2008-07-25 Eric Blake <ebb9@byu.net>
+ Avoid infinite aclocal loop.
+ * lib/m4sugar/m4sugar.m4 (m4_init): Bypass m4_include tracing, so
+ that aclocal doesn't insist on finding m4sugar/foreach.m4.
+
Provide O(n) replacement macros for M4 1.4.x.
* lib/m4sugar/foreach.m4: New file.
(m4_foreach, m4_case, _m4_shiftn, m4_do, m4_dquote_elt, _m4_map)
# 1.6 or newer, and thus that $@ recursion is linear; nothing further
# needs to be done. But if it is missing, we assume we are being run
# by M4 1.4.x, that $@ recursion is quadratic, and that we need
-# foreach-based replacement macros.
-m4_ifndef([__m4_version__], [m4_include([m4sugar/foreach.m4])])
+# foreach-based replacement macros. Use the raw builtin to avoid
+# tripping up include tracing.
+m4_ifndef([__m4_version__], [m4_builtin([include], [m4sugar/foreach.m4])])
# _m4_divert_diversion should be defined:
m4_divert_push([KILL])