Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: zsh and autoconf-2.50
- X-seq: zsh-workers 14623
- From: Akim Demaille <akim@xxxxxxxx>
- To: Clint Adams <clint@xxxxxxx>
- Subject: Re: zsh and autoconf-2.50
- Date: 31 May 2001 19:34:38 +0200
- Cc: Bart Schaefer <schaefer@xxxxxxxxxxxxxxxxxxxxxxx>, Jos Backus <josb@xxxxxxxxxx>, zsh-workers@xxxxxxxxxxxxxx, Autoconf List <autoconf@xxxxxxx>
- In-reply-to: <20010531094055.A12930@xxxxxxxx>
- Mailing-list: contact zsh-workers-help@xxxxxxxxxx; run by ezmlm
- References: <20010530144809.E47866@xxxxxxxxxxxxxxxxxx> <010530150208.ZM3863@xxxxxxxxxxxxxxxxxxxxxxx> <20010530184016.B3618@xxxxxxxx> <010530170846.ZM4077@xxxxxxxxxxxxxxxxxxxxxxx> <20010531094055.A12930@xxxxxxxx>
- Sender: Akim Demaille <akim@xxxxxxxx>
>>>>> "Clint" == Clint Adams <clint@xxxxxxx> writes:
>> > Yes, autoconf 2.50 undefines `define' and `undefine'.
>>
>> Whatever for?
Clint> It "renames" them to m4_define and m4_undefine. I don't know
Clint> why. Akim, can you enlighten us?
Err, this is both right and wrong :)
Autoconf is on top of M4sh, a pure sh layer, itself on top of M4sugar,
a pure M4 layer. It is today considered bad design to have kept some
primitive such as define etc. out of any pseudo name space. That's
why M4sugar moves all the builtins (but dnl) into the `m4_' pseudo
name space.
Nevertheless, for backward compatibility, autoconf.m4 restores these:
# We discourage the use of the non prefixed macro names: M4sugar maps
# all the builtins into `m4_'. Autoconf has been converted to these
# names too. But users may still depend upon these, so reestablish
# them.
m4_copy_unm4([m4_builtin])
m4_copy_unm4([m4_changequote])
m4_copy_unm4([m4_decr])
m4_copy_unm4([m4_define])
m4_copy_unm4([m4_defn])
m4_copy_unm4([m4_divert])
m4_copy_unm4([m4_divnum])
m4_copy_unm4([m4_errprint])
m4_copy_unm4([m4_esyscmd])
m4_copy_unm4([m4_ifdef])
m4_copy([m4_if], [ifelse])
m4_copy_unm4([m4_incr])
m4_copy_unm4([m4_index])
m4_copy_unm4([m4_indir])
m4_copy_unm4([m4_len])
m4_copy_unm4([m4_patsubst])
m4_copy_unm4([m4_popdef])
m4_copy_unm4([m4_pushdef])
m4_copy_unm4([m4_regexp])
m4_copy_unm4([m4_sinclude])
m4_copy_unm4([m4_syscmd])
m4_copy_unm4([m4_sysval])
m4_copy_unm4([m4_traceoff])
m4_copy_unm4([m4_traceon])
m4_copy_unm4([m4_translit])
m4_copy_unm4([m4_undefine])
m4_copy_unm4([m4_undivert])
So yes, define and undefine are undefined (in M4sh and M4sugar), but
no, you should not know about this (in Autoconf), you should not be
aware of it.
What happens?
Messages sorted by:
Reverse Date,
Date,
Thread,
Author