--- lisp/ChangeLog | 5 +++++ lisp/tramp.el | 16 ++++++++++------ 2 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index d52781c..d23b8ac 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2009-08-15 Julian Scheid <[email protected]> + + * tramp.el (tramp-handle-file-exists-p): Check file-attributes + cache, assume file exists if cache value present. + 2009-08-14 Michael Albinus <[email protected]> * tramp.el (tramp-message-show-message): New defvar. diff --git a/lisp/tramp.el b/lisp/tramp.el index 1ecae2c..a72cb34 100644 --- a/lisp/tramp.el +++ b/lisp/tramp.el @@ -2516,12 +2516,16 @@ target of the symlink differ." "Like `file-exists-p' for Tramp files." (with-parsed-tramp-file-name filename nil (with-file-property v localname "file-exists-p" - (zerop (tramp-send-command-and-check - v - (format - "%s %s" - (tramp-get-file-exists-command v) - (tramp-shell-quote-argument localname))))))) + (or (not (null (tramp-get-file-property + v localname "file-attributes-integer" nil))) + (not (null (tramp-get-file-property + v localname "file-attributes-string" nil))) + (zerop (tramp-send-command-and-check + v + (format + "%s %s" + (tramp-get-file-exists-command v) + (tramp-shell-quote-argument localname)))))))) ;; Inodes don't exist for some file systems. Therefore we must ;; generate virtual ones. Used in `find-buffer-visiting'. The method -- 1.6.4 _______________________________________________ Tramp-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/tramp-devel
