Mercurial > emacs
changeset 8073:6511fd7aaea4
(dired-readin): Record the directory's modtime.
(dired-internal-noselect): Offer to revert if dir has changed.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Tue, 28 Jun 1994 08:36:16 +0000 |
parents | 48c81a052cea |
children | cef2897f2e15 |
files | lisp/dired.el |
diffstat | 1 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/dired.el Tue Jun 28 05:15:44 1994 +0000 +++ b/lisp/dired.el Tue Jun 28 08:36:16 1994 +0000 @@ -398,7 +398,16 @@ (set-buffer buffer) (if (not new-buffer-p) ; existing buffer ... (if switches ; ... but new switches - (dired-sort-other switches)) ; this calls dired-revert + (dired-sort-other switches) ; this calls dired-revert + ;; If directory has changed on disk, offer to revert. + (if (let ((attributes (file-attributes dirname)) + (modtime (visited-file-modtime))) + (or (not (eq (car attributes) t)) + (and (= (car (nth 5 attributes)) (car modtime)) + (= (nth 1 (nth 5 attributes)) (cdr modtime))))) + nil + (if (yes-or-no-p "Directory has changed on disk; update the buffer? ") + (dired-revert)))) ;; Else a new buffer (setq default-directory (abbreviate-file-name @@ -482,6 +491,9 @@ ;; dired-build-subdir-alist will call dired-clear-alist first (set (make-local-variable 'dired-subdir-alist) nil) (dired-build-subdir-alist) + (let ((attributes (file-attributes dirname))) + (if (eq (car attributes) t) + (set-visited-file-modtime (nth 5 attributes)))) (set-buffer-modified-p nil)))) ;; Subroutines of dired-readin