;;; autorevert.el --- revert buffers when files on disk change
-;; Copyright (C) 1997, 1998, 1999, 2001, 2004 Free Software Foundation, Inc.
+;; Copyright (C) 1997, 1998, 1999, 2001, 2004, 2005 Free Software Foundation, Inc.
;; Author: Anders Lindgren <andersl@andersl.com>
;; Keywords: convenience
(defvar auto-revert-tail-mode nil
"*Non-nil when Auto-Revert Tail Mode is active.
-Never set this variable directly, use the command `auto-revert-mode' instead.")
+Never set this variable directly, use the command
+`auto-revert-tail-mode' instead.")
(put 'auto-revert-tail-mode 'permanent-local t)
(defvar auto-revert-timer nil
(auto-revert-set-timer))))
(defcustom auto-revert-stop-on-user-input t
- "When non-nil Auto-Revert Mode stops checking files on user input."
+ "When non-nil, user input temporarily interrupts Auto-Revert Mode.
+With this setting, Auto-Revert Mode checks for user input after
+handling each buffer and does not process any further buffers
+\(until the next run of the timer) if user input is available.
+When nil, Auto-Revert Mode checks files and reverts buffers,
+with quitting disabled, without paying attention to user input.
+Thus, with this setting, Emacs might be non-responsive at times."
:group 'auto-revert
:type 'boolean)
(defcustom auto-revert-verbose t
- "When nil, Auto-Revert Mode will not generate any messages.
+ "When nil, Auto-Revert Mode does not generate any messages.
When non-nil, a message is generated whenever a file is reverted."
:group 'auto-revert
:type 'boolean)
\(When the string is not empty, make sure that it has a leading space.)"
:group 'auto-revert
- :type 'string)
+ :type 'string
+ :version "22.1")
(defcustom auto-revert-mode-hook nil
"Functions to run when Auto-Revert Mode is activated."
control info every `auto-revert-interval' seconds. Nevertheless,
it should not cause excessive CPU usage on a reasonably fast
machine, if it does not apply to too many version controlled
-buffers. CPU usage depends on the version control system"
+buffers. CPU usage depends on the version control system."
:group 'auto-revert
:type 'boolean
- :version "21.4")
+ :version "22.1")
(defvar global-auto-revert-ignore-buffer nil
"*When non-nil, Global Auto-Revert Mode will not revert this buffer.
Use `global-auto-revert-mode' to automatically revert all buffers.
Use `auto-revert-tail-mode' if you know that the file will only grow
without being changed in the part that is already in the buffer."
- nil auto-revert-mode-text nil
+ :group 'auto-revert :lighter auto-revert-mode-text
(if auto-revert-mode
(if (not (memq (current-buffer) auto-revert-buffer-list))
(push (current-buffer) auto-revert-buffer-list))
(file buffer-file-name)
buffer-file-name) ; ignore that file has changed
(when (> size auto-revert-tail-pos)
+ (undo-boundary)
(save-restriction
(widen)
(save-excursion
(goto-char (point-max))
(insert-file-contents file nil auto-revert-tail-pos size)))
+ (undo-boundary)
(setq auto-revert-tail-pos size)
(set-buffer-modified-p modified)))
(set-visited-file-modtime))