From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Luc Teirlinck Newsgroups: gmane.emacs.devel Subject: Re: Problems with latest CVS. Date: Tue, 17 Feb 2004 19:10:36 -0600 (CST) Sender: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Message-ID: <200402180110.i1I1Aa915133@raven.dms.auburn.edu> References: <200402162237.i1GMbYh08219@raven.dms.auburn.edu> <200402162247.i1GMlin08356@raven.dms.auburn.edu> <200402162255.i1GMtis08363@raven.dms.auburn.edu> <200402170249.i1H2nIv09314@raven.dms.auburn.edu> <200402171647.i1HGlVm11638@raven.dms.auburn.edu> <200402171953.i1HJrkY12783@raven.dms.auburn.edu> <200402180008.i1I08Z814941@raven.dms.auburn.edu> <200402180059.i1I0xw015086@raven.dms.auburn.edu> NNTP-Posting-Host: deer.gmane.org X-Trace: sea.gmane.org 1077066919 23083 80.91.224.253 (18 Feb 2004 01:15:19 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Wed, 18 Feb 2004 01:15:19 +0000 (UTC) Cc: eliz@elta.co.il, jari.aalto@poboxes.com, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Wed Feb 18 02:15:13 2004 Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AtGIz-0008Ss-00 for ; Wed, 18 Feb 2004 02:15:13 +0100 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1AtGIz-000885-00 for ; Wed, 18 Feb 2004 02:15:13 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AtGIe-0005Ep-FS for emacs-devel@quimby.gnus.org; Tue, 17 Feb 2004 20:14:52 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AtGI9-0005Cu-KS for emacs-devel@gnu.org; Tue, 17 Feb 2004 20:14:21 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AtGHO-00054H-M4 for emacs-devel@gnu.org; Tue, 17 Feb 2004 20:14:05 -0500 Original-Received: from [131.204.53.104] (helo=manatee.dms.auburn.edu) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AtGF4-0004Zn-1z for emacs-devel@gnu.org; Tue, 17 Feb 2004 20:11:10 -0500 Original-Received: from raven.dms.auburn.edu (raven.dms.auburn.edu [131.204.53.29]) by manatee.dms.auburn.edu (8.12.10/8.12.10) with ESMTP id i1I1B3Kt010983; Tue, 17 Feb 2004 19:11:03 -0600 (CST) Original-Received: (from teirllm@localhost) by raven.dms.auburn.edu (8.11.6+Sun/8.11.6) id i1I1Aa915133; Tue, 17 Feb 2004 19:10:36 -0600 (CST) X-Authentication-Warning: raven.dms.auburn.edu: teirllm set sender to teirllm@dms.auburn.edu using -f Original-To: teirllm@dms.auburn.edu In-reply-to: <200402180059.i1I0xw015086@raven.dms.auburn.edu> (message from Luc Teirlinck on Tue, 17 Feb 2004 18:59:58 -0600 (CST)) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.2 Precedence: list List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+emacs-devel=quimby.gnus.org@gnu.org Xref: main.gmane.org gmane.emacs.devel:20036 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:20036 Latest patch. (Deletes two more functions and adds to a docstring. No other changes.) I could commit if desired. ===File ~/autorevert-newdiff================================ *** autorevert.el.~1.21.~ Mon Feb 16 20:04:45 2004 --- autorevert.el Tue Feb 17 18:25:15 2004 *************** *** 158,164 **** When non-nil, both file buffers and buffers with a custom `revert-buffer-function' are reverted by Global Auto-Revert Mode. ! Use this option with care since it could lead to excessive reverts." :group 'auto-revert :type 'boolean) --- 158,169 ---- When non-nil, both file buffers and buffers with a custom `revert-buffer-function' are reverted by Global Auto-Revert Mode. ! Use this option with care since it could lead to excessive reverts. ! Note also that for some non-file buffers the check whether the ! buffer needs updating may be imperfect, due to efficiency ! considerations, and may not take all information listed in the ! buffer into account. Hence, a non-nil value for this option does ! not necessarily make manual updates useless for non-file buffers." :group 'auto-revert :type 'boolean) *************** *** 260,312 **** (not (memq major-mode global-auto-revert-ignore-modes))))) - (defun auto-revert-list-diff (a b) - "Check if strings in list A differ from list B." - (when (and a b) - (setq a (sort a 'string-lessp)) - (setq b (sort b 'string-lessp)) - (let (elt1 elt2) - (catch 'break - (while (and (setq elt1 (and a (pop a))) - (setq elt2 (and b (pop b)))) - (if (not (string= elt1 elt2)) - (throw 'break t))))))) - - (defun auto-revert-dired-file-list () - "Return list of dired files." - (let (file list) - (save-excursion - (goto-char (point-min)) - (while (not (eobp)) - (if (setq file (dired-get-filename t t)) - (push file list)) - (forward-line 1))) - list)) - - (defun auto-revert-dired-changed-p () - "Check if dired buffer has changed." - (when (and (stringp dired-directory) - ;; Exclude remote buffers, would be too slow for user - ;; modem, timeouts, network lag ... all is possible - (not (string-match "@" dired-directory)) - (file-directory-p dired-directory)) - (let ((files (directory-files dired-directory)) - (dired (auto-revert-dired-file-list))) - (or (not (eq (length files) (length dired))) - (auto-revert-list-diff files dired))))) - (defun auto-revert-buffer-p () "Check if current buffer should be reverted." ! ;; - Always include dired buffers to list. It would be too expensive ;; to test the "revert" status here each time timer launches. - ;; - Same for VC buffers. (or (and (eq major-mode 'dired-mode) (or (and global-auto-revert-mode global-auto-revert-non-file-buffers) ! auto-revert-mode)) ! (and (not (buffer-modified-p)) (auto-revert-vc-buffer-p)) ! (and (not (buffer-modified-p)) (if (buffer-file-name) (and (file-readable-p (buffer-file-name)) (not (verify-visited-file-modtime (current-buffer)))) --- 265,296 ---- (not (memq major-mode global-auto-revert-ignore-modes))))) (defun auto-revert-buffer-p () "Check if current buffer should be reverted." ! ;; - Always include VC buffers to list. It would be too expensive ;; to test the "revert" status here each time timer launches. (or (and (eq major-mode 'dired-mode) (or (and global-auto-revert-mode global-auto-revert-non-file-buffers) ! auto-revert-mode) ! (not (buffer-modified-p)) ! (stringp dired-directory) ! ;; Exclude remote buffers, would be too slow for user ! ;; modem, timeouts, network lag ... all is possible ! (not (string-match "@" dired-directory)) ! (file-directory-p dired-directory) ! (file-readable-p dired-directory) ! (not (let ((attributes (file-attributes dired-directory)) ! (modtime (visited-file-modtime))) ! (or (eq modtime 0) ! (not (eq (car attributes) t)) ! (and (= (car (nth 5 attributes)) (car modtime)) ! (= (nth 1 (nth 5 attributes)) (cdr modtime))))))) ! (and (not (eq major-mode 'dired-mode)) ! (not (buffer-modified-p)) (auto-revert-vc-buffer-p)) ! (and (not (eq major-mode 'dired-mode)) ! (not (buffer-modified-p)) (if (buffer-file-name) (and (file-readable-p (buffer-file-name)) (not (verify-visited-file-modtime (current-buffer)))) *************** *** 375,382 **** (cond ((eq major-mode 'dired-mode) ;; Dired includes revert-buffer-function ! (when (and revert-buffer-function ! (auto-revert-dired-changed-p)) (setq revert t))) ((auto-revert-vc-buffer-p) (when (auto-revert-handler-vc) --- 359,365 ---- (cond ((eq major-mode 'dired-mode) ;; Dired includes revert-buffer-function ! (when revert-buffer-function (setq revert t))) ((auto-revert-vc-buffer-p) (when (auto-revert-handler-vc) ============================================================