autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

m4_patsubst and m4_regexp


From: Akim Demaille
Subject: m4_patsubst and m4_regexp
Date: 09 Oct 2001 16:35:13 +0200
User-agent: Gnus/5.0808 (Gnus v5.8.8) XEmacs/21.4 (Artificial Intelligence)

The next GNU M4 will provide ERE via epatsubst and eregexp.  I meant
to have M4sugar being clean, and in particular, it is BRE that should
have an ugly name, not ERE.  As a matter of fact, other M4, such as
OpenBSD's uses ERE for patsubst and regexp.

That's why I have now M4sugar provide m4_bpatsubst and m4_bregexp for
patsubst and regexp, while Autoconf still provides the latter two.
So the problem is only with code using never documented features:
m4_patsubst and m4_regexp.

Automake uses it, but that's very easily solvable.  I'm proposing the
following patch.  Do people see a problem with it?

Index: ChangeLog
from  Akim Demaille  <address@hidden>

        * lib/autoconf/autoconf.m4 (m4_patsubst, m4_regexp): New
        transition code.

Index: lib/autoconf/autoconf.m4
===================================================================
RCS file: /cvs/autoconf/lib/autoconf/autoconf.m4,v
retrieving revision 1.38
diff -u -u -r1.38 autoconf.m4
--- lib/autoconf/autoconf.m4 2001/10/08 08:22:33 1.38
+++ lib/autoconf/autoconf.m4 2001/10/09 14:21:24
@@ -104,3 +104,14 @@
 m4_copy_unm4([m4_translit])
 m4_copy_unm4([m4_undefine])
 m4_copy_unm4([m4_undivert])
+
+# Yet some people have started to use m4_patsubst and m4_regexp.
+m4_define([m4_patsubst],
+[m4_expand_once([m4_warn([syntax],
+                 [do not use m4_patsubst: use patsubst or m4_bpatsubst])])dnl
+m4_builtin([patsubst], $@)])
+
+m4_define([m4_regexp],
+[m4_expand_once([m4_warn([syntax],
+                 [do not use m4_regexp: use regexp or m4_bregexp])])dnl
+m4_builtin([regexp], $@)])



reply via email to

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