GNU bug report logs -
#19449
25.0.50; `auto-revert-tail-mode' tries to revert remote files even if `auto-revert-remote-files' is nil
Previous Next
Reported by: Filipp Gunbin <fgunbin <at> fastmail.fm>
Date: Fri, 26 Dec 2014 20:25:02 UTC
Severity: normal
Found in version 25.0.50
Done: Filipp Gunbin <fgunbin <at> fastmail.fm>
Bug is archived. No further changes may be made.
Full log
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
Below is the suggested patch.
Analysis:
When the `auto-revert-tail-mode' is called it temporarily enables
auto-revert-mode:
(or auto-revert-mode
(let ((auto-revert-tail-mode t))
(auto-revert-mode 1)))
`auto-revert-mode' then calls `auto-revert-buffers' which in turn calls
`auto-revert-handler' (fixed by the patch).
Then, this code yielded t:
+ (and (or auto-revert-mode
+ global-auto-revert-non-file-buffers)
which resulted as `revert' set to t.
In the end, `(auto-revert-tail-handler size)' was evaluted with nil
size.
This produces error:
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p nil)
auto-revert-tail-handler(nil)
Fix:
In `revert' value calculation, `or' is changed to `if'. The "then"
clause applies to file-visiting buffers, this is where the result of
`file-remote-p' is analyzed. The "else" clause case applies to non-file
buffers.
Ok to apply?
Filipp
diff --git a/lisp/autorevert.el b/lisp/autorevert.el
index f1074e2..514dc2b 100644
--- a/lisp/autorevert.el
+++ b/lisp/autorevert.el
@@ -589,8 +589,8 @@ This is an internal function used by Auto-Revert Mode."
;; the values.
(remote-file-name-inhibit-cache t)
(revert
- (or (and buffer-file-name
- (or auto-revert-remote-files
+ (if buffer-file-name
+ (and (or auto-revert-remote-files
(not (file-remote-p buffer-file-name)))
(or (not auto-revert-use-notify)
auto-revert-notify-modified-p)
@@ -603,11 +603,11 @@ This is an internal function used by Auto-Revert Mode."
(funcall (or buffer-stale-function
#'buffer-stale--default-function)
t)))
- (and (or auto-revert-mode
- global-auto-revert-non-file-buffers)
- (funcall (or buffer-stale-function
- #'buffer-stale--default-function)
- t))))
+ (and (or auto-revert-mode
+ global-auto-revert-non-file-buffers)
+ (funcall (or buffer-stale-function
+ #'buffer-stale--default-function)
+ t))))
eob eoblist)
(setq auto-revert-notify-modified-p nil)
(when revert
This bug report was last modified 10 years and 150 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.