Hi Eric,
* Eric Blake wrote on Thu, Nov 20, 2008 at 02:39:56PM CET:
> According to Ralf Wildenhues on 11/19/2008 11:01 PM:
> >> +creative shell comments to supply the balance. Note that you should use
> >> +the quadrigraph @samp{@@%:@@} and not a literal @samp{#}, because the
> >> +latter hides the @samp{(} inside an m4 comment, and you would still be
> >> +presenting m4 with unbalanced parentheses.
> >
> > But not the human reader of the macro text! IIUC then as the code
> > is capable, we *can* use `in #(', which is much more readable than
> > `in @:@('. I've never knowingly added the extra opening parenthesis
> > in order to help M4, only ever in order to help paren matching
> > algorithms in $EDITORs.
>
> Hmm. Yet it was your message in
> http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00168.html
> that caused Paul to have to do just that in commit e07dd (note that he had
> to replace 'case "$ac_try" in #((' with 'case "(($ac_try" in').
Oohh. I forgot. :-)
Yes, that was one of the last-minute changes for compatibility issues
that showed up during release testing. Ugly kinds of things.
Disadvantage of git: makes you confess old sins. ;-)
> Just because m4_expand can handle #( doesn't mean that other macros can;
> you still have a bug if you do:
[...]
Yep.
> So, I will reword this paragraph to mention all of the possibilities, each
> with their strengths and drawbacks.
Thanks.
> > And no, I don't really understand.
>
> Here's a single-stepped example. The first argument to _m4_expand is
> always the original argument, the second is the number of open '(' to add
> if an unbalance is detected,
What if there are already too many '('? Will it loop endlessly and fill
RAM with more '('?
[...]
> Slick, huh?
Yes. Quite unobvious.
> > I do wonder when quadrigraphs for `(' and `)' will finally be added,
> > though.
>
> Already done :(. In 2.63.
Oh.
Cheers, and sorry for not adding any useful content,
Ralf
PS: ah, wait: if you would change Subject:s with '(was: $old_subject)',
i.e., using conforming parentheses instead of brackets, my mailer would
be able to cut off the old subject automagically. There, some useful
content. :-)