Subject: bug#21461: grep --color can leave terminal in weird state after signal

From: Paul Eggert <[email-masked]>
Date: Fri, 11 Sep 2015 09:51:47 -0700

If grep --color is interrupted, either via ^C or ^Z or some other signal, it can 
leave the output terminal in a weird state.  This problem was noted by Giuseppe 
Scrivano in <http://bugs.gnu.org/20062#143> and I'm forwarding the report here. 
  One fix would be to do what GNU 'ls' does; note that SIGTSTP must be treated 
specially so that the color state resumes after restart; also, the signal 
handler just sets a flag that is polled periodically by the main code.