m4-patches
[Top][All Lists]
Advanced

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

Re: popdef(undefined), __m4_version__


From: Eric Blake
Subject: Re: popdef(undefined), __m4_version__
Date: Mon, 21 Jul 2008 21:58:28 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Ralf Wildenhues <Ralf.Wildenhues <at> gmx.de> writes:

> > * src/builtin.c (m4_undefine, m4_popdef): Add warning.
> > * src/symtab.c (lookup_symbol): Distinguish when deletion occurred.
> > * doc/m4.texinfo (Undefine, Pushdef): Document the warning.
> > * NEWS: Document this change, along with a 1.4.x compatibility
> > definition.
> 
> Aren't those warnings forbidden by POSIX?

No more so than any other warnings spewed by m4.  POSIX allows warnings as an 
extension, so think of the warnings as yet another GNU extension.  If you truly 
want a POSIX environment, you should be running 'm4 -Q -G' (m4 2.0 will change 
to make these options default if POSIXLY_CORRECT is set; but in m4 1.4.x/1.6 
you have to request POSIX mode).

Plus, it makes m4 self-consistent.  We have always been warning for the POSIX-
specified dumpdef(oops) (at least as far back as 1.4.3, which was before I was 
maintainer); and the change on the master branch to add warnings was prior to 
m4 1.4o (also before my time).  True, I'm not sure if autoconf is usable with 
m4 1.4o, but the intention has been there.

Finally, there is the matter of my documentation on how to revert to the 
behavior, if popping undefined variables is truly desired.

> 
> Anyway, current git Autoconf fails several tests with current branch-1.6 M4,
> most look related to autoupdate.  For example:
> 
> +/home/ralf/local/bin/m4:/tmp/auJL1116/unm4.m4:2: Warning: _au__undefine:
> undefined macro `'
> +/home/ralf/local/bin/m4:/tmp/auJL1116/unm4.m4:2: Warning: _au__undefine:
> undefined macro `builtin'

Which test names?  I'm looking into it now...

> 
> I assume that 2.62 will fail, too, thus M4 needs fixed or it won't be
> compatible with Autoconf 2.62.

Hopefully, it is just an incomplete patch on the autoconf side (I already went 
through several drafts on the autoconf side, after noticing that one of my 
versions broke autoscan), and not a fundamental incompatibility between 1.6 and 
2.62.

-- 
Eric Blake






reply via email to

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