[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: problem with AH_TOP in autoconf 2.53
From: |
Akim Demaille |
Subject: |
Re: problem with AH_TOP in autoconf 2.53 |
Date: |
22 Mar 2002 13:01:08 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Common Lisp) |
| There is a problem with 2.53 and constructs like this:
|
| AH_TOP([char foo[] = "\123";])
|
| The problem is that AS_LITERAL_IF is now using m4_bmatch instead of
| m4_if/m4_bregex. What happens is the following:
|
| AS_LITERAL_IF(73, [], [char foo...]) =>
| m4_bmatch([73], [[`$]], [], [char foo...]) =>
| m4_bmatch([73], [char foo...]) =>
| m4_if([$#], 0, [],
| [$#], 1, [],
| [$#], 2, [],
| m4_bregexp([73], [char foo[] = "\123";]), -1, ...)
|
| But because m4_if evaluates its arguments, the C-code gets parsed as a
| regexp.
|
| Solution: either make m4_bmatch handle this case (and possibly similar
| ones), or revert to the old definition of LITERAL_IF.
Hi! Thanks for the report, but I don't observe this problem:
/tmp % cat configure.ac nostromo 13:00
m4_define(toto, TOTOT)
AC_INIT
AC_CONFIG_HEADERS(config.h:config.hin)
AH_TOP([Top1 from toto[] configure.ac.])
AH_TOP([Top2 from toto[] configure.ac.])
AH_VERBATIM([Middle], [Middle from toto[] configure.ac.])
AH_BOTTOM([Bottom1 from toto[]configure.ac.])
AH_BOTTOM([Bottom2 from toto[]configure.ac.])
/tmp % /usr/bin/autoconf2.50 --version nostromo 13:00
autoconf (GNU Autoconf) 2.53
Written by David J. MacKenzie and Akim Demaille.
Copyright 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
/tmp % /usr/bin/autoconf2.50 --force nostromo 13:00
/tmp % cat config.hin nostromo 13:00
/* config.hin. Generated from configure.ac by autoheader. */
Top1 from toto[] configure.ac.
Top2 from toto[] configure.ac.
Middle from toto[] configure.ac.
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
Bottom1 from toto[]configure.ac.
Bottom2 from toto[]configure.ac.