Mercurial > emacs
changeset 30521:78337ade0189
(dired-build-subdir-alist): Expand subdirectory names
correctly in recursive ange-ftp listings.
author | Gerd Moellmann <gerd@gnu.org> |
---|---|
date | Sun, 30 Jul 2000 11:49:11 +0000 |
parents | 01e227128435 |
children | acbb1360c715 |
files | lisp/dired.el |
diffstat | 1 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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))