autoconf-patches
[Top][All Lists]
Advanced

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

Re: FYI: loop in libtool m4 macros


From: Stepan Kasal
Subject: Re: FYI: loop in libtool m4 macros
Date: Tue, 28 Jun 2005 11:22:00 +0200
User-agent: Mutt/1.4.1i

Hi,

On Mon, Jun 27, 2005 at 06:21:48PM +0200, Ralf Wildenhues wrote:
> > ... where reasonable submit documentation patches to the 
> > Autoconf folks.
> > 
> > m4sugar.m4 at least should have a documented API that libtool and others 
> > can use...
> 
> Surely.  I'm not volunteering for the documentation patches,

no one is, that's the problem.  ;-)

> a preliminary list of macros used by Libtool macros [...]
> not defined in autoconf.texi:

Let me comment on some of them:

> m4_bmatch

This (and m4_bregexp and m4_bpatsubst) is an unfortunate name.
The intention was like this:
in future versions, m4 should use ERE (Extended Reg. Expr., like in egrep),
so lets rename the original ones to m4_b*, as BRE (Basic R. E., like in grep).

But m4 regular expressions are not BRE, even though they use \( \) for
grouping.

Unfortunately, this mistake was introduced in 2.53, and since then many
people read the error message ``Don't use m4_patsubst, use patsubst or
m4_bpatsubst instead.''

I don't know how to get out of this confusion.
Perhaps we have to leave it as it is; m4_b* will denote the traditional m4
regexp versions, and m4_* will be the ERE versions.

> m4_defun
> m4_require

Why do you use these and not AC_DEFUN and AC_REQUIRE?
But I agree that these should be documented, for the non-Autoconf applications
of m4sugar and m4sh.

All other macros you netion in the first list should be documented, including:

> mentioned in autoconf.texi, but not defined:
> m4_default

> not defined in autoconf.texi, but listed in m4.texi (renamed m4 builtins):
> m4_ifdef
> m4_pushdef

These are documented implicitly, and in the latest CVS version they even go
to the index, search for address@hidden''.

So these are OK.

Have a nice day,
        Stepan Kasal




reply via email to

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