aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lisp/ChangeLog10
-rw-r--r--lisp/net/tramp.el14
2 files changed, 18 insertions, 6 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 7087c1a360..30055bf16d 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,13 @@
+2008-06-28 Michael Albinus <[email protected]>
+
+ * net/tramp.el (tramp-handle-file-modes): Handle symlinks.
+ (tramp-convert-file-attributes): Convert symlinks only when
+ returned from `tramp-handle-file-attributes-with-stat'.
+
+ * net/tramp-ftp.el (top): Delete 'ange-ftp property from
+ `substitute-in-file-name' when unloading.
+ (tramp-ftp-file-name-handler): Set `tramp-mode' to nil.
+
2008-06-28 Dan Nicolaescu <[email protected]>
* vc-dir.el (vc-dir-hide-up-to-date): Also hide empty directories.
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 6dd76abc61..5431290da5 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -2675,9 +2675,9 @@ and gid of the corresponding user is taken. Both parameters must be integers."
(defun tramp-handle-file-modes (filename)
"Like `file-modes' for Tramp files."
- (when (file-exists-p filename)
- (tramp-mode-string-to-int
- (nth 8 (file-attributes filename)))))
+ (let ((truename (or (file-truename filename) filename)))
+ (when (file-exists-p truename)
+ (tramp-mode-string-to-int (nth 8 (file-attributes truename))))))
(defun tramp-handle-file-directory-p (filename)
"Like `file-directory-p' for Tramp files."
@@ -6627,9 +6627,11 @@ Return ATTR."
(unless (stringp (nth 8 attr))
(setcar (nthcdr 8 attr) (tramp-file-mode-from-int (nth 8 attr))))
;; Convert directory indication bit.
- (if (string-match "^d" (nth 8 attr))
- (setcar attr t)
- (if (and (listp (car attr)) (stringp (caar attr))
+ (when (string-match "^d" (nth 8 attr))
+ (setcar attr t))
+ ;; Convert symlink from `tramp-handle-file-attributes-with-stat'.
+ (when (consp (car attr))
+ (if (and (stringp (caar attr))
(string-match ".+ -> .\\(.+\\)." (caar attr)))
(setcar attr (match-string 1 (caar attr)))
(setcar attr nil)))