| 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 :(

Reply via email to