GNU bug report logs - #11067
diff-no-select assumes diff-command understands -L option

Previous Next

Package: emacs;

Reported by: Arni Magnusson <arnima <at> hafro.is>

Date: Thu, 22 Mar 2012 15:26:01 UTC

Severity: normal

Found in version 24.0.94.1

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Arni Magnusson <arnima <at> hafro.is>
Cc: 11067 <at> debbugs.gnu.org
Subject: bug#11067: 24.0.94.1; diff-buffer-with-file
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




This bug report was last modified 12 years and 103 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.