changeset 95963:a20bb74ebe03

* net/tramp.el (tramp-handle-start-file-process): Clear modification time of the connection buffer. (tramp-sh-file-name-handler): Reset `tramp-locked' in case of error.
author Michael Albinus <michael.albinus@gmx.de>
date Sun, 15 Jun 2008 13:36:30 +0000
parents 59534766a799
children c8848a020b33
files lisp/net/tramp.el
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/net/tramp.el	Sun Jun 15 12:26:28 2008 +0000
+++ b/lisp/net/tramp.el	Sun Jun 15 13:36:30 2008 +0000
@@ -3681,7 +3681,10 @@
 	   ;; BUFFER can be nil.
 	   (get-buffer-create (or buffer (current-buffer))))
 	  ;; Activate narrowing in order to save BUFFER contents.
+	  ;; Clear also the modification time; otherwise we might be
+	  ;; interrupted by `verify-visited-file-modtime'.
 	  (with-current-buffer (tramp-get-connection-buffer v)
+	    (clear-visited-file-modtime)
 	    (narrow-to-region (point-max) (point-max)))
 	  ;; Goto working directory.  `tramp-send-command' opens a new
 	  ;; connection.
@@ -4564,6 +4567,7 @@
   "Invoke remote-shell Tramp file name handler.
 Fall back to normal file name handler if no Tramp handler exists."
   (when (and tramp-locked (not tramp-locker))
+    (setq tramp-locked nil)
     (signal 'file-error (list "Forbidden reentrant call of Tramp")))
   (let ((tl tramp-locked))
     (unwind-protect
@@ -7515,6 +7519,8 @@
 ;; * Make `tramp-default-user' obsolete.
 ;; * Tramp shall reconnect automatically to its ssh connection when it
 ;;   detects that the process "has died". (David Reitter)
+;; * How can I interrupt the remote process with a signal
+;;   (interrupt-process seems not to work)? (Markus Triska)
 
 ;; Functions for file-name-handler-alist:
 ;; diff-latest-backup-file -- in diff.el