From: Eli Zaretskii 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)