Subject: Re: bug#11067: 24.0.94.1; diff-buffer-with-file

From: Eli Zaretskii <[email-masked]>
Date: Sat, 24 Mar 2012 08:13:56 +0200

> From: Stefan Monnier <[email-masked]>
> Date: Fri, 23 Mar 2012 21:53:57 -0400
> Cc: [email-masked]
> 
> > http://alpha.gnu.org/gnu/emacs/windows/emacs-20120319-r107630-bin-i386.zip
> > and `diff-buffer-with-file' is not working like it did in Emacs 23.4.1
> > 1. Start emacs -Q
> > 2. Set `diff-command' to "winmerge" and `diff-switches' to nil
> 
> It seems that's your problem: winmerge is not a replacement for `diff'
> because it does not accept the "-L <label>" argument of diff.

Actually, winmerge _is_ a valid replacement, because it includes GNU
Diff as its part.  It's just that it doesn't know about -L, and
rightfully so, since that switch is undocumented in many versions of
Diff.

Regardless, I think it's obnoxious on the part of Emacs to stick
literal switches into a command without either (a) probing that the
command does indeed accept them, or (b) giving the user an opportunity
to customize these switches.