Subject: bug#20728: 25.0.50; grep and grep-find templates should have a place holder for the --color argument

From: Eli Zaretskii <[email-masked]>
Date: Mon, 29 Jun 2015 18:15:19 +0300

> Cc: [email-masked]
> From: Dmitry Gutov <[email-masked]>
> Date: Mon, 29 Jun 2015 17:50:34 +0300
> 
> On 06/29/2015 05:44 PM, Eli Zaretskii wrote:
> 
> >> This doesn't answer my question, by the way. Would you like me to try to
> >> rephrase it?
> >
> > Do you still want to see it answered?
> 
> I'm assuming this is a rhetoric question.

I assumed so was yours.

> So: the value `auto' behaves as `nil' on Windows, so it's unreliable if 
> a given command supports highlighting of the matches.

No, 'auto' does NOT behave as 'nil' on Windows, not in general.  It
only behaves as 'nil' when Grep is invoked as an async subprocess,
because Windows uses pipes, not ptys, to do that.  Any system where
'process-connection-type' is 'nil' will exhibit this behavior.
Moreover, even on systems that do support ptys, Emacs will use pipes
if "all ptys are busy" (citing the ELisp manual).

> Why don't we write each command's implementation as if we're targeting 
> Windows? That would mean never using the value `auto', and yes, 
> explicitly binding grep-highlight-matches to nil in every command that 
> doesn't want `always'.

We could, I just don't know if we want to.  But I don't object to such
a change.