Mercurial > emacs
changeset 73099:59243837a57a
(dired-build-subdir-alist): When file ends in colon,
don't exit the loop, just disregard that file.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Sun, 24 Sep 2006 20:37:13 +0000 |
parents | 28a1d231aeec |
children | 20bdb0abafe2 |
files | lisp/dired.el |
diffstat | 1 files changed, 31 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/dired.el Sun Sep 24 20:34:00 2006 +0000 +++ b/lisp/dired.el Sun Sep 24 20:37:13 2006 +0000 @@ -2204,40 +2204,40 @@ (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) - ;; Avoid taking a file name ending in a colon - ;; as a subdir name. - (not (save-excursion - (goto-char (match-beginning 0)) - (beginning-of-line) - (forward-char 2) - (save-match-data (looking-at dired-re-perms))))) - (save-excursion - (goto-char (match-beginning 1)) - (setq new-dir-name - (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)) + (while (re-search-forward dired-subdir-regexp nil t) + ;; Avoid taking a file name ending in a colon + ;; as a subdir name. + (unless (save-excursion + (goto-char (match-beginning 0)) + (beginning-of-line) + (forward-char 2) + (save-match-data (looking-at dired-re-perms))) + (save-excursion + (goto-char (match-beginning 1)) + (setq new-dir-name + (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)) (dired-alist-add-1 new-dir-name - ;; Place a sub directory boundary between lines. - (save-excursion - (goto-char (match-beginning 0)) - (beginning-of-line) - (point-marker)))) + ;; Place a sub directory boundary between lines. + (save-excursion + (goto-char (match-beginning 0)) + (beginning-of-line) + (point-marker)))) (if (and (> count 1) (interactive-p)) - (message "Buffer includes %d directories" count)) - ;; We don't need to sort it because it is in buffer order per - ;; constructionem. Return new alist: - dired-subdir-alist))) + (message "Buffer includes %d directories" count))) + ;; We don't need to sort it because it is in buffer order per + ;; constructionem. Return new alist: + dired-subdir-alist)) (defun dired-alist-add-1 (dir new-marker) ;; Add new DIR at NEW-MARKER. Don't sort.