Subject: -f - option doesn't respond to single EOF from TTY.

From: Kaz Kylheku <[email-masked]>
Date: Thu, 19 Aug 2021 17:59:53 -0700

This reproduces on grep 3.1 on Ubuntu.

The command:

    grep -f -

should accept a list of patterns from standard input, like this:

    $ grep -f -
    pat1
    pat2
    pat3
    [Ctrl-D]

Upon receiving the EOF indication (zero byte read), the program
should immediately conclude that the list of patterns has ended,
and begin processing the input using the patterns.

This does not seem to be working. After a single Ctrl-D, grep is
still accumulating patterns:

It appears that Ctrl-D must be issued twice:

    $ grep -f -
    pat1
    [Ctrl-D] ;; effectively ignored
    pat2     ;; can add more patterns
    pat3
    [Ctrl-D]
    [Ctrl-D] ;; OK, now we are in the matching loop.
    pat3blahblah
    pat3blahblah
    ...

Cheers ...