autoconf
[Top][All Lists]
Advanced

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

Re: AC quoting rules


From: Akim Demaille
Subject: Re: AC quoting rules
Date: 06 Feb 2002 09:35:13 +0100
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp)

>>>>> "Paul" == Paul Eggert <address@hidden> writes:

>> From: Akim Demaille <address@hidden> Date: 05 Feb 2002 11:46:29
>> +0100
>> 
Bruce> Ah, the light dimly dawns.  We need M4 to support
Bruce> pushquote/popquote.

>> changecom, changequote, changeword and changesyntax are only
>> command line options which are moved into the M4 language....
>> Using these guys during the execution is wrong.

Paul> Aren't you two in violent agreement?  I think Bruce now
Paul> understands why changequote doesn't work, and he is thinking of
Paul> a new GNU M4 feature that should do what he wants.  This feature
Paul> cannot be implemented in terms of changequote; it has to be a
Paul> primitive.

Paul> Obviously users can't employ the proposed GNU M4 primitive in
Paul> Autoconf now, since it doesn't exist yet, but I don't see why it
Paul> would have to be avoided if it did its job well.

I must be missing something here.  I fail to see how
pushquote/popquote (which I agree would be great for M4 diehards but
definitely not for Autoconf users/maintainers) would make changing
quotes a better thing.

The point is, if you change the syntax you endanger all the macros
between the push/popquote pair: you execute them with a syntax which
is different from the one is was written in.

Lemme use a very very rough image.  Of course it is exaggerated, but I
think it can help me make my point.

Imagine you have an AlCol interpreter, which provides you with means
to support the C syntax, or the Algol syntax.  It's great: you can
write in either language, but definitely it is not helpful when trying
to mix the languages.  If you started with C, then you cannot suddenly
switch to Algol, because all your assignments will be =, comparisons
will be == etc.

Introducing pushlanguage/poplanguage wouldn't help here, the problem
is simply mixing syntaxes, not recovering the previous one.


But of course, if you can *prove* when you pushlanguage that you never
invoke the other language before the poplanguage, it is sane.  But
then it means: you use no other Autoconf macro, and you don't use
users' arguments (given they, too, belong to the [ ] world).



reply via email to

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