Deprecate the use of regexp.h
commit2ec11c2b6e92b3622f0dc0a970634156b286ccd8
authorZack Weinberg <zackw@panix.com>
Sat, 1 Aug 2015 18:38:05 +0000 (1 14:38 -0400)
committerCarlos O'Donell <carlos@systemhalted.org>
Sat, 1 Aug 2015 18:38:05 +0000 (1 14:38 -0400)
treec42213e95f79504a90f2fffa6defee7077d45265
parentf4ddb3557e80a193c4169bbaf01a0e7f556098b9
Deprecate the use of regexp.h

<regexp.h> (not to be confused with <regex.h>) is an obsolete and
frankly horrible regular expression-matching API.  It was part of SVID
but was withdrawn in Issue 5 (for reference, we're on Issue 7 now).
It doesn't do anything you can't do with <regex.h>, and using it
involves defining a bunch of macros before including the header.
Moreover, the code in regexp.h that uses those macros has been buggy
since its creation (in 1996) and no one has noticed, which indicates
to me that there are no users.  (Specifically, RETURN() is used in a
whole bunch of cases where it should have been ERROR().)

The header is given a warning and marked deprecated for 2.22.

See:
https://sourceware.org/ml/libc-alpha/2015-07/msg00862.html and
https://sourceware.org/ml/libc-alpha/2015-07/msg00871.html.
ChangeLog
NEWS
misc/regexp.c
misc/regexp.h