From: Michael Albinus Date: Fri, 5 Feb 2010 11:15:28 +0000 (+0100) Subject: * net/ange-ftp.el (ange-ftp-insert-directory): X-Git-Tag: emacs-pretest-23.1.93~104 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=d9320986e56f1a3761ad8da0f77794fa9c99ef46;p=emacs.git * net/ange-ftp.el (ange-ftp-insert-directory): * net/tramp-imap.el (tramp-imap-handle-insert-directory): * net/tramp-smb.el (tramp-smb-handle-insert-directory): Handle also directories. (Bug#5478) --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 77196ad4842..9013caf2026 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,10 @@ +2010-02-05 Michael Albinus + + * net/ange-ftp.el (ange-ftp-insert-directory): + * net/tramp-imap.el (tramp-imap-handle-insert-directory): + * net/tramp-smb.el (tramp-smb-handle-insert-directory): + Handle also directories. (Bug#5478) + 2010-02-05 Glenn Morris * progmodes/f90.el (f90-font-lock-keywords-2): Fix `enum'. diff --git a/lisp/net/ange-ftp.el b/lisp/net/ange-ftp.el index 127fba3d7fb..97a334a50ff 100644 --- a/lisp/net/ange-ftp.el +++ b/lisp/net/ange-ftp.el @@ -4533,9 +4533,10 @@ NEWNAME should be the name to give the new compressed or uncompressed file.") (when (string-match "-?d\\'" switches) ;; Remove "d" which dired added to `switches'. (setq switches (substring switches 0 (match-beginning 0)))) + (setq file (directory-file-name file)) (let* ((dirlist (ange-ftp-ls (or (file-name-directory file) ".") switches 'parse)) - (filename (file-name-nondirectory (directory-file-name file))) + (filename (file-name-nondirectory file)) (case-fold-search nil)) ;; FIXME: This presumes a particular output format, which is ;; basically Unix. diff --git a/lisp/net/tramp-imap.el b/lisp/net/tramp-imap.el index 60c19c1a43c..d36569b5c23 100644 --- a/lisp/net/tramp-imap.el +++ b/lisp/net/tramp-imap.el @@ -395,9 +395,10 @@ SIZE MODE WEIRD INODE DEVICE)." (filename switches &optional wildcard full-directory-p) "Like `insert-directory' for Tramp files." (setq filename (expand-file-name filename)) - (when full-directory-p - ;; Called from `dired-add-entry'. - (setq filename (file-name-as-directory filename))) + (if full-directory-p + ;; Called from `dired-add-entry'. + (setq filename (file-name-as-directory filename)) + (setq filename (directory-file-name filename))) (with-parsed-tramp-file-name filename nil (save-match-data (let ((base (file-name-nondirectory localname)) @@ -479,7 +480,8 @@ SIZE MODE WEIRD INODE DEVICE)." (insert (format "%s\n" - (file-relative-name (expand-file-name (nth 0 x) filename)))) + (file-relative-name + (expand-file-name (nth 0 x) (file-name-directory filename))))) (put-text-property pos (1- (point)) 'dired-filename t)) (forward-line) (beginning-of-line))) diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index a8c8345c446..0803a186042 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -651,9 +651,10 @@ PRESERVE-UID-GID is completely ignored." (filename switches &optional wildcard full-directory-p) "Like `insert-directory' for Tramp files." (setq filename (expand-file-name filename)) - (when full-directory-p - ;; Called from `dired-add-entry'. - (setq filename (file-name-as-directory filename))) + (if full-directory-p + ;; Called from `dired-add-entry'. + (setq filename (file-name-as-directory filename)) + (setq filename (directory-file-name filename))) (with-parsed-tramp-file-name filename nil (save-match-data (let ((base (file-name-nondirectory filename)) @@ -715,8 +716,7 @@ PRESERVE-UID-GID is completely ignored." (let ((attr (when (tramp-smb-get-stat-capability v) (ignore-errors - (file-attributes - (expand-file-name (nth 0 x) filename) 'string))))) + (file-attributes filename 'string))))) (insert (format "%10s %3d %-8s %-8s %8s %s " @@ -739,7 +739,9 @@ PRESERVE-UID-GID is completely ignored." (insert (format "%s\n" - (file-relative-name (expand-file-name (nth 0 x) filename)))) + (file-relative-name + (expand-file-name + (nth 0 x) (file-name-directory filename))))) (put-text-property start (1- (point)) 'dired-filename t)) (forward-line) (beginning-of-line))))