@@ -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