This message from Eric was never delivered to me, but I stumbled upon it in the bug-autoconf archives:
http://lists.gnu.org/archive/html/bug-autoconf/2008-04/msg00064.html Sorry to break threading with this forged reply. On Wed, 23 Apr 2008, Eric Blake wrote: > # example expanders > m4_define([out0], [$1]) dnl raw echo > m4_define([out1], [m4_quote($1)]) dnl probably what you meant > m4_define([out2], [m4_dquote($1)]) dnl what you proposed > m4_define([out3], [m4_expand([$1])]) dnl what AT_SETUP uses > #length > m4_len(out0([foo, bar])) > m4_len(out1([foo, bar])) > m4_len(out2([foo, bar])) > m4_len(out3([foo, bar])) I proposed that the result of m4_dquote be passed to m4_bpatsubst. I didn't mean that the result of m4_dquote should be passed directly to m4_len. After fixing the quoting (such as the underquoted comma) in the above example, out0 is appropriate. > Thus, > using m4_expand provides a minimal-effort QoI improvement to cater to people > who don't know how to follow our advice of using proper quoting. This is the answer I was really looking for. > And thanks to Noah, we now have a working m4_expand implementation that still > permits quoted unbalanced () (I just hope you aren't trying to test files > named "-=<{(" or ")}>=-" ;). I'm not too worried about Bison's test suite. > So in the meantime, I've posted a patch to bug-bison (it should show up once > gmane lets me through) that allows you to re-enable your tests, even on > autoconf 2.62, by overriding the definition of m4_expand with the fixed > version > that once again allows unbalanced parentheses. I'm afraid it may be a while before I get to it. Thanks for all your time.
