From: Eli Zaretskii <eliz@gnu.org>
Date: Fri, 21 Sep 2001 16:41:58 +0000 (+0000)
Subject: (dired-build-subdir-alist): Accept optional arg SWITCHES.
X-Git-Tag: emacs-pretest-21.0.106~45
X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3c13627aed4b3d758638e6a9b0e0afcb43a9ede0;p=emacs.git

(dired-build-subdir-alist): Accept optional arg SWITCHES.
---

diff --git a/lisp/dired.el b/lisp/dired.el
index 7465eebb4c5..5361bdd22bf 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1788,21 +1788,24 @@ regardless of the language.")
 	  nil				; return nil if not found
 	(error "%s directory" (if (> arg 0) "Last" "First"))))))
 
-(defun dired-build-subdir-alist ()
+(defun dired-build-subdir-alist (&optional switches)
   "Build `dired-subdir-alist' by parsing the buffer.
-Returns the new value of the alist."
+Returns the new value of the alist.
+If optional arg SWITCHES is non-nil, use its value
+instead of `dired-actual-switches'."
   (interactive)
   (dired-clear-alist)
   (save-excursion
-    (let ((count 0)
-	  (buffer-read-only nil)
-	  new-dir-name
-	  (R-ftp-base-dir-regex
-	   ;; Used to expand subdirectory names correctly in recursive
-	   ;; ange-ftp listings.
-	   (and (string-match "R" dired-actual-switches)
-		(string-match "\\`/.*:\\(/.*\\)" default-directory)
-		(concat "\\`" (match-string 1 default-directory)))))
+    (let* ((count 0)
+	   (buffer-read-only nil)
+	   (switches (or switches dired-actual-switches))
+	   new-dir-name
+	   (R-ftp-base-dir-regex
+	    ;; Used to expand subdirectory names correctly in recursive
+	    ;; ange-ftp listings.
+	    (and (string-match "R" switches)
+		 (string-match "\\`/.*:\\(/.*\\)" default-directory)
+		 (concat "\\`" (match-string 1 default-directory)))))
       (goto-char (point-min))
       (setq dired-subdir-alist nil)
       (while (and (re-search-forward dired-subdir-regexp nil t)