From 11e75b031baad4305b2a6fd52dc43d11d65c7dc5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Mattias=20Engdeg=C3=A5rd?= Date: Sat, 20 Apr 2019 13:16:37 +0200 Subject: [PATCH] Precise handling of filenotify `stopped' events * lisp/autorevert.el (auto-revert-notify-handler): When getting a `stopped' event, deal with it for the buffers it applies to, rather than for all buffers in auto-revert mode. --- lisp/autorevert.el | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lisp/autorevert.el b/lisp/autorevert.el index 6f2415a3ae4..2d148d60951 100644 --- a/lisp/autorevert.el +++ b/lisp/autorevert.el @@ -594,19 +594,16 @@ no more reverts are possible until the next call of (if (eq action 'stopped) ;; File notification has stopped. Continue with polling. - (cl-dolist (buffer - (if global-auto-revert-mode - (buffer-list) auto-revert-buffer-list)) + (cl-dolist (buffer buffers) (with-current-buffer buffer - (when (and (equal descriptor auto-revert-notify-watch-descriptor) - (or - ;; A buffer associated with a file. - (and (stringp buffer-file-name) - (string-equal - (file-name-nondirectory file) - (file-name-nondirectory buffer-file-name))) - ;; A buffer w/o a file, like dired. - (null buffer-file-name))) + (when (or + ;; A buffer associated with a file. + (and (stringp buffer-file-name) + (string-equal + (file-name-nondirectory file) + (file-name-nondirectory buffer-file-name))) + ;; A buffer w/o a file, like dired. + (null buffer-file-name)) (auto-revert-notify-rm-watch)))) ;; Loop over all buffers, in order to find the intended one. -- 2.39.2