>vanity Presumably, "vanity" here is the older definition which more accurately renders as "frivolous" in modern English, as in not important or meaningless.
I think the point the GNU grep maintainers are making is that egrep and fgrep, much to my surprise, aren't actually part of POSIX. Personally, I think that's a bug in POSIX, and hopefully a future POSIX spec will mandate some implementation of egrep and fgrep, even if it's a `exec grep -E "$@"` implementation. Even with Busybox, which does the equivalent transformation in C code, it's about 10 lines of code, e.g. "if ((ENABLE_EGREP && applet_name[0] == 'e')" in the same "if" which checks for the "-E" flag. I would, as suggested earlier, just make it a non-POSIX GNU extension, even though POSIX itself points out that egrep and fgrep are around to not break old scripts. grep -P, with PCRE support, isn't POSIX either, so there's precedent to extend GNU grep beyond what POSIX mandates. -- Sam On Thu, Oct 13, 2022 at 3:00 PM Shlomi Fish <shlo...@shlomifish.org> wrote: > > hi all, > > On Thu, 13 Oct 2022 18:52:51 +0100 > Sam James <s...@gentoo.org> wrote: > > > > On 13 Oct 2022, at 18:46, Sam Trenholme <mara...@gmail.com> wrote: > > > > > > After spending nearly an hour updating all of the scripts in the test > > > framework for one of my open source projects to no longer use egrep, > > > I’m going to say it: > > > > > > We should not deprecate egrep and fgrep > > > > > > egrep and fgrep have been around since the 1970s, were in wide use > > > well over 25 years ago on the SunOS machines we used at the time, and > > > are widely supported, e.g. Busybox includes an fgrep and egrep. > > > > > > Even the Posix spec acknowledges that that should remain supported for > > > the foreseeable future: > > > > > > “The old egrep and fgrep commands are likely to be supported for many > > > years to come as implementation extensions, allowing historical > > > applications to operate unmodified.” > > > > > > See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/grep.html > > > > > > Here is the amount of headache I went through to replace egrep with grep > > > -E: > > > > > > https://github.com/samboy/MaraDNS/commit/afc9d1800f3a641bdf1bf14d39802443a34c2b70 > > > > > > There are countless other shell scripts out there on countless > > > machines which still use these commands. We should not lightly break > > > widely deployed software, especially software which only needs two > > > one-line shell scripts. > > > > Yep, I really do agree -- and Iv'e already provided examples of things > > which did break in the wild. Just make it a GNU extension and call it a day. > > > > While I sympathise with the maintainers' perspective, it's pretty > > clear that in reality, nobody actually realised it was "obsolescent" > > and in fact actively using it in new scripts. > > > > Really, speaking from my perspective, distribution maintainers have > > got enough going on with various fires (Clang 16, OpenSSL 3, > > time64 migration, ...) that handling various trivial-but-numerous > > grep bugs on top is not very helpful :( > > > > +1. hope i'm not "alayhum"ing / "lynch"ing here, but I agree that breaking > backcompat for vanity is bad. > > > Best, > > sam > > > > -- > > Shlomi Fish https://www.shlomifish.org/ > Perl Elems to Avoid - https://perl-begin.org/tutorials/bad-elements/ > > Chuck Norris knows who John Galt is. > — https://www.shlomifish.org/humour/bits/facts/Chuck-Norris/ > > Please reply to list if it's a mailing list post - https://shlom.in/reply .