# HG changeset patch # User Gerd Moellmann # Date 964957751 0 # Node ID 78337ade018939c6e6a23d822e28b9c81da31e45 # Parent 01e227128435e5449b43d142977d229c1441fccb (dired-build-subdir-alist): Expand subdirectory names correctly in recursive ange-ftp listings. diff -r 01e227128435 -r 78337ade0189 lisp/dired.el --- a/lisp/dired.el Sun Jul 30 11:48:43 2000 +0000 +++ b/lisp/dired.el Sun Jul 30 11:49:11 2000 +0000 @@ -1764,7 +1764,13 @@ (save-excursion (let ((count 0) (buffer-read-only nil) - new-dir-name) + 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))))) (goto-char (point-min)) (setq dired-subdir-alist nil) (while (and (re-search-forward dired-subdir-regexp nil t) @@ -1778,7 +1784,15 @@ (save-excursion (goto-char (match-beginning 1)) (setq new-dir-name - (expand-file-name (buffer-substring (point) (match-end 1)))) + (buffer-substring-no-properties (point) (match-end 1)) + new-dir-name + (save-match-data + (if (and R-ftp-base-dir-regex + (not (string= new-dir-name default-directory)) + (string-match R-ftp-base-dir-regex new-dir-name)) + (concat default-directory + (substring new-dir-name (match-end 0))) + (expand-file-name new-dir-name)))) (delete-region (point) (match-end 1)) (insert new-dir-name)) (setq count (1+ count))