;; To track non-file buffers, we need to listen in to buffer
;; creation in general. Listening to major-mode changes is
;; suitable, since we then know whether it's a mode that is tracked.
- (when global-auto-revert-non-file-buffers
- (add-hook 'after-change-major-mode-hook
- #'auto-revert--global-adopt-current-buffer))
+ (add-hook 'after-change-major-mode-hook
+ #'auto-revert--global-possibly-adopt-current-buffer)
(auto-revert-buffers))
;; Turn global-auto-revert-mode OFF.
(remove-hook 'after-change-major-mode-hook
- #'auto-revert--global-adopt-current-buffer)
+ #'auto-revert--global-possibly-adopt-current-buffer)
(remove-hook 'find-file-hook #'auto-revert--global-adopt-current-buffer)
(dolist (buf (buffer-list))
(with-current-buffer buf
nil)))
(setq auto-revert--global-mode t)))
+(defun auto-revert--global-possibly-adopt-current-buffer ()
+ "Consider tracking current buffer in a running Global Auto-Revert mode.
+This tracks buffers if `global-auto-revert-non-file-buffers' is non-nil."
+ (when global-auto-revert-non-file-buffers
+ (auto-revert--global-adopt-current-buffer)))
+
(defun auto-revert--global-adopt-current-buffer ()
"Consider tracking current buffer in a running Global Auto-Revert mode."
(auto-revert--global-add-current-buffer)