From d00fa9b65e158e77c05cd0d64c2e3e4107de2080 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Fri, 6 Aug 2010 16:34:23 +0200 Subject: [PATCH] * net/tramp.el (tramp-handle-start-file-process ): Set connection property "vec". (tramp-process-sentinel): Use it for flushing the cache. We cannot do it via the process buffer, the buffer could be deleted already when running the sentinel. --- lisp/ChangeLog | 10 +++++++++- lisp/net/tramp.el | 9 +++++---- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 67ff0d92079..b5d7984c04f 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,4 +1,12 @@ -2010-08-06 Jürgen Hötzel +2010-08-06 Michael Albinus + + * net/tramp.el (tramp-handle-start-file-process ): Set connection + property "vec". + (tramp-process-sentinel): Use it for flushing the cache. We + cannot do it via the process buffer, the buffer could be deleted + already when running the sentinel. + +2010-08-06 Jürgen Hötzel (tiny change) * comint.el (comint-mode): Make directory tracking functions functional on remote files. (Bug#6764) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 65713580b1b..a9870823f80 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -4506,10 +4506,10 @@ beginning of local filename are not substituted." (defun tramp-process-sentinel (proc event) "Flush file caches." (unless (memq (process-status proc) '(run open)) - (with-current-buffer (process-buffer proc) - (with-parsed-tramp-file-name default-directory nil - (tramp-message v 5 "Sentinel called: `%s' `%s'" proc event) - (tramp-flush-directory-property v ""))))) + (let ((vec (tramp-get-connection-property proc "vector" nil))) + (when vec + (tramp-message vec 5 "Sentinel called: `%s' `%s'" proc event) + (tramp-flush-directory-property vec ""))))) ;; We use BUFFER also as connection buffer during setup. Because of ;; this, its original contents must be saved, and restored once @@ -4556,6 +4556,7 @@ beginning of local filename are not substituted." v 'file-error "pty association is not supported for `%s'" name))) (let ((p (tramp-get-connection-process v))) ;; Set sentinel and query flag for this process. + (tramp-set-connection-property p "vector" v) (set-process-sentinel p 'tramp-process-sentinel) (tramp-set-process-query-on-exit-flag p t) ;; Return process. -- 2.39.2