changeset 13010:06f8e805121d

(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.
author André Spiegel <spiegel@gnu.org>
date Fri, 08 Sep 1995 20:38:17 +0000
parents a418156c25ea
children 53b0ff7a477f
files lisp/dired.el
diffstat 1 files changed, 22 insertions(+), 16 deletions(-) [+]
line wrap: on
line diff
--- 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