* net/ange-ftp.el (ange-ftp-insert-directory):
authorMichael Albinus <michael.albinus@gmx.de>
Fri, 5 Feb 2010 11:15:28 +0000 (12:15 +0100)
committerMichael Albinus <michael.albinus@gmx.de>
Fri, 5 Feb 2010 11:15:28 +0000 (12:15 +0100)
* net/tramp-imap.el (tramp-imap-handle-insert-directory):
* net/tramp-smb.el (tramp-smb-handle-insert-directory):
Handle also directories.  (Bug#5478)

lisp/ChangeLog
lisp/net/ange-ftp.el
lisp/net/tramp-imap.el
lisp/net/tramp-smb.el

index 77196ad..9013caf 100644 (file)
@@ -1,3 +1,10 @@
+2010-02-05  Michael Albinus  <michael.albinus@gmx.de>
+
+       * 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  <rgm@gnu.org>
 
        * progmodes/f90.el (f90-font-lock-keywords-2): Fix `enum'.
index 127fba3..97a334a 100644 (file)
@@ -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.
index 60c19c1..d36569b 100644 (file)
@@ -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)))
index a8c8345..0803a18 100644 (file)
@@ -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))))