On Saturday 13 November 2010, Ralf Wildenhues wrote: > * Stefano Lattarini wrote on Sat, Nov 13, 2010 at 12:32:49PM CET: > > * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsoleted, > > I think technically "obsolete" is right here, without trailing "d". OK. All instances fixed.
> > and tell that it should be removed two years from now. > > s/tell/state/ Fixed. > > (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete" > > category when this macro is used. > > * doc/automake.texi (Public Macros): Move description of > > `AM_WITH_REGEX' from here ... > > (Private Macros): ... to here, and declare it as obsoleted and > > Did you mean (Obsolete Macros) here? Yes, sorry. > > "to be removed in a future version". > > * tests/regex-obsolete.test: New test. > > That file is missing from the patch. Hmpf, forgotten `git add'. Sorry for the slopppiness. > Please resend and I'll finish the review. > > > * tests/Makefile.am (TESTS): Update. > > > +...@item AM_WITH_REGEX > > +...@acindex AM_WITH_REGEX > > +...@vindex WITH_REGEX > > +...@opindex --with-regex > > +...@cindex regex package > > +...@cindex rx package > > +Adds @option{--with-regex} to the @command{configure} command line. If > > +specified (the default), then the @samp{regex} regular expression > > +library is used, @file{regex.o} is put into @code{LIBOBJS}, and > > +...@code{with_regex} is defined. If @option{--without-regex} is given, > > then > > +the @code{rx} regular expression library is used, and @file{rx.o} is put > > +into @code{LIBOBJS}. This macro is obsolete now (since rx doesn't seem > > +to be maintained), and will be removed in a future version of Automake. > > Is rx a package? Where did you find traces to it? There was this in automake.texi: "@cindex rx package" Also, older comments in m4/regex.m4 read: # FIXME: This macro seems quite obsolete now since rx doesn't seem to # be maintained, while regex is. But I agree that the warning in AM_WITH_REGEX could be simplified to: "$0 is obsolete, since `rx' is unmantained now" That's what I've done in the attached amended patch. > How about adding "Consider using gnulib if you need regex > functionality."? OK, done. Thanks, Stefano
From 37b0aeedba10f06a079228a576a813536d188108 Mon Sep 17 00:00:00 2001 From: Stefano Lattarini <stefano.lattar...@gmail.com> Date: Sat, 13 Nov 2010 12:21:28 +0100 Subject: [PATCH] Deprecate obsolete macro AM_WITH_REGEX. * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete, and state that it should be removed two years from now. (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete" category when this macro is used. * doc/automake.texi (Public Macros): Move description of `AM_WITH_REGEX' from here ... (Obsolete Macros): ... to here, and declare it as obsolete and "to be removed in a future version". * tests/regex-obsolete.test: New test. * tests/Makefile.am (TESTS): Update. --- ChangeLog | 14 ++++++++++++++ doc/automake.texi | 28 +++++++++++++++------------- m4/regex.m4 | 12 +++++++----- tests/Makefile.am | 1 + tests/Makefile.in | 1 + tests/regex-obsolete.test | 32 ++++++++++++++++++++++++++++++++ 6 files changed, 70 insertions(+), 18 deletions(-) create mode 100755 tests/regex-obsolete.test diff --git a/ChangeLog b/ChangeLog index 24b20ae..2091761 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2010-11-13 Stefano Lattarini <stefano.lattar...@gmail.com> + + Deprecate obsolete macro AM_WITH_REGEX. + * m4/regex.m4: Document the `AM_WITH_REGEX' macro as obsolete, + and state that it should be removed two years from now. + (AM_WITH_REGEX): Raise an m4-time warning of the "obsolete" + category when this macro is used. + * doc/automake.texi (Public Macros): Move description of + `AM_WITH_REGEX' from here ... + (Obsolete Macros): ... to here, and declare it as obsolete + and "to be removed in a future version". + * tests/regex-obsolete.test: New test. + * tests/Makefile.am (TESTS): Update. + 2010-11-08 Stefano Lattarini <stefano.lattar...@gmail.com> Improve and extend tests on man pages support. diff --git a/doc/automake.texi b/doc/automake.texi index 5ae565c..c4a1902 100644 --- a/doc/automake.texi +++ b/doc/automake.texi @@ -3921,19 +3921,6 @@ Add support for the @uref{http://dmalloc.com/, Dmalloc package}. If the user runs @command{configure} with @option{--with-dmalloc}, then define @code{WITH_DMALLOC} and add @option{-ldmalloc} to @code{LIBS}. -...@item AM_WITH_REGEX -...@acindex AM_WITH_REGEX -...@vindex WITH_REGEX -...@opindex --with-regex -...@cindex regex package -...@cindex rx package -Adds @option{--with-regex} to the @command{configure} command line. If -specified (the default), then the @samp{regex} regular expression -library is used, @file{regex.o} is put into @code{LIBOBJS}, and -...@code{with_regex} is defined. If @option{--without-regex} is given, then -the @code{rx} regular expression library is used, and @file{rx.o} is put -into @code{LIBOBJS}. - @end table @@ -4009,6 +3996,21 @@ system. If so, set the shell variable @code{am_cv_sys_posix_termios} to @samp{yes}. If not, set the variable to @samp{no}. This macro is obsolete, you should use Autoconf's @code{AC_SYS_POSIX_TERMIOS} instead. +...@item AM_WITH_REGEX +...@acindex AM_WITH_REGEX +...@vindex WITH_REGEX +...@opindex --with-regex +...@cindex regex package +...@cindex rx package +Adds @option{--with-regex} to the @command{configure} command line. If +specified (the default), then the @samp{regex} regular expression +library is used, @file{regex.o} is put into @code{LIBOBJS}, and +...@code{with_regex} is defined. If @option{--without-regex} is given, then +the @samp{rx} regular expression library is used, and @file{rx.o} is put +into @code{LIBOBJS}. This macro is obsolete now (since @samp{rx} doesn't +seem to be maintained), and will be removed in a future version of +Automake. Consider using gnulib if you need regex functionality. + @end table diff --git a/m4/regex.m4 b/m4/regex.m4 index c05bb38..a453930 100644 --- a/m4/regex.m4 +++ b/m4/regex.m4 @@ -1,18 +1,21 @@ ## --------------------------------- ## -*- Autoconf -*- ## Check if --with-regex was given. ## ## --------------------------------- ## -# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, +# 2010 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 7 +# serial 8 # AM_WITH_REGEX # ------------- # +# THIS MACRO IS OBSOLETE now, since rx doesn't seem to be maintained, +# while regex is. This macro should be removed on 2013-01-01. +# # The idea is to distribute rx.[hc] and regex.[hc] together, for a # while. The WITH_REGEX symbol is used to decide which of regex.h or # rx.h should be included in the application. If `./configure @@ -23,10 +26,9 @@ # package will use the system's rx which, on Linux at least, will # result in a smaller executable file. # -# FIXME: This macro seems quite obsolete now since rx doesn't seem to -# be maintained, while regex is. AC_DEFUN([AM_WITH_REGEX], [AC_PREREQ(2.50)dnl +m4_warn([obsolete], [$0 is obsolete, since `rx' is unmantained now])dnl AC_LIBSOURCES([rx.h, rx.c, regex.c, regex.h])dnl AC_MSG_CHECKING([which of GNU rx or gawk's regex is wanted]) AC_ARG_WITH([regex], diff --git a/tests/Makefile.am b/tests/Makefile.am index a604da5..a221ffb 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -701,6 +701,7 @@ remake5.test \ remake6.test \ remake7.test \ regex.test \ +regex-obsolete.test \ req.test \ reqd.test \ reqd2.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 142ba54..d6a6877 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -963,6 +963,7 @@ remake5.test \ remake6.test \ remake7.test \ regex.test \ +regex-obsolete.test \ req.test \ reqd.test \ reqd2.test \ diff --git a/tests/regex-obsolete.test b/tests/regex-obsolete.test new file mode 100755 index 0000000..c283025 --- /dev/null +++ b/tests/regex-obsolete.test @@ -0,0 +1,32 @@ +#! /bin/sh +# Copyright (C) 2010 Free Software Foundation, Inc. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +# Check tha the AM_WITH_REGEX macro is reported as obsolete. + +. ./defs || Exit 1 + +set -e + +cat >> configure.in << 'END' +AM_WITH_REGEX +END + +$ACLOCAL +$AUTOCONF -Werror -Wobsolete 2>stderr && { cat stderr >&2; Exit 1; } +cat stderr >&2 +grep '^configure\.in:.*AM_WITH_REGEX.*obsolete' stderr + +: -- 1.7.1