aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLin Sun2024-12-15 06:52:17 +0000
committerEli Zaretskii2024-12-28 14:33:57 +0200
commit2ba49f8a12ea378cc38cd1f0eacd88b6ef7e74e4 (patch)
treeb314519271eccf897f0c3d3eda1360dbbc286566
parent63cc335a524ab5b6fb8e9bc93041382baf1321db (diff)
downloademacs-2ba49f8a12ea378cc38cd1f0eacd88b6ef7e74e4.tar.gz
emacs-2ba49f8a12ea378cc38cd1f0eacd88b6ef7e74e4.zip
* lisp/vc/ediff-util.el: Remove temp Ediff files on kill-emacs
(ediff--delete-temp-files-on-kill-emacs): New function. (ediff-setup): Install it in 'kill-emacs-hook'. (Bug#74881)
-rw-r--r--lisp/vc/ediff-util.el9
1 files changed, 9 insertions, 0 deletions
diff --git a/lisp/vc/ediff-util.el b/lisp/vc/ediff-util.el
index 6038f3eae30..87d6f7c4aec 100644
--- a/lisp/vc/ediff-util.el
+++ b/lisp/vc/ediff-util.el
@@ -213,6 +213,14 @@ to invocation.")
213 (fset 'ediff-mode-map ediff-mode-map) 213 (fset 'ediff-mode-map ediff-mode-map)
214 (run-hooks 'ediff-keymap-setup-hook)) 214 (run-hooks 'ediff-keymap-setup-hook))
215 215
216(defun ediff--delete-temp-files-on-kill-emacs ()
217 "Delete the temp-files associated with the ediff buffers."
218 (ignore-errors
219 (let ((inhibit-interaction t))
220 (dolist (b (buffer-list))
221 (with-current-buffer b
222 (when (eq major-mode 'ediff-mode)
223 (ediff-delete-temp-files)))))))
216 224
217;;; Setup functions 225;;; Setup functions
218 226
@@ -488,6 +496,7 @@ to invocation.")
488 (if (ediff-buffer-live-p ediff-meta-buffer) 496 (if (ediff-buffer-live-p ediff-meta-buffer)
489 (ediff-update-meta-buffer 497 (ediff-update-meta-buffer
490 ediff-meta-buffer nil ediff-meta-session-number)) 498 ediff-meta-buffer nil ediff-meta-session-number))
499 (add-hook 'kill-emacs-hook #'ediff--delete-temp-files-on-kill-emacs)
491 (run-hooks 'ediff-startup-hook) 500 (run-hooks 'ediff-startup-hook)
492 ) ; eval in control-buffer 501 ) ; eval in control-buffer
493 control-buffer)) 502 control-buffer))