[Top][All Lists]
[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. :-)
- Re: Use newer m4_map_args_{w,sep}, (continued)
- Re: Use newer m4_map_args_{w,sep}, Paolo Bonzini, 2008/11/13
- m4_chomp [was: Use newer m4_map_args_{w,sep}], Eric Blake, 2008/11/13
- Re: m4_chomp [was: Use newer m4_map_args_{w,sep}], Paolo Bonzini, 2008/11/14
- Re: m4_chomp [was: Use newer m4_map_args_{w,sep}], Eric Blake, 2008/11/14
- Re: m4_chomp [was: Use newer m4_map_args_{w,sep}], Paolo Bonzini, 2008/11/14
- Re: m4_chomp [was: Use newer m4_map_args_{w,sep}], Eric Blake, 2008/11/14
- Re: m4_chomp, Eric Blake, 2008/11/14
- fewer forks in AC_DEFINE [was: Use newer m4_map_args_{w,sep}], Eric Blake, 2008/11/19
- Re: fewer forks in AC_DEFINE [was: Use newer m4_map_args_{w,sep}], Ralf Wildenhues, 2008/11/20
- Re: fewer forks in AC_DEFINE [was: Use newer m4_map_args_{w,sep}], Eric Blake, 2008/11/20
- Re: fewer forks in AC_DEFINE,
Ralf Wildenhues <=
- Re: fewer forks in AC_DEFINE, Eric Blake, 2008/11/20
- case statement style (was: fewer forks in AC_DEFINE), Eric Blake, 2008/11/20
- Re: case statement style, Ralf Wildenhues, 2008/11/21
- Re: case statement style, Eric Blake, 2008/11/21
- Re: case statement style, Eric Blake, 2008/11/21
- Re: fewer forks in AC_DEFINE [was: Use newer m4_map_args_{w,sep}], Eric Blake, 2008/11/20