From: Mattias EngdegÄrd Date: Sat, 20 Apr 2019 11:16:37 +0000 (+0200) Subject: Precise handling of filenotify `stopped' events X-Git-Tag: emacs-27.0.90~3137 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=11e75b031baad4305b2a6fd52dc43d11d65c7dc5;p=emacs.git 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. --- 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.