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: Arni Magnusson <arnima <at> hafro.is>
To: 11067 <at> debbugs.gnu.org
Subject: bug#11067: 24.0.94.1; diff-buffer-with-file
Date: Thu, 22 Mar 2012 14:54:16 +0000 (UTC)
I'm running Emacs 24.0.94.1 alpha,

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
3. Open a file, say c:/gnu/emacs/BUGS, make some changes without saving
4. M-x diff-buffer-with-file

Emacs 23.4.1 performs this task very nicely, but Emacs 24.0.94.1 alpha 
provides the external program with args that cannot be compared:

  c:\gnu\emacs\-L
  c:\gnu\emacs\BUGS

Examining the Emacs *Diff* buffer provides some insights. In Emacs 23.4.1 
it contains

  winmerge "c:/gnu/emacs/BUGS" "c:/Temp/buffer-content-3436L7C"

which looks sensible, but in Emacs 24.0.94.1 alpha it the *Diff* buffer 
contains

  winmerge "-L" "c:/gnu/emacs/BUGS" "-L" "#<buffer BUGS>" 
"c:/gnu/emacs/BUGS" "c:/Temp/buffer-content-2640boz"

which looks like 6 args instead of 2, including some "-L" options (even 
after specifically disabling all diff switches) and "#<buffer BUGS>" 
(probably of no use to an external program).

To me, it looks like version 24.0.94.1 of `diff-buffer-with-file' in 
diff.el should try harder to mimic the behavior of version 23.4.1 in 
files.el.

Many thanks,

Arni




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

Previous Next


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