On Wed, Jan 27, 2021 at 1:48 AM Eric Gallager <eg...@gwmail.gwu.edu> wrote:
> On Tue, Jan 26, 2021 at 4:00 PM Nick Bowler <nbow...@draconx.ca> wrote: > >> On 2021-01-26, egall--- via Bug reports for autoconf >> <bug-autoconf@gnu.org> wrote: >> > Say I have an M4 macro file with an AU_ALIAS usage in it like this: >> > >> > AU_ALIAS([BNV_HAVE_QT], [AX_HAVE_QT]) >> > >> > If I run autoupdate on this file, that will become: >> > >> > AU_ALIAS([AX_HAVE_QT], [AX_HAVE_QT]) >> > >> > This seems pointless, as now the AU_ALIAS won't do what it was >> originally >> > meant to do anymore. Perhaps autoupdate could be updated to stop making >> > this change. >> >> It does seem counterproductive. Unfortunately autoupdate doesn't actually >> understand m4 syntax so it often runs into problems similar this one. > > > Yeah, another one like this I noticed was autoupdate expanding macros in > comments, > which means I can't do things like this: > > dnl Can't use AC_TYPE_SIGNAL here because it is obsolete > or > # Stop using AC_HEADER_STDC here because it is deprecated > > (without escaping them, that is) > Also, another location to have autoupdate ignore would be inside of an AC_REQUIRE([]). I have seen autoupdate change: AC_REQUIRE([AC_HEADER_STDC])dnl ...into: AC_REQUIRE([m4_warn([obsolete], [The preprocessor macro `STDC_HEADERS' is obsolete. Except in unusual embedded environments, you can safely include all ISO C90 headers unconditionally.])dnl # Autoupdate added the next two lines to ensure that your configure # script's behavior did not change. They are probably safe to remove. AC_CHECK_INCLUDES_DEFAULT AC_PROG_EGREP ])dnl ...which is wrong. > > I'm sure it could be improved to better handle this specific case, though. >> >> But for the same reason, you should be able to work around the problem >> just by quoting differently, for example: >> >> AU_ALIAS([BNV_][HAVE_QT], [AX_HAVE_QT]) >> >> Cheers, >> Nick >> >