Hello,
  when Dan Manthey was writing his ingenious implementation of multiline
substitutions, my pesky comments "what if the user does AC_SUBST(ac_delim)"
has made him to include a special check for this.

I deleted that check now.  See the attached patch.

First, the check was buggy anyway: it contained s/ac_delim/ instead of
s/@ac_delim@/

Second, I think this check is making the code less readable.
It would be better to call
        AC_FATAL([[Do not AC_SUBST([ac_delim]).]])
directly from AC_SUBST.

But I think the check is not necessary at all; ac_* variables are internal,
so you should not be surprised that things explode when you touch them.

Have a nice day,
        Stepan
2006-03-17  Stepan Kasal  <[EMAIL PROTECTED]>

        * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Do not special
          case `ac_delim' when writing the sed script.

Index: lib/autoconf/status.m4
===================================================================
RCS file: /cvsroot/autoconf/autoconf/lib/autoconf/status.m4,v
retrieving revision 1.86
diff -u -r1.86 status.m4
--- lib/autoconf/status.m4      6 Mar 2006 22:34:34 -0000       1.86
+++ lib/autoconf/status.m4      17 Mar 2006 15:50:48 -0000
@@ -386,14 +386,7 @@
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
 ])])dnl
-m4_if(_AC_Var, [ac_delim],
-[dnl Just to be on the safe side, claim that $ac_delim is the empty string.
-m4_define([_AC_SED_FRAG],
-m4_defn([_AC_SED_FRAG])dnl
-[s/ac_delim/|#_!!_#|/g
-])dnl
-m4_define([_AC_SED_CMD_NUM], m4_incr(_AC_SED_CMD_NUM))],
-      _AC_Var, [EMAIL PROTECTED]@],
+m4_if(_AC_Var, [EMAIL PROTECTED]@],
       [m4_if(m4_eval(_AC_SED_CMD_NUM + 2 <= _AC_SED_CMD_LIMIT), 1,
              [m4_define([_AC_SED_FRAG], [ end]m4_defn([_AC_SED_FRAG]))])],
 [m4_define([_AC_SED_CMD_NUM], m4_incr(_AC_SED_CMD_NUM))dnl

Reply via email to