autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: fewer forks in AC_DEFINE


From: Ralf Wildenhues
Subject: Re: fewer forks in AC_DEFINE
Date: Thu, 20 Nov 2008 19:47:09 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

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.  :-)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]