# HG changeset patch # User Andr Spiegel # Date 810592697 0 # Node ID 06f8e805121d7d3149ad6a1c481cc1fc675274a1 # Parent a418156c25eab3e4f043a63dd979369bf562b85d (dired-internal-noselect): Set dired-directory when refreshing a buffer that displays a list of files. (dired-find-buffer-nocreate): Handle the case when dired-directory is a list. (dired-sort-other): Don't set mode-name if we are not in dired-mode. diff -r a418156c25ea -r 06f8e805121d lisp/dired.el --- a/lisp/dired.el Fri Sep 08 17:19:37 1995 +0000 +++ b/lisp/dired.el Fri Sep 08 20:38:17 1995 +0000 @@ -419,20 +419,24 @@ ;; kill-all-local-variables any longer. (setq buffer (create-file-buffer (directory-file-name dirname))))) (set-buffer buffer) - (if (not new-buffer-p) ; existing buffer ... - (if switches ; ... but new switches - (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 (eq modtime 0) - (not (eq (car attributes) t)) - (and (= (car (nth 5 attributes)) (car modtime)) - (= (nth 1 (nth 5 attributes)) (cdr modtime))))) - nil - (message - (substitute-command-keys - "Directory has changed on disk; type \\[revert-buffer] to update Dired")))) + (if (not new-buffer-p) ; existing buffer ... + (cond (switches ; ... but new switches + ;; file list may have changed + (if (consp dir-or-list) + (setq dired-directory dir-or-list)) + ;; this calls dired-revert + (dired-sort-other switches)) + ;; If directory has changed on disk, offer to revert. + ((if (let ((attributes (file-attributes dirname)) + (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))))) + nil + (message + (substitute-command-keys + "Directory has changed on disk; type \\[revert-buffer] to update Dired"))))) ;; Else a new buffer (setq default-directory (if (file-directory-p dirname) @@ -472,7 +476,9 @@ (save-excursion (set-buffer (cdr (car blist))) (if (and (eq major-mode mode) - (equal dired-directory dirname)) + (if (consp dired-directory) + (equal (car dired-directory) dirname) + (equal dired-directory dirname))) (setq found (cdr (car blist)) blist nil) (setq blist (cdr blist)))))) @@ -2207,7 +2213,7 @@ ;; minor mode accordingly, others appear literally in the mode line. ;; With optional second arg NO-REVERT, don't refresh the listing afterwards. (setq dired-actual-switches switches) - (dired-sort-set-modeline) + (if (eq major-mode 'dired-mode) (dired-sort-set-modeline)) (or no-revert (revert-buffer))) ;; To make this file smaller, the less common commands