bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#38219: Error on leaving Ediff after killing vital buffer


From: Juri Linkov
Subject: bug#38219: Error on leaving Ediff after killing vital buffer
Date: Sun, 17 Nov 2019 23:28:36 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (x86_64-pc-linux-gnu)

> 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)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]