[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#19449: 25.0.50; `auto-revert-tail-mode' tries to revert remote files
From: |
Filipp Gunbin |
Subject: |
bug#19449: 25.0.50; `auto-revert-tail-mode' tries to revert remote files even if `auto-revert-remote-files' is nil |
Date: |
Fri, 26 Dec 2014 23:24:43 +0300 |
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
- bug#19449: 25.0.50; `auto-revert-tail-mode' tries to revert remote files even if `auto-revert-remote-files' is nil,
Filipp Gunbin <=