Subject: Re: bug#51860: [PATCH] Reinstate Binary file matches to stdout

From: Duncan Roe <[email-masked]>
Date: Fri, 19 Nov 2021 12:19:12 +1100

Bug#33552 refers to -I not working which was already fixed by c3245083 before
271793f0. (c3245083 shows up before 271793f0 in `git log` although commit times
are in reverse order).

With regard to Bug#29668: they can use `grep -s -I`.
Their real problem was that `-I` didn't work.

Now to the problems the change caused for me:

Background: I have a collection[1] of find/grep commands all designed to be
piped into `less`. They all use `grep --line-buffered` (since `less` to the tty
will be line buffered), grep -s (to avoid stderr output which would mess up
`less`) and `sed -u` (approximately line buffered as well).

My distro is Slackware and most of the time I use the 14.2 bare metal system
which has grep 2.25. So I didn't see the altered grep behaviour until I had a
Slackware Current (15.0 Beta) VM.

On the 15.0 VM I was searching in a build directory for why a program was
complaining about a shared library it had no business using. So I searched via
the `yfl` symlink (which "always" finds everything) and found ... nothing. Not
even a binary match in the executable. I spent some time reviewing the `sfl`
script before I twigged it was changed grep behaviour.

(BTW the executable was the only match. I had left LIBS in the environment from
something else I was working on).

I could go on, but hope I have said enough.

[1] https://github.com/duncan-roe/command_line_tools/blob/master/bin/sfl
    There are 21 symlinks to this script, for a total of 22 commands.