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