Function: majutsu-ediff--cleanup-diffedit-variant-buffers

majutsu-ediff--cleanup-diffedit-variant-buffers is a natively compiled function defined in majutsu-ediff.el.

Signature

(majutsu-ediff--cleanup-diffedit-variant-buffers LEFT-FILE RIGHT-FILE LEFT-EXISTING RIGHT-EXISTING)

Documentation

Persist and close diffedit variant buffers created for this session.

Source Code

;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-ediff.el
(defun majutsu-ediff--cleanup-diffedit-variant-buffers
    (left-file right-file left-existing right-existing)
  "Persist and close diffedit variant buffers created for this session."
  (cl-labels ((force-kill (buffer)
                (when (buffer-live-p buffer)
                  (with-current-buffer buffer
                    ;; with-editor installs a kill guard that raises a user-error.
                    ;; Diffedit cleanup runs after the edit session has already
                    ;; finished, so bypass query hooks to avoid aborting quit flow.
                    (let ((kill-buffer-query-functions nil))
                      (kill-buffer buffer))))))
    (let* ((left-buffer (get-file-buffer left-file))
           (right-buffer (get-file-buffer right-file)))
      (when (and (buffer-live-p right-buffer)
                 (not right-existing))
        (with-current-buffer right-buffer
          (when (and (buffer-file-name)
                     (buffer-modified-p)
                     (file-writable-p (buffer-file-name)))
            (save-buffer)))
        (force-kill right-buffer))
      (when (and (buffer-live-p left-buffer)
                 (not left-existing))
        (force-kill left-buffer)))))