Mercurial > emacs
annotate lisp/autorevert.el @ 53741:65b9f657ba94
*** empty log message ***
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Wed, 28 Jan 2004 23:33:32 +0000 |
parents | cd6072a24608 |
children | 0bcb32954b6f |
rev | line source |
---|---|
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
36992
diff
changeset
|
1 ;;; autorevert.el --- revert buffers when files on disk change |
18597 | 2 |
36992
55fdf25cbb27
(global-auto-revert-non-file-buffers): Remove
Gerd Moellmann <gerd@gnu.org>
parents:
27574
diff
changeset
|
3 ;; Copyright (C) 1997, 1998, 1999, 2001 Free Software Foundation, Inc. |
18597 | 4 |
26673
f649f6c04a54
(auto-revert-buffers): Auto-revert mode was turned
Gerd Moellmann <gerd@gnu.org>
parents:
26097
diff
changeset
|
5 ;; Author: Anders Lindgren <andersl@andersl.com> |
22250
a77d473867b8
*** empty log message ***
Dan Nicolaescu <done@ece.arizona.edu>
parents:
21289
diff
changeset
|
6 ;; Keywords: convenience |
26673
f649f6c04a54
(auto-revert-buffers): Auto-revert mode was turned
Gerd Moellmann <gerd@gnu.org>
parents:
26097
diff
changeset
|
7 ;; Created: 1997-06-01 |
f649f6c04a54
(auto-revert-buffers): Auto-revert mode was turned
Gerd Moellmann <gerd@gnu.org>
parents:
26097
diff
changeset
|
8 ;; Date: 1999-11-30 |
18597 | 9 |
10 ;; This file is part of GNU Emacs. | |
11 | |
12 ;; GNU Emacs is free software; you can redistribute it and/or modify | |
13 ;; it under the terms of the GNU General Public License as published by | |
14 ;; the Free Software Foundation; either version 2, or (at your option) | |
15 ;; any later version. | |
16 | |
17 ;; GNU Emacs is distributed in the hope that it will be useful, | |
18 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
20 ;; GNU General Public License for more details. | |
21 | |
22 ;; You should have received a copy of the GNU General Public License | |
23 ;; along with GNU Emacs; see the file COPYING. If not, write to the | |
24 ;; Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
25 ;; Boston, MA 02111-1307, USA. | |
26 | |
27 ;;; Commentary: | |
28 | |
29 ;; Introduction: | |
30 ;; | |
31 ;; Whenever a file that Emacs is editing has been changed by another | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
32 ;; program the user normally has to execute the command `revert-buffer' |
18597 | 33 ;; to load the new content of the file into Emacs. |
34 ;; | |
35 ;; This package contains two minor modes: Global Auto-Revert Mode and | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
36 ;; Auto-Revert Mode. Both modes automatically revert buffers |
18597 | 37 ;; whenever the corresponding files have been changed on disk. |
38 ;; | |
39 ;; Auto-Revert Mode can be activated for individual buffers. | |
40 ;; Global Auto-Revert Mode applies to all file buffers. | |
41 ;; | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
42 ;; Both modes operate by checking the time stamp of all files at |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
43 ;; intervals of `auto-revert-interval'. The default is every five |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
44 ;; seconds. The check is aborted whenever the user actually uses |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
45 ;; Emacs. You should never even notice that this package is active |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
46 ;; (except that your buffers will be reverted, of course). |
18597 | 47 |
48 ;; Usage: | |
49 ;; | |
50 ;; Go to the appropriate buffer and press: | |
51 ;; M-x auto-revert-mode RET | |
52 ;; | |
53 ;; To activate Global Auto-Revert Mode, press: | |
54 ;; M-x global-auto-revert-mode RET | |
55 ;; | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
56 ;; To activate Global Auto-Revert Mode every time Emacs is started |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
57 ;; customise the option `global-auto-revert-mode' or the following |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
58 ;; line could be added to your ~/.emacs: |
18597 | 59 ;; (global-auto-revert-mode 1) |
60 ;; | |
61 ;; The function `turn-on-auto-revert-mode' could be added to any major | |
62 ;; mode hook to activate Auto-Revert Mode for all buffers in that | |
63 ;; mode. For example, the following line will activate Auto-Revert | |
64 ;; Mode in all C mode buffers: | |
65 ;; | |
66 ;; (add-hook 'c-mode-hook 'turn-on-auto-revert-mode) | |
67 | |
68 ;;; Code: | |
69 | |
70 ;; Dependencies: | |
71 | |
72 (require 'timer) | |
73 (eval-when-compile (require 'cl)) | |
74 | |
75 | |
76 ;; Custom Group: | |
77 ;; | |
78 ;; The two modes will be placed next to Auto Save Mode under the | |
79 ;; Files group under Emacs. | |
80 | |
81 (defgroup auto-revert nil | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
82 "Revert individual buffers when files on disk change. |
18597 | 83 |
84 Auto-Revert Mode can be activated for individual buffer. | |
85 Global Auto-Revert Mode applies to all buffers." | |
22250
a77d473867b8
*** empty log message ***
Dan Nicolaescu <done@ece.arizona.edu>
parents:
21289
diff
changeset
|
86 :group 'files |
a77d473867b8
*** empty log message ***
Dan Nicolaescu <done@ece.arizona.edu>
parents:
21289
diff
changeset
|
87 :group 'convenience) |
18597 | 88 |
89 | |
90 ;; Variables: | |
91 | |
25215
5d684a6517db
(auto-revert-mode): Add autoload cookie.
Dave Love <fx@gnu.org>
parents:
22388
diff
changeset
|
92 ;; Autoload for the benefit of `make-mode-line-mouse-sensitive'. |
5d684a6517db
(auto-revert-mode): Add autoload cookie.
Dave Love <fx@gnu.org>
parents:
22388
diff
changeset
|
93 ;;;###autoload |
18597 | 94 (defvar auto-revert-mode nil |
95 "*Non-nil when Auto-Revert Mode is active. | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
96 Never set this variable directly, use the command `auto-revert-mode' instead.") |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
97 (put 'auto-revert-mode 'permanent-local t) |
18597 | 98 |
99 (defcustom auto-revert-interval 5 | |
53379
cd6072a24608
(auto-revert-interval): Doc fix.
Eli Zaretskii <eliz@is.elta.co.il>
parents:
52401
diff
changeset
|
100 "Time, in seconds, between Auto-Revert Mode file checks. |
cd6072a24608
(auto-revert-interval): Doc fix.
Eli Zaretskii <eliz@is.elta.co.il>
parents:
52401
diff
changeset
|
101 Setting this variable has no effect on buffers that are already in |
cd6072a24608
(auto-revert-interval): Doc fix.
Eli Zaretskii <eliz@is.elta.co.il>
parents:
52401
diff
changeset
|
102 auto-revert-mode; it only affects buffers that are put into |
cd6072a24608
(auto-revert-interval): Doc fix.
Eli Zaretskii <eliz@is.elta.co.il>
parents:
52401
diff
changeset
|
103 auto-revert-mode afterwards." |
18597 | 104 :group 'auto-revert |
105 :type 'integer) | |
106 | |
107 (defcustom auto-revert-stop-on-user-input t | |
108 "When non-nil Auto-Revert Mode stops checking files on user input." | |
109 :group 'auto-revert | |
110 :type 'boolean) | |
111 | |
112 (defcustom auto-revert-verbose t | |
113 "When nil, Auto-Revert Mode will not generate any messages. | |
114 | |
115 Currently, messages are generated when the mode is activated or | |
116 deactivated, and whenever a file is reverted." | |
117 :group 'auto-revert | |
118 :type 'boolean) | |
119 | |
120 (defcustom auto-revert-mode-text " ARev" | |
121 "String to display in the mode line when Auto-Revert Mode is active. | |
122 | |
123 \(When the string is not empty, make sure that it has a leading space.)" | |
124 :tag "Auto Revert Mode Text" ; To separate it from `global-...' | |
125 :group 'auto-revert | |
126 :type 'string) | |
127 | |
128 (defcustom auto-revert-mode-hook nil | |
129 "Functions to run when Auto-Revert Mode is activated." | |
130 :tag "Auto Revert Mode Hook" ; To separate it from `global-...' | |
131 :group 'auto-revert | |
132 :type 'hook) | |
133 | |
134 (defcustom global-auto-revert-mode-text "" | |
135 "String to display when Global Auto-Revert Mode is active. | |
136 | |
137 The default is nothing since when this mode is active this text doesn't | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
138 vary over time, or between buffers. Hence mode line text |
18597 | 139 would only waste precious space." |
140 :group 'auto-revert | |
141 :type 'string) | |
142 | |
143 (defcustom global-auto-revert-mode-hook nil | |
144 "Hook called when Global Auto-Revert Mode is activated." | |
145 :group 'auto-revert | |
146 :type 'hook) | |
147 | |
148 (defcustom global-auto-revert-non-file-buffers nil | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
149 "When nil only file buffers are reverted by Global Auto-Revert Mode. |
18597 | 150 |
151 When non-nil, both file buffers and buffers with a custom | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
152 `revert-buffer-function' are reverted by Global Auto-Revert Mode. |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
153 |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
154 Use this option with care since it could lead to excessive reverts." |
18597 | 155 :group 'auto-revert |
156 :type 'boolean) | |
157 | |
158 (defcustom global-auto-revert-ignore-modes '() | |
159 "List of major modes Global Auto-Revert Mode should not check." | |
160 :group 'auto-revert | |
161 :type '(repeat sexp)) | |
162 | |
163 (defcustom auto-revert-load-hook nil | |
164 "Functions to run when Auto-Revert Mode is first loaded." | |
165 :tag "Load Hook" | |
166 :group 'auto-revert | |
167 :type 'hook) | |
168 | |
169 (defvar global-auto-revert-ignore-buffer nil | |
20648
b644667dcd19
(global-auto-revert-ignore-buffer): Doc fix.
Richard M. Stallman <rms@gnu.org>
parents:
18597
diff
changeset
|
170 "*When non-nil, Global Auto-Revert Mode will not revert this buffer. |
18597 | 171 |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
172 This variable becomes buffer local when set in any fashion.") |
18597 | 173 (make-variable-buffer-local 'global-auto-revert-ignore-buffer) |
174 | |
175 | |
176 ;; Internal variables: | |
177 | |
178 (defvar auto-revert-buffer-list '() | |
179 "List of buffers in Auto-Revert Mode. | |
180 | |
181 Note that only Auto-Revert Mode, never Global Auto-Revert Mode, adds | |
182 buffers to this list. | |
183 | |
184 The timer function `auto-revert-buffers' is responsible for purging | |
185 the list of old buffers.") | |
186 | |
187 (defvar auto-revert-timer nil | |
188 "Timer used by Auto-Revert Mode.") | |
189 | |
190 (defvar auto-revert-remaining-buffers '() | |
191 "Buffers not checked when user input stopped execution.") | |
192 | |
193 | |
194 ;; Functions: | |
195 | |
196 ;;;###autoload | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
197 (define-minor-mode auto-revert-mode |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
198 "Toggle reverting buffer when file on disk changes. |
18597 | 199 |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
200 With arg, turn Auto Revert mode on if and only if arg is positive. |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
201 This is a minor mode that affects only the current buffer. |
18597 | 202 Use `global-auto-revert-mode' to automatically revert all buffers." |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
203 nil auto-revert-mode-text nil |
18597 | 204 (if auto-revert-mode |
205 (if (not (memq (current-buffer) auto-revert-buffer-list)) | |
206 (push (current-buffer) auto-revert-buffer-list)) | |
207 (setq auto-revert-buffer-list | |
208 (delq (current-buffer) auto-revert-buffer-list))) | |
209 (auto-revert-set-timer) | |
210 (when auto-revert-mode | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
211 (auto-revert-buffers))) |
18597 | 212 |
213 | |
214 ;;;###autoload | |
215 (defun turn-on-auto-revert-mode () | |
216 "Turn on Auto-Revert Mode. | |
217 | |
218 This function is designed to be added to hooks, for example: | |
219 (add-hook 'c-mode-hook 'turn-on-auto-revert-mode)" | |
220 (auto-revert-mode 1)) | |
221 | |
222 | |
223 ;;;###autoload | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
224 (define-minor-mode global-auto-revert-mode |
18597 | 225 "Revert any buffer when file on disk change. |
226 | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
227 With arg, turn Auto Revert mode on globally if and only if arg is positive. |
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
228 This is a minor mode that affects all buffers. |
18597 | 229 Use `auto-revert-mode' to revert a particular buffer." |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
230 :global t :group 'auto-revert :lighter global-auto-revert-mode-text |
18597 | 231 (auto-revert-set-timer) |
232 (when global-auto-revert-mode | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
233 (auto-revert-buffers))) |
18597 | 234 |
235 | |
236 (defun auto-revert-set-timer () | |
237 "Restart or cancel the timer." | |
238 (if (timerp auto-revert-timer) | |
239 (cancel-timer auto-revert-timer)) | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
240 (setq auto-revert-timer |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
241 (if (or global-auto-revert-mode auto-revert-buffer-list) |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
242 (run-with-timer auto-revert-interval |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
243 auto-revert-interval |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
244 'auto-revert-buffers) |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
245 nil))) |
18597 | 246 |
247 (defun auto-revert-buffers () | |
248 "Revert buffers as specified by Auto-Revert and Global Auto-Revert Mode. | |
249 | |
250 Should `global-auto-revert-mode' be active all file buffers are checked. | |
251 | |
252 Should `auto-revert-mode' be active in some buffers, those buffers | |
253 are checked. | |
254 | |
255 Non-file buffers that have a custom `revert-buffer-function' are | |
256 reverted either when Auto-Revert Mode is active in that buffer, or | |
257 when the variable `global-auto-revert-non-file-buffers' is non-nil | |
258 and Global Auto-Revert Mode is active. | |
259 | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
260 This function stops whenever there is user input. The buffers not |
18597 | 261 checked are stored in the variable `auto-revert-remaining-buffers'. |
262 | |
263 To avoid starvation, the buffers in `auto-revert-remaining-buffers' | |
264 are checked first the next time this function is called. | |
265 | |
21288
1b06a18f33fd
Various doc fixes, mainly grammar.
Dave Love <fx@gnu.org>
parents:
20648
diff
changeset
|
266 This function is also responsible for removing buffers no longer in |
18597 | 267 Auto-Revert mode from `auto-revert-buffer-list', and for canceling |
268 the timer when no buffers need to be checked." | |
269 (let ((bufs (if global-auto-revert-mode | |
270 (buffer-list) | |
271 auto-revert-buffer-list)) | |
272 (remaining '()) | |
273 (new '())) | |
274 ;; Partition `bufs' into two halves depending on whether or not | |
275 ;; the buffers are in `auto-revert-remaining-buffers'. The two | |
276 ;; halves are then re-joined with the "remaining" buffers at the | |
277 ;; head of the list. | |
278 (dolist (buf auto-revert-remaining-buffers) | |
279 (if (memq buf bufs) | |
280 (push buf remaining))) | |
281 (dolist (buf bufs) | |
282 (if (not (memq buf remaining)) | |
283 (push buf new))) | |
284 (setq bufs (nreverse (nconc new remaining))) | |
285 (while (and bufs | |
286 (not (and auto-revert-stop-on-user-input | |
287 (input-pending-p)))) | |
288 (let ((buf (car bufs))) | |
289 (if (buffer-name buf) ; Buffer still alive? | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
290 (with-current-buffer buf |
18597 | 291 ;; Test if someone has turned off Auto-Revert Mode in a |
292 ;; non-standard way, for example by changing major mode. | |
293 (if (and (not auto-revert-mode) | |
294 (memq buf auto-revert-buffer-list)) | |
295 (setq auto-revert-buffer-list | |
296 (delq buf auto-revert-buffer-list))) | |
297 (when (and | |
298 (or auto-revert-mode | |
299 (and | |
300 global-auto-revert-mode | |
301 (not global-auto-revert-ignore-buffer) | |
302 (not (memq major-mode | |
303 global-auto-revert-ignore-modes)))) | |
304 (not (buffer-modified-p)) | |
305 (if (buffer-file-name) | |
306 (and (file-readable-p (buffer-file-name)) | |
307 (not (verify-visited-file-modtime buf))) | |
308 (and revert-buffer-function | |
309 (or (and global-auto-revert-mode | |
310 global-auto-revert-non-file-buffers) | |
311 auto-revert-mode)))) | |
312 (if auto-revert-verbose | |
313 (message "Reverting buffer `%s'." buf)) | |
44456
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
314 (revert-buffer 'ignore-auto 'dont-ask 'preserve-modes) |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
315 ;; `preserve-modes' avoids changing the (minor) modes. But we |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
316 ;; do want to reset the mode for VC, so we do it explicitly. |
a7dbce305a53
(auto-revert-mode, global-auto-revert-mode):
Stefan Monnier <monnier@iro.umontreal.ca>
parents:
38436
diff
changeset
|
317 (vc-find-file-hook))) |
18597 | 318 ;; Remove dead buffer from `auto-revert-buffer-list'. |
319 (setq auto-revert-buffer-list | |
320 (delq buf auto-revert-buffer-list)))) | |
321 (setq bufs (cdr bufs))) | |
322 (setq auto-revert-remaining-buffers bufs) | |
323 ;; Check if we should cancel the timer. | |
324 (when (and (not global-auto-revert-mode) | |
325 (null auto-revert-buffer-list)) | |
326 (cancel-timer auto-revert-timer) | |
327 (setq auto-revert-timer nil)))) | |
328 | |
329 | |
330 ;; The end: | |
331 (provide 'autorevert) | |
332 | |
333 (run-hooks 'auto-revert-load-hook) | |
334 | |
52401 | 335 ;;; arch-tag: f6bcb07b-4841-477e-9e44-b18678e58876 |
38436
b174db545cfd
Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents:
36992
diff
changeset
|
336 ;;; autorevert.el ends here |