Skip to content

Commit 902d082

Browse files
committed
Check buffer liveness (both work buffers and source buffer)
Fixes #281
1 parent 7d873b2 commit 902d082

1 file changed

Lines changed: 17 additions & 15 deletions

File tree

diff-hl.el

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -730,27 +730,29 @@ Return a list of line overlays used."
730730
(diff-hl--resolve
731731
reference
732732
(lambda (ref-changes)
733-
(let ((ref-changes (diff-hl-adjust-changes ref-changes changes))
734-
reuse)
735-
(with-current-buffer orig
736-
(diff-hl-remove-overlays)
737-
(let ((diff-hl-highlight-function
738-
diff-hl-highlight-reference-function)
739-
(diff-hl-fringe-face-function
740-
diff-hl-fringe-reference-face-function))
741-
(setq reuse (diff-hl--update-overlays ref-changes nil)))
742-
(diff-hl--update-overlays changes reuse)
743-
(when (not (or changes ref-changes))
744-
(diff-hl--autohide-margin))))))))))
733+
(when (buffer-live-p orig)
734+
(let ((ref-changes (diff-hl-adjust-changes ref-changes changes))
735+
reuse)
736+
(with-current-buffer orig
737+
(diff-hl-remove-overlays)
738+
(let ((diff-hl-highlight-function
739+
diff-hl-highlight-reference-function)
740+
(diff-hl-fringe-face-function
741+
diff-hl-fringe-reference-face-function))
742+
(setq reuse (diff-hl--update-overlays ref-changes nil)))
743+
(diff-hl--update-overlays changes reuse)
744+
(when (not (or changes ref-changes))
745+
(diff-hl--autohide-margin)))))))))))
745746

746747
(defun diff-hl--resolve (value-or-buffer cb)
747748
(if (listp value-or-buffer)
748749
(funcall cb value-or-buffer)
749750
(static-if (fboundp 'vc-run-delayed-success)
750751
;; Emacs 31.
751-
(with-current-buffer value-or-buffer
752-
(vc-run-delayed-success 1
753-
(funcall cb (diff-hl-changes-from-buffer (current-buffer)))))
752+
(when (get-buffer value-or-buffer)
753+
(with-current-buffer value-or-buffer
754+
(vc-run-delayed-success 1
755+
(funcall cb (diff-hl-changes-from-buffer (current-buffer))))))
754756
(diff-hl--when-done value-or-buffer
755757
#'diff-hl-changes-from-buffer
756758
cb))))

0 commit comments

Comments
 (0)