[Top][All Lists]

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

Re: 17-m4-token-allow.patch

From: Akim Demaille
Subject: Re: 17-m4-token-allow.patch
Date: 14 Nov 2000 10:47:24 +0100
User-agent: Gnus/5.0807 (Gnus v5.8.7) XEmacs/21.1 (Channel Islands)

>>>>> "Alexandre" == Alexandre Oliva <address@hidden> writes:

Alexandre> On Nov 13, 2000, Akim Demaille <address@hidden> wrote:
>> That was my first idea, but rejected it for several reasons.
>> First, this is pure M4sugar, and not limited to Autoconf

Alexandre> You could always have m4_output_comment, that would have to
Alexandre> be defined by users of M4sugar, and M4sh would define it to
Alexandre> output its argument preceded by `# '.

Yes, indeed.  But really I find this hacky. What advantage do you see
in putting this into the output flow as opposed to something in
parallel?  An implementation that allows us to bring additional
information without changing our output seems better to me.

>> And second, this is gross :) The real good implementation, IMHO,
>> was to --trace for these macros.  But on huge configure.ins like
>> Jim's this is unacceptably expansive.

Alexandre> Can you define unacceptable?  

~/src/fileutils-4.0.32 % time ace                                nostromo 10:40
$ace/autoconf -A $ace  15,52s user 3,54s system 81% cpu 23,291 total

Doubling the price is not acceptable.

Alexandre> Any chance of computing a trace in parallel with generating
Alexandre> the actual output script, and outputting the trace to
Alexandre> another file descriptor?

Actually, yes!  I must have failed my previous experiments, since the
following test works just like I need it to:

| /tmp % cat flows.m4                                
| changequote([, ])                                  
| traceon([eval])                                    
| eval([nonsense])                                   
| errprint([This is errprint])                       
| /tmp % m4 --error-output=flows.err flows.m4        
| flows.m4:3: m4: Bad expression in eval: nonsense   
| This is errprint                                   
| /tmp % cat flows.err                               
| m4trace: -1- eval
| m4trace: -1- eval

So it is possible!

Still, in the absolute I consider `divert(FILENAME)' or something
comparable is lacking in Autoconf.

This is really an excellent news, it means we can have autoheader and
autoconf ``run in parallel''.

Still, I'd like not to play with this idea now.  I'd like to delay
this till 2.51, since it means we will have to reorganize autoconf,
and it is already planned to move autoconf atop autom4 (or whatever
the excellent name Lars will find :).

reply via email to

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