]> git.eshelyaron.com Git - emacs.git/commitdiff
Make global-auto-revert-non-file-buffers work better
authorLars Ingebrigtsen <larsi@gnus.org>
Tue, 21 Sep 2021 21:09:34 +0000 (23:09 +0200)
committerLars Ingebrigtsen <larsi@gnus.org>
Tue, 21 Sep 2021 21:09:38 +0000 (23:09 +0200)
* lisp/autorevert.el (global-auto-revert-mode): Always switch on
the non-file tracking.
(auto-revert--global-possibly-adopt-current-buffer): New function
to respect dynamically changing `global-auto-revert-non-file-buffers'.

lisp/autorevert.el

index c8fe205946c5ed1fa6029223b21e78187f5fca31..5b1cd32247187790e69d1c35f6fe86926d9ae743 100644 (file)
@@ -521,13 +521,12 @@ specifies in the mode line."
         ;; 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
@@ -556,6 +555,12 @@ specifies in the mode line."
                    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)