autoconf
[Top][All Lists]
Advanced

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

Re: multiline output variables.


From: Stepan Kasal
Subject: Re: multiline output variables.
Date: Wed, 9 Feb 2005 08:39:05 +0100
User-agent: Mutt/1.4.1i

Hi,

On Tue, Feb 08, 2005 at 01:52:49PM -0500, Dan Manthey wrote:
> This is probably just a consequence of being OCD enough to write
> autoconf code in the first place.

:-)

> On Tue, 8 Feb 2005, Stepan Kasal wrote:
> > I'm glad to generate hints.  But I have stated several times that I cannot
> > keep pace with you and I actually don't understand your code.  ;-)
>       Then you've been faking it wonderfully so far.  *Grin.*

well, you had to explain me several things your latest mail, for example:

> > m4_define([_AC_SED_CMDS],m4_defn([_AC_SED_CMDS])[| sed 's/|#_!!_#|//g' ])

Thank you for explaining me this.

This line appears twice in the source, though.
Can't the duplication be elimited?  Wouldn't it make the code cleaner?

> I've made design decision to make the m4 code more complicated in order
> to make the sh code more efficient.  I hope others think this is a good
> trade-off.

Generally, I agree.
But it might be better to leave the last segment as
>       /@word@/!b end
>       :end
>       s/empty//g
if that would simplify the m4 code.  But if you don't want to implement
it, let it be for now.  (Perhaps I'll write a patch later.)

>   for ac_last_try in false false :; do ...
> so that the break-out step avoids one more call to test.

Nice. (Though test should be builtin, so there is no difference.)
Wouldn't    for ac_go_baby_go : : : : : : false; do ...
be even nicer?  ;-)

> By the way, I generated the last patch and this one via `cvs diff -u',

I usually do "patch -p0 -i ../autoconf-20050208-xxx.patch" to apply
patches.
Another interesting options are -R, reverse, or -F3 (dangerous,
watch for "fuzz 3" in the output).

There is yet another way:
when you have the anon cvs checkout with your changes, you can do
"cvs up -d" to update the tree.  The changes are merged whenever possible.
If it is not possible, a conflict is claimed ("C" in the output of
"cvs up -d") and the conflicting sections are denoted by strings >>>>>>
and <<<<<< in the file, so that you can fix that.
A subsequent "cvs up -d" doesn't fetch anything from the server, but lists
all the modified files (with "M") and the remaining conflicts (with "C").

As usual, the rule is to backup your work frequently.  In this situation,
it means `cvs diff -u' before `cvs up -d'.

Have a nice day,
        Stepan Kasal





reply via email to

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