On Thursday, 18.05.2017 at 05:28 +0200, Francois Gouget wrote:

> Dear Maintainer,
> 
> The README says that one can do:
> 
>     If you want to force disable colour escape sequences (for example
>     pipe the output to patch), you can use option '--color=no' to do
>     so:
> 
>     $ diff -u file1 file2 | colordiff --color=no | patch -p0 -d 
> another-working-dir
> 
> 
> However in 1.0.16 this does not work bcause $color_patch is only used
> if output is to a file:
> 
>     if ((-f STDOUT) && ($color_patch == 0)) {
>         ... disable color output ...
> 
> 
> So I propose the attached patch to make sure that *if set*
> $color_patch can override the automatic decisions either way.
> 
> It would also make sense to ship a /etc/colordiffrc file where
> color_patches is set to auto, but whatever the case one would be able
> to get the desired behavior by using --color=XXX on the command line.

[Back story: The 'color=no' behaviour was introduced to address the
rather perverse (in my opinion) requirement of that command line above
contributed by a user.  As designed, the middle section of the pipe
'colordiff --color=no' serves *no purpose whatsoever* and should be
omitted but someone required it in some odd corner case.]

I accept that the documentation and the code don't match and that your
patch sounds sensible.

I'll either accept entirely as-is or, possibly, slightly modified.
Given the primary purpose of colordiff is to add colour, in the case of
any ambiguity, it will add colour rather than not.  I agree that if one
explicitly says 'color=no' it shouldn't add colour; even though this
remains in my eyes and entirely pointless & unnecessary use of
colordiff!

Thanks Francois :-)

Dave.

-- 
Dave Ewart da...@sungate.co.uk, http://twitter.com/DaveEwart
All email from me is digitally signed, http://www.sungate.co.uk/
GPG key updated Jan 2013 see http://www.sungate.co.uk/gpg
Fingerprint: CF3A 93EF 01E6 16C5 AE7A  1D27 45E1 E473 378B B197

Attachment: signature.asc
Description: Digital signature

Reply via email to