perf(magit): optimize +magit-mark-stale-buffers-h

For cases where the user has *many* buffers open in long-lived sessions.
This commit is contained in:
Henrik Lissner
2025-04-02 03:18:08 -04:00
parent 653b465c74
commit cf41865693

View File

@ -114,12 +114,15 @@ window that already exists in that direction. It will split otherwise."
Stale buffers are reverted when they are switched to, assuming they haven't been Stale buffers are reverted when they are switched to, assuming they haven't been
modified." modified."
(dolist (buffer (buffer-list)) (let ((visible-buffers (doom-visible-buffers nil t)))
(when (buffer-live-p buffer) (dolist (buffer (buffer-list))
(if (get-buffer-window buffer) (when (buffer-live-p buffer)
(+magit--revert-buffer buffer) (if (memq buffer visible-buffers)
(with-current-buffer buffer (progn
(setq-local +magit--stale-p t)))))) (+magit--revert-buffer buffer)
(cl-callf2 delq buffer visible-buffers)) ; hasten future lookups
(with-current-buffer buffer
(setq-local +magit--stale-p t)))))))
;;;###autoload ;;;###autoload
(defun +magit-revert-buffer-maybe-h () (defun +magit-revert-buffer-maybe-h ()