]> code.delx.au - gnu-emacs/blobdiff - lisp/autorevert.el
(calc-time, calc-date-notation, math-this-year, math-parse-date)
[gnu-emacs] / lisp / autorevert.el
index 5f6d26bfabb85c7d1f910b3f1f48bf9527315c75..36b5a6f5a37a7d0379e31cf583ceb40485fe258a 100644 (file)
@@ -1,6 +1,6 @@
 ;;; 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
@@ -123,7 +123,8 @@ Never set this variable directly, use the command `auto-revert-mode' instead.")
 
 (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
@@ -149,12 +150,18 @@ next editing session."
              (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)
@@ -172,7 +179,8 @@ When non-nil, a message is generated whenever a file is reverted."
 
 \(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."
@@ -238,10 +246,10 @@ This currently works by automatically updating the version
 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.
@@ -282,7 +290,7 @@ This is a minor mode that affects only the current 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))
@@ -442,11 +450,13 @@ This is an internal function used by Auto-Revert Mode."
        (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))