summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMattias EngdegÄrd <mattiase@acm.org>2019-04-22 18:04:00 +0200
committerMattias EngdegÄrd <mattiase@acm.org>2019-04-22 18:06:10 +0200
commitf20c1ffd05aab43a14ade3c433216a6c6fbe4b24 (patch)
treea0e8d6351dd84cdb18e84947a484146f0813a035 /lisp
parent87d1dc19c933de522a6f4341701903b6418f3abe (diff)
downloademacs-f20c1ffd05aab43a14ade3c433216a6c6fbe4b24.tar.gz
* autorevert.el (auto-revert-notify-rm-watch): Simplify.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/autorevert.el22
1 files changed, 10 insertions, 12 deletions
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index 4fb865e8adb..6f2415a3ae4 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -499,18 +499,16 @@ will use an up-to-date value of `auto-revert-interval'"
(defun auto-revert-notify-rm-watch ()
"Disable file notification for current buffer's associated file."
- (when auto-revert-notify-watch-descriptor
- (maphash
- (lambda (key value)
- (when (equal key auto-revert-notify-watch-descriptor)
- (setq value (delete (current-buffer) value))
- (if value
- (puthash key value auto-revert-notify-watch-descriptor-hash-list)
- (remhash key auto-revert-notify-watch-descriptor-hash-list)
- (ignore-errors
- (file-notify-rm-watch auto-revert-notify-watch-descriptor)))))
- auto-revert-notify-watch-descriptor-hash-list)
- (remove-hook 'kill-buffer-hook #'auto-revert-notify-rm-watch t))
+ (let ((desc auto-revert-notify-watch-descriptor)
+ (table auto-revert-notify-watch-descriptor-hash-list))
+ (when desc
+ (let ((buffers (delq (current-buffer) (gethash desc table))))
+ (if buffers
+ (puthash desc buffers table)
+ (remhash desc table)))
+ (ignore-errors
+ (file-notify-rm-watch desc))
+ (remove-hook 'kill-buffer-hook #'auto-revert-notify-rm-watch t)))
(setq auto-revert-notify-watch-descriptor nil
auto-revert-notify-modified-p nil))