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

From: Stefan Monnier <[email-masked]>
Date: Sat, 24 Mar 2012 14:19:26 -0400

> 2. Set `diff-command' to "winmerge" and `diff-switches' to nil

I think I'm beginning to understand the problem a bit better.
I.e. the immediate problem for you is the fact that the new code uses
"-L <label>", but in reality, even in Emacs-23 there were problems with
your approach: your diff-command does not behave as expected, which
breaks some code that uses diff-command internally (I'd guess that
smerge-resolve and diff-refine-hunk are affected, for example), and you
may end up with a "spurious" *diff* buffer displayed even though you
don't actually want/need it since you'll view the diff in the winmerge
window instead.

So I think that putting winmerge into diff-command is working at too-low
a level (tho it's the only level available to you right now).  We'd want
instead to provide a new custom variable to let you choose your favorite
diff'ing tool, which can be a command like winmerge/kcompare/xxdiff, or
it could be diff+diff-mode (the current default behavior), or it could
be ediff.

For 24.1, we could provide a `diff-command-understands-L' which you
could set to nil (and which smerge-mode could also obey).

        Stefan