[Top][All Lists]
[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
- popdef(undefined), __m4_version__, Eric Blake, 2008/07/19
- Re: popdef(undefined), __m4_version__, Ralf Wildenhues, 2008/07/21
- Re: popdef(undefined), __m4_version__,
Eric Blake <=
- Re: popdef(undefined), __m4_version__, Eric Blake, 2008/07/21
- Re: popdef(undefined), __m4_version__, Ralf Wildenhues, 2008/07/28
- Re: popdef(undefined), __m4_version__, Eric Blake, 2008/07/29
- Re: popdef(undefined), __m4_version__, Gary V. Vaughan, 2008/07/31