emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/net/tramp-cache.el,v


From: Michael Albinus
Subject: [Emacs-diffs] Changes to emacs/lisp/net/tramp-cache.el,v
Date: Tue, 30 Oct 2007 20:27:24 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Michael Albinus <albinus>       07/10/30 20:27:23

Index: net/tramp-cache.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/net/tramp-cache.el,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- net/tramp-cache.el  28 Sep 2007 16:05:49 -0000      1.6
+++ net/tramp-cache.el  30 Oct 2007 20:27:22 -0000      1.7
@@ -159,21 +159,28 @@
       result)))
 
 ;; Reverting or killing a buffer should also flush file properties.
-;; They could have been changed outside Tramp.
+;; They could have been changed outside Tramp.  In eshell, "ls" would
+;; not show proper directory contents when a file has been copied or
+;; deleted before.
 (defun tramp-flush-file-function ()
   "Flush all Tramp cache properties from buffer-file-name."
-  (let ((bfn (buffer-file-name)))
-    (when (and (stringp bfn) (tramp-tramp-file-p bfn))
+  (let ((bfn (if (stringp (buffer-file-name))
+                (buffer-file-name)
+              default-directory)))
+    (when (tramp-tramp-file-p bfn)
       (let* ((v (tramp-dissect-file-name bfn))
             (localname (tramp-file-name-localname v)))
        (tramp-flush-file-property v localname)))))
 
 (add-hook 'before-revert-hook 'tramp-flush-file-function)
+(add-hook 'eshell-pre-command-hook 'tramp-flush-file-function)
 (add-hook 'kill-buffer-hook 'tramp-flush-file-function)
 (add-hook 'tramp-cache-unload-hook
          '(lambda ()
             (remove-hook 'before-revert-hook
                          'tramp-flush-file-function)
+            (remove-hook 'eshell-pre-command-hook
+                         'tramp-flush-file-function)
             (remove-hook 'kill-buffer-hook
                          'tramp-flush-file-function)))
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]