Re: Aclocal bug?
Eric Blake-1 <[email protected]>
| Newsgroups | gmane.comp.gnu.m4.patches |
|---|---|
| Message-ID | <[email protected]> |
> wow this is an interesting bug, I enjoyed analysing it! Indeed! > The cause is the following bug: > > $ echo "ifdef(\`MAC', bug)" |m4 --trace=MAC > bug > > I observed it in 1.4.[34], while 1.4.5 seems to be fixed. Actually, it was 1.4.4b that fixed it. From the NEWS file: * Tracing a macro by name is now persistent, even if the macro is subsequently undefined or redefined. The traceon and traceoff macros no longer warn about undefined symbols. This solves a crash when using indir on an undefined macro traced with the -t option, as well as an incorrect result of ifdef. Furthermore, tracing is no longer transferred with builtins, solving the bug of "m4 -tm4_eval" failing to give trace output on the input "define(`m4_eval',defn(`eval'))m4_eval(1)". > To build m4 HEAD, upgrade to m4 >= 1.4.5 first and things will just > work! I'm updating M4 bootstrap as follows: 2006-11-09 Eric Blake <[email protected]> * bootstrap: Validate that installed M4 is powerful enough. Reported by Gary V. Vaughan, analyzed by Stepan Kasal. Index: bootstrap =================================================================== RCS file: /sources/m4/m4/bootstrap,v retrieving revision 1.42 diff -u -r1.42 bootstrap --- bootstrap 2 Nov 2006 13:42:23 -0000 1.42 +++ bootstrap 9 Nov 2006 16:36:20 -0000 @@ -1,6 +1,6 @@ #! /bin/sh -# bootstrap (GNU M4) version 2006-11-02 +# bootstrap (GNU M4) version 2006-11-09 # Written by Gary V. Vaughan <[email protected]> # Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc. @@ -35,15 +35,16 @@ # You can also set the following variables to help $progname # locate the right tools: -# AUTOPOINT, AUTORECONF, AWK, GNULIB_TOOL, RM, SED, WGET +# AUTOPOINT, AUTORECONF, AWK, GNULIB_TOOL, M4, RM, SED, WGET # This script bootstraps a CVS checkout of GNU M4 by correctly calling # out to parts of the GNU Build Platform. Currently this requires GNU -# Gettext 0.16 or better, Autoconf 2.60 or better, a CVS snapshot of -# Automake 1.10a or better, a CVS snapshot of Libtool 2.1a or better, -# and the latest CVS checkout of Gnulib. Libtool must be installed; -# either with the same --prefix as automake, or made accessible to -# aclocal's search path via $AUTOMAKE_prefix/share/aclocal/dirlist. +# Gettext 0.16 or better, Autoconf 2.60 or better, GNU M4 1.4.5 or +# better, a CVS snapshot of Automake 1.10a or better, a CVS snapshot +# of Libtool 2.1a or better, and the latest CVS checkout of Gnulib. +# Libtool must be installed; either with the same --prefix as +# automake, or made accessible to aclocal's search path via +# $AUTOMAKE_prefix/share/aclocal/dirlist. # Report bugs to <[email protected]> @@ -51,6 +52,7 @@ : ${AUTORECONF=autoreconf} : ${AWK=awk} : ${GNULIB_TOOL=gnulib-tool} +: ${M4=m4} : ${RM=rm -f} : ${SED=sed} : ${WGET=wget} @@ -244,6 +246,14 @@ fi } +## ---------------------------------------------- ## +## Test that the installed M4 is powerful enough. ## +## M4 1.4.4 and earlier are insufficient. ## +## ---------------------------------------------- ## +if test -n "`echo 'ifdef(mac,bug)dnl' | $M4 --trace=mac`" ; then + func_fatal_error "Bootstrapping requires installed GNU M4 1.4.5 or greater." +fi + ## ------------------------------ ## ## Fetch translations. ## ## (taken from GNU tar bootstrap) ## -- View this message in context: http://www.nabble.com/branch-1_4-allow-C%2B%2B-on-Linux-tf2556408.html#a7261412 Sent from the Gnu - M4 - Patches mailing list archive at Nabble.com.