comparison lisp/net/tramp-smb.el @ 107092:2e763e444bc2

* 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)
author Michael Albinus <michael.albinus@gmx.de>
date Fri, 05 Feb 2010 12:15:28 +0100
parents d7831d04952b
children 93125d6fab29 5a6b4fafaa52
comparison
equal deleted inserted replaced
107091:c2a34eaf2f6a 107092:2e763e444bc2
649 649
650 (defun tramp-smb-handle-insert-directory 650 (defun tramp-smb-handle-insert-directory
651 (filename switches &optional wildcard full-directory-p) 651 (filename switches &optional wildcard full-directory-p)
652 "Like `insert-directory' for Tramp files." 652 "Like `insert-directory' for Tramp files."
653 (setq filename (expand-file-name filename)) 653 (setq filename (expand-file-name filename))
654 (when full-directory-p 654 (if full-directory-p
655 ;; Called from `dired-add-entry'. 655 ;; Called from `dired-add-entry'.
656 (setq filename (file-name-as-directory filename))) 656 (setq filename (file-name-as-directory filename))
657 (setq filename (directory-file-name filename)))
657 (with-parsed-tramp-file-name filename nil 658 (with-parsed-tramp-file-name filename nil
658 (save-match-data 659 (save-match-data
659 (let ((base (file-name-nondirectory filename)) 660 (let ((base (file-name-nondirectory filename))
660 ;; We should not destroy the cache entry. 661 ;; We should not destroy the cache entry.
661 (entries (copy-sequence 662 (entries (copy-sequence
713 (lambda (x) 714 (lambda (x)
714 (when (not (zerop (length (nth 0 x)))) 715 (when (not (zerop (length (nth 0 x))))
715 (let ((attr 716 (let ((attr
716 (when (tramp-smb-get-stat-capability v) 717 (when (tramp-smb-get-stat-capability v)
717 (ignore-errors 718 (ignore-errors
718 (file-attributes 719 (file-attributes filename 'string)))))
719 (expand-file-name (nth 0 x) filename) 'string)))))
720 (insert 720 (insert
721 (format 721 (format
722 "%10s %3d %-8s %-8s %8s %s " 722 "%10s %3d %-8s %-8s %8s %s "
723 (or (nth 8 attr) (nth 1 x)) ; mode 723 (or (nth 8 attr) (nth 1 x)) ; mode
724 (or (nth 1 attr) 1) ; inode 724 (or (nth 1 attr) 1) ; inode
737 ;; name of `default-directory'. 737 ;; name of `default-directory'.
738 (let ((start (point))) 738 (let ((start (point)))
739 (insert 739 (insert
740 (format 740 (format
741 "%s\n" 741 "%s\n"
742 (file-relative-name (expand-file-name (nth 0 x) filename)))) 742 (file-relative-name
743 (expand-file-name
744 (nth 0 x) (file-name-directory filename)))))
743 (put-text-property start (1- (point)) 'dired-filename t)) 745 (put-text-property start (1- (point)) 'dired-filename t))
744 (forward-line) 746 (forward-line)
745 (beginning-of-line)))) 747 (beginning-of-line))))
746 entries))))) 748 entries)))))
747 749