| On Aug 3, 2000, Akim Demaille <[EMAIL PROTECTED]> wrote:
| > | In Amanda, we used to have an AC_MSG_WARN whose text contained `#'.
| > | It worked fine with autoconf 2.13. With CVS autoconf, we get:
|
| > Quote your literal argument twice.
|
| Thanks, but I already knew how to fix it in the configure script. My
| problem was with the behavioral change, as the subject was supposed to
| indicate. We've broken an existing configure.in that was (arguably)
| correct. (In fact, there were some quoting problems, but those were
| indeed bugs in the configure.in script itself.)
And the present case is another. Not double quoting literals with
active characters is asking for troubles.
| > Quoting once means you want all the macros which will be call to keep
| > the argument unevaluated until you hit the bottom, and *then* it's
| > expanded.
|
| What I didn't understand is why AC_FD_MSG used to be expanded in the
| past, and it no longer was. But I've just noticed that AC_FD_MSG
| didn't exist in autoconf 2.13.
Yep, that's right. The macro was somewhat auto-immune to this.
| Anyway, I see two ways to fix this problem in the current autoconf.
|
| (i) We may add `\ LF' before the redirection, so that the redirection
| would be in a different line, unaffected by `#'.
|
| (ii) We might be able to detect unquoted `#'s in _AC_SH_QUOTE and
| then enable some backward-compatible behavior by quoting `#' or some
| such.
|
| I seem to prefer the latter, but the former is easier :-)
I think this is overkill.
This is bugward compatibility :(