GNU bug report logs - #38219
Error on leaving Ediff after killing vital buffer

Previous Next

Package: emacs;

Reported by: Richard Copley <rcopley <at> gmail.com>

Date: Fri, 15 Nov 2019 13:52:02 UTC

Severity: normal

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

Full log


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

From: Juri Linkov <juri <at> linkov.net>
To: martin rudalics <rudalics <at> gmx.at>
Cc: Richard Copley <rcopley <at> gmail.com>, 38219 <at> debbugs.gnu.org
Subject: Re: bug#38219: Error on leaving Ediff after killing vital buffer
Date: Sun, 17 Nov 2019 23:28:36 +0200
> You could argue that 'ediff' already breaks
>
> (defalias 'y-or-n-p 'yes-or-no-p)
>
> They would probably say that consulting 'this-command' after a
> 'y-or-n-p' "has worked ever since".  Guess whose argument wins.

Good example.  This means that 'ediff' is broken, here is the fix:

diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index a481defe29..c85241b2ea 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -1038,6 +1038,7 @@ ediff-toggle-read-only
 			 (format
 			  "File %s is under version control.  Check it out? "
 			  (ediff-abbreviate-file-name file))))
+                   (setq this-command 'ediff-toggle-read-only)
 		   ;; if we checked the file out, we should also change the
 		   ;; original state of buffer-read-only to nil.  If we don't
 		   ;; do this, the mode line will show %%, since the file was
@@ -2379,6 +2380,7 @@ ediff-quit
 			      " & show containing session group" "")))
 	(progn
 	  (message "")
+          (setq this-command 'ediff-quit)
 	  (set-buffer ctl-buf)
 	  (ediff-really-quit reverse-default-keep-variants))
       (select-frame ctl-frm)




This bug report was last modified 5 years and 190 days ago.

Previous Next


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