bug-autoconf
[Top][All Lists]
Advanced

[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.



reply via email to

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