branch: elpa/magit
commit c1ac25deb182449eb5a4592ea8087387e5cb149b
Author: Jonas Bernoulli <[email protected]>
Commit: Jonas Bernoulli <[email protected]>
magit-ediff-resolve-rest: Cosmetics
Use the same approach to set `ediff-quit-hook'
as in `magit-ediff-buffers'.
---
lisp/magit-ediff.el | 45 ++++++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 19 deletions(-)
diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index 239219159c..4900cf26f5 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -208,25 +208,32 @@ and alternative commands."
(let ((winconf (current-window-configuration)))
(with-current-buffer (find-file-noselect file)
(smerge-ediff)
- (setq-local
- ediff-quit-hook
- (lambda ()
- (let ((bufC ediff-buffer-C)
- (bufS smerge-ediff-buf))
- (with-current-buffer bufS
- (when (yes-or-no-p
- (format "Conflict resolution finished; save %s? "
- buffer-file-name))
- (erase-buffer)
- (insert-buffer-substring bufC)
- (save-buffer))))
- (when (buffer-live-p ediff-buffer-A) (kill-buffer ediff-buffer-A))
- (when (buffer-live-p ediff-buffer-B) (kill-buffer ediff-buffer-B))
- (when (buffer-live-p ediff-buffer-C) (kill-buffer ediff-buffer-C))
- (when (buffer-live-p ediff-ancestor-buffer)
- (kill-buffer ediff-ancestor-buffer))
- (let ((magit-ediff-previous-winconf winconf))
- (run-hooks 'magit-ediff-quit-hook))))))))
+ (setq-local ediff-quit-hook nil)
+ (add-hook 'ediff-quit-hook
+ (lambda ()
+ (let ((bufC ediff-buffer-C)
+ (bufS smerge-ediff-buf))
+ (with-current-buffer bufS
+ (when (yes-or-no-p
+ (format "Conflict resolution finished; save %s?
"
+ buffer-file-name))
+ (erase-buffer)
+ (insert-buffer-substring bufC)
+ (save-buffer)))))
+ t t)
+ (add-hook 'ediff-quit-hook
+ (lambda ()
+ (when (buffer-live-p ediff-buffer-A) (kill-buffer
ediff-buffer-A))
+ (when (buffer-live-p ediff-buffer-B) (kill-buffer
ediff-buffer-B))
+ (when (buffer-live-p ediff-buffer-C) (kill-buffer
ediff-buffer-C))
+ (when (buffer-live-p ediff-ancestor-buffer)
+ (kill-buffer ediff-ancestor-buffer)))
+ t t)
+ (add-hook 'ediff-quit-hook
+ (lambda ()
+ (let ((magit-ediff-previous-winconf winconf))
+ (run-hooks 'magit-ediff-quit-hook)))
+ t t)))))
;;;###autoload(autoload 'magit-ediff-stage "magit-ediff" nil t)
(transient-define-suffix magit-ediff-stage (file)