[Top][All Lists]
[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], $@)])
- m4_patsubst and m4_regexp,
Akim Demaille <=