# HG changeset patch
# User Michael Albinus <michael.albinus@gmx.de>
# Date 1209314216 0
# Node ID 9ce39a6373c9168c6f2f64ba8991b088d590b926
# Parent  f3fa6258dd50c36be3c234af4399d202bd45bced
* net/tramp.el (tramp-handle-make-symbolic-link)
(tramp-handle-file-name-directory)
(tramp-handle-file-name-nondirectory, tramp-handle-file-truename)
(tramp-do-copy-or-rename-file-directly)
(tramp-handle-insert-directory, tramp-handle-expand-file-name)
(tramp-handle-substitute-in-file-name)
(tramp-handle-insert-file-contents, tramp-handle-write-region)
* net/tramp-cache.el (tramp-get-file-property)
(tramp-set-file-property, tramp-flush-file-property)
(tramp-flush-directory-property)
* net/tramp-cpmpat.el (tramp-compat-make-temp-file)
* net/tramp-fish.el (tramp-fish-handle-expand-file-name): Disable
`file-name-handler-alist' when handling localname.  It could have
a remote file syntax, like a VMS file name.

diff -r f3fa6258dd50 -r 9ce39a6373c9 lisp/net/tramp-cache.el
--- a/lisp/net/tramp-cache.el	Sun Apr 27 16:36:43 2008 +0000
+++ b/lisp/net/tramp-cache.el	Sun Apr 27 16:36:56 2008 +0000
@@ -95,7 +95,7 @@
 Returns DEFAULT if not set."
   ;; Unify localname.
   (setq vec (copy-sequence vec))
-  (aset vec 3 (directory-file-name file))
+  (aset vec 3 (tramp-run-real-handler 'directory-file-name (list file)))
   (let* ((hash (or (gethash vec tramp-cache-data)
 		   (puthash vec (make-hash-table :test 'equal)
 			    tramp-cache-data)))
@@ -110,7 +110,7 @@
 Returns VALUE."
   ;; Unify localname.
   (setq vec (copy-sequence vec))
-  (aset vec 3 (directory-file-name file))
+  (aset vec 3 (tramp-run-real-handler 'directory-file-name (list file)))
   (let ((hash (or (gethash vec tramp-cache-data)
 		  (puthash vec (make-hash-table :test 'equal)
 			   tramp-cache-data))))
@@ -122,14 +122,15 @@
   "Remove all properties of FILE in the cache context of VEC."
   ;; Unify localname.
   (setq vec (copy-sequence vec))
-  (aset vec 3 (directory-file-name file))
+  (aset vec 3 (tramp-run-real-handler 'directory-file-name (list file)))
   (tramp-message vec 8 "%s" file)
   (remhash vec tramp-cache-data))
 
 (defun tramp-flush-directory-property (vec directory)
   "Remove all properties of DIRECTORY in the cache context of VEC.
 Remove also properties of all files in subdirectories."
-  (let ((directory (directory-file-name directory)))
+  (let ((directory (tramp-run-real-handler
+		    'directory-file-name (list directory))))
   (tramp-message vec 8 "%s" directory)
     (maphash
      '(lambda (key value)