GNU bug report logs - #1183
23.0.60; ediff-buffers is broken

Previous Next

Package: emacs;

Reported by: "Drew Adams" <drew.adams <at> oracle.com>

Date: Thu, 16 Oct 2008 18:55:03 UTC

Severity: normal

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Drew Adams <drew.adams <at> oracle.com>, 1183 <at> debbugs.gnu.org
Cc: emacs-pretest-bug <at> gnu.org, bug-gnu-emacs <at> gnu.org
Subject: bug#1183: 23.0.60; ediff-buffers is broken
Date: Thu, 16 Oct 2008 22:25:25 +0200
> From: "Drew Adams" <drew.adams <at> oracle.com>
> Date: Thu, 16 Oct 2008 11:47:11 -0700
> Cc: 
> 
> emacs -Q
>  
> Visit both the bookmark.el file from this installation (see below) and
> a copy of bookmark.el from CVS for today, 2008-10-16.
>  
> The only difference between the two files is in fact this text which
> was added to the CVS version near the end of the file, just before
> run-hooks:
>  
> (defun bookmark-unload-function ()
>   "Unload the Bookmark library."
>   (when bookmark-save-flag (bookmark-save))
>   ;; continue standard unloading
>   nil)
>  
> You can see this by using ediff in Emacs 22, 21, or 20 - or by using
> diff.
>  
> However, ediff-buffers shows the entire buffers as a single diff, and
> hitting `*' to refine that diff has no effect at all. IOW,
> ediff-buffers is now useless for seeing the differences between these
> two files.

I don't have the ``bookmark.el file from this installation'' (you
didn't attach it), so I produced it manually by copying today's
bookmark.el and then removing the function bookmark-unload-function.

With these two files, I can only reproduce this with Emacs built on
Windows from today's CVS if one of the files has Unix end-of-line
format, while the other has DOS/Windows EOL format.  Is that your
case?

If so, this is expected: Ediff on Windows invokes the `diff' program
with the --binary option (see ediff-diff-options), which makes all
lines compare not equal due to the different line endings.  You can
see this by using `diff' directly from the shell's prompt, if you pass
it the --binary option.

If both files have identical EOL format, Ediff produces the output
you'd expect.

(The reason for the --binary option is to allow comparison of buffers
and files with non-ASCII text, which IMO is a much more important
use-case than two almost identical files with different line endings.)




This bug report was last modified 16 years and 218 days ago.

Previous Next


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