GNU bug report logs - #45016
26.3; when in ediff-current-file, 'D' (view diff) shows empty diff

Previous Next

Package: emacs;

Reported by: Guilhem Bichot <guilhem.bichot <at> wanadoo.fr>

Date: Wed, 2 Dec 2020 21:05:01 UTC

Severity: normal

Found in version 26.3

Fixed in version 29.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 45016 in the body.
You can then email your comments to 45016 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#45016; Package emacs. (Wed, 02 Dec 2020 21:05:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Guilhem Bichot <guilhem.bichot <at> wanadoo.fr>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Wed, 02 Dec 2020 21:05:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Guilhem Bichot <guilhem.bichot <at> wanadoo.fr>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.3; when in ediff-current-file, 'D' (view diff) shows empty diff
Date: Wed, 2 Dec 2020 21:52:56 +0100
Hello!

* start emacs -Q
* create a file named, for example, /tmp/a
* put a line of text in it, save it
* add some characters to this line, don't save
* launch M-x ediff-current-file
* press D to view the diff
* a buffer opens to show the diff but it is empty. I expected to see a
non-empty diff (a context diff, as ediff-custom-diff-options is at its
default "-c").
* if instead of D I press C-u D then I do get a non-empty plain diff
(non-context, non-unified).

I'm using Emacs 26.3 from Ubuntu 20.04. I reproduced it on another Emacs
installation on another computer (CentOS 7) where I built Emacs 27.1 
from source.

Thank you for bringing Emacs to developers.

In GNU Emacs 26.3 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.14)
 of 2020-03-26, modified by Debian built on lcy01-amd64-020
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description:	Ubuntu 20.04.1 LTS

Recent messages:
Saving file /tmp/a...
Wrote /tmp/a
Making completion list...
Computing differences between ediffZdQdH1 and aEcIRJR ...
Buffer A: Processing difference region 0 of 1
Buffer B: Processing difference region 0 of 1
Processing difference regions ... done
Refining difference region 1 ...
Quit this Ediff session? (y or n) y
Making completion list...

Configured using:
 'configure --build x86_64-linux-gnu --prefix=/usr
 --sharedstatedir=/var/lib --libexecdir=/usr/lib
 --localstatedir=/var/lib --infodir=/usr/share/info
 --mandir=/usr/share/man --enable-libsystemd --with-pop=yes

--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --build
 x86_64-linux-gnu --prefix=/usr --sharedstatedir=/var/lib
 --libexecdir=/usr/lib --localstatedir=/var/lib
 --infodir=/usr/share/info --mandir=/usr/share/man --enable-libsystemd
 --with-pop=yes

--enable-locallisppath=/etc/emacs:/usr/local/share/emacs/26.3/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/26.3/site-lisp:/usr/share/emacs/site-lisp
 --with-sound=alsa --without-gconf --with-mailutils --with-x=yes
 --with-x-toolkit=gtk3 --with-toolkit-scroll-bars 'CFLAGS=-g -O2
 -fdebug-prefix-map=/build/emacs-mEZBk7/emacs-26.3+1=. 
-fstack-protector-strong
 -Wformat -Werror=format-security -Wall' 'CPPFLAGS=-Wdate-time
 -D_FORTIFY_SOURCE=2' 'LDFLAGS=-Wl,-Bsymbolic-functions -Wl,-z,relro''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GSETTINGS GLIB
NOTIFY ACL LIBSELINUX GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM THREADS LIBSYSTEMD LCMS2

Important settings:
  value of $LANG: fr_FR.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  diff-auto-refine-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny seq byte-opt gv
bytecomp byte-compile cconv dired dired-loaddefs format-spec rfc822 mml
mml-sec password-cache epa derived epg epg-config gnus-util rmail
rmail-loaddefs mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util mail-prsvr mail-utils diff-mode easymenu easy-mmode ediff-merg
ediff-wind ediff-diff ediff-mult ediff-help ediff-init cl-loaddefs
cl-lib ediff-util ediff elec-pair time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel term/x-win
x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode elisp-mode lisp-mode
prog-mode register page menu-bar rfn-eshadow isearch timer select
scroll-bar mouse jit-lock font-lock syntax facemenu font-core
term/tty-colors frame cl-generic cham georgian utf-8-lang misc-lang
vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932
hebrew greek romanian slovak czech european ethiopic indian cyrillic
chinese composite charscript charprop case-table epa-hook jka-cmpr-hook
help simple abbrev obarray minibuffer cl-preloaded nadvice loaddefs
button faces cus-face macroexp files text-properties overlay sha1 md5
base64 format env code-pages mule custom widget hashtable-print-readable
backquote threads dbusbind inotify lcms2 dynamic-setting
system-font-setting font-render-setting move-toolbar gtk x-toolkit x
multi-tty make-network-process emacs)

Memory information:
((conses 16 105677 13166)
 (symbols 48 21758 1)
 (miscs 40 67 140)
 (strings 32 31945 1163)
 (string-bytes 1 877549)
 (vectors 16 15315)
 (vector-slots 8 519098 11532)
 (floats 8 68 143)
 (intervals 56 282 0)
 (buffers 992 16))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45016; Package emacs. (Thu, 03 Dec 2020 11:20:02 GMT) Full text and rfc822 format available.

Message #8 received at 45016 <at> debbugs.gnu.org (full text, mbox):

From: Guilhem Bichot <guilhem.bichot <at> wanadoo.fr>
To: 45016 <at> debbugs.gnu.org
Subject: additional information
Date: Thu, 3 Dec 2020 12:19:23 +0100
Apparently a person hit this issue in 2016 too:
https://emacs.stackexchange.com/questions/22090/emacs-show-diff-output-produces-empty-buffer




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45016; Package emacs. (Sat, 23 Jan 2021 23:28:01 GMT) Full text and rfc822 format available.

Message #11 received at 45016 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Guilhem Bichot <guilhem.bichot <at> wanadoo.fr>
Cc: 45016 <at> debbugs.gnu.org
Subject: Re: bug#45016: 26.3; when in ediff-current-file, 'D' (view diff)
 shows empty diff
Date: Sun, 24 Jan 2021 00:27:19 +0100
Guilhem Bichot <guilhem.bichot <at> wanadoo.fr> writes:

> * start emacs -Q
> * create a file named, for example, /tmp/a
> * put a line of text in it, save it
> * add some characters to this line, don't save
> * launch M-x ediff-current-file
> * press D to view the diff
> * a buffer opens to show the diff but it is empty. I expected to see a
> non-empty diff (a context diff, as ediff-custom-diff-options is at its
> default "-c").
> * if instead of D I press C-u D then I do get a non-empty plain diff
> (non-context, non-unified).

This bug is still present in Emacs 28.

This is how the `D' command starts:

(defun ediff-show-diff-output (arg)
  (interactive "P")
[...]
  (let ((buf (cond ((and arg (ediff-buffer-live-p ediff-diff-buffer))
		    ediff-diff-buffer)
		   ((ediff-buffer-live-p ediff-custom-diff-buffer)
		    ediff-custom-diff-buffer)

There's helpfully no doc string here (or comments) about what `arg' is
meant to express, but if we have `arg', we work on `ediff-diff-buffer'
(and this works), and if we don't have `arg', then
`ediff-custom-diff-buffer' is used (and this doesn't work).

I'm pretty unfamiliar with ediff -- does anybody know what the intention
here is for the prefix arg?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#45016; Package emacs. (Mon, 09 May 2022 12:09:01 GMT) Full text and rfc822 format available.

Message #14 received at 45016 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Guilhem Bichot <guilhem.bichot <at> wanadoo.fr>
Cc: 45016 <at> debbugs.gnu.org
Subject: Re: bug#45016: 26.3; when in ediff-current-file, 'D' (view diff)
 shows empty diff
Date: Mon, 09 May 2022 14:07:34 +0200
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> There's helpfully no doc string here (or comments) about what `arg' is
> meant to express, but if we have `arg', we work on `ediff-diff-buffer'
> (and this works), and if we don't have `arg', then
> `ediff-custom-diff-buffer' is used (and this doesn't work).
>
> I'm pretty unfamiliar with ediff -- does anybody know what the intention
> here is for the prefix arg?

I looked around in the rest of ediff, and that clarified the purpose,
and I've now made it show the `C-u D' output when the customised output
didn't return anything in Emacs 29.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 29.1, send any further explanations to 45016 <at> debbugs.gnu.org and Guilhem Bichot <guilhem.bichot <at> wanadoo.fr> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Mon, 09 May 2022 12:09:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 07 Jun 2022 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 323 days ago.

Previous Next


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