From bfd31217eac63c0b8a5470f67af9a733713ee126 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Mon, 25 Apr 2011 20:10:17 +0200 Subject: [PATCH] * net/tramp.el (tramp-process-actions): Add POS argument. Delete region between POS and (pos). * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use `nil' position in `tramp-process-actions' call. (tramp-maybe-open-connection): Call `tramp-process-actions' with pos. * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil' position in `tramp-process-actions' call. * net/trampver.el: Update release number. --- lisp/ChangeLog | 14 ++++++++++++++ lisp/net/tramp-sh.el | 8 +++++--- lisp/net/tramp-smb.el | 2 +- lisp/net/tramp.el | 12 +++++++++--- lisp/net/trampver.el | 4 ++-- 5 files changed, 31 insertions(+), 9 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 13c6bfa2d4c..34e2cc4f56e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,17 @@ +2011-04-25 Michael Albinus + + * net/tramp.el (tramp-process-actions): Add POS argument. Delete + region between POS and (pos). + + * net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band): Use + `nil' position in `tramp-process-actions' call. + (tramp-maybe-open-connection): Call `tramp-process-actions' with pos. + + * net/tramp-smb.el (tramp-smb-maybe-open-connection): Use `nil' + position in `tramp-process-actions' call. + + * net/trampver.el: Update release number. + 2011-04-25 Stefan Monnier * custom.el (defcustom): Obey lexical-binding. diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el index cb4aca12edb..81e955ebbf8 100644 --- a/lisp/net/tramp-sh.el +++ b/lisp/net/tramp-sh.el @@ -2336,7 +2336,8 @@ The method used must be an out-of-band method." orig-vec 6 "%s" (mapconcat 'identity (process-command p) " ")) (tramp-compat-set-process-query-on-exit-flag p nil) - (tramp-process-actions p v tramp-actions-copy-out-of-band))) + (tramp-process-actions + p v nil tramp-actions-copy-out-of-band))) ;; Reset the transfer process properties. (tramp-message orig-vec 6 "%s" (buffer-string)) @@ -4212,7 +4213,8 @@ connection if a previous connection has died for some reason." (catch 'uname-changed (let ((p (tramp-get-connection-process vec)) (process-name (tramp-get-connection-property vec "process-name" nil)) - (process-environment (copy-sequence process-environment))) + (process-environment (copy-sequence process-environment)) + (pos (with-current-buffer (tramp-get-connection-buffer vec) (point)))) ;; If too much time has passed since last command was sent, look ;; whether process is still alive. If it isn't, kill it. When @@ -4366,7 +4368,7 @@ connection if a previous connection has died for some reason." ;; Send the command. (tramp-message vec 3 "Sending command `%s'" command) (tramp-send-command vec command t t) - (tramp-process-actions p vec tramp-actions-before-shell 60) + (tramp-process-actions p vec pos tramp-actions-before-shell 60) (tramp-message vec 3 "Found remote shell prompt on `%s'" l-host)) ;; Next hop. diff --git a/lisp/net/tramp-smb.el b/lisp/net/tramp-smb.el index 36477f7b439..5a62b71bda1 100644 --- a/lisp/net/tramp-smb.el +++ b/lisp/net/tramp-smb.el @@ -1314,7 +1314,7 @@ connection if a previous connection has died for some reason." ;; Play login scenario. (tramp-process-actions - p vec + p vec nil (if share tramp-smb-actions-with-share tramp-smb-actions-without-share)) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index fc167d6e62e..693e082ecc8 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -3098,8 +3098,11 @@ The terminal type can be configured with `tramp-terminal-type'." (setq found (funcall action proc vec))))) found)) -(defun tramp-process-actions (proc vec actions &optional timeout) - "Perform actions until success or TIMEOUT." +(defun tramp-process-actions (proc vec pos actions &optional timeout) + "Perform ACTIONS until success or TIMEOUT. +PROC and VEC indicate the remote connection to be used. POS, if +set, is the starting point of the region to be deleted in the +connection buffer." ;; Preserve message for `progress-reporter'. (tramp-compat-with-temp-message "" ;; Enable auth-source and password-cache. @@ -3124,7 +3127,10 @@ The terminal type can be configured with `tramp-terminal-type'." (cond ((eq exit 'permission-denied) "Permission denied") ((eq exit 'process-died) "Process died") - (t "Login failed")))))))) + (t "Login failed")))) + (when (numberp pos) + (with-current-buffer (tramp-get-connection-buffer vec) + (let (buffer-read-only) (delete-region pos (point))))))))) :;; Utility functions: diff --git a/lisp/net/trampver.el b/lisp/net/trampver.el index 462b8f11397..7b4c6fd75b1 100644 --- a/lisp/net/trampver.el +++ b/lisp/net/trampver.el @@ -31,7 +31,7 @@ ;; should be changed only there. ;;;###tramp-autoload -(defconst tramp-version "2.2.1" +(defconst tramp-version "2.2.2-pre" "This version of Tramp.") ;;;###tramp-autoload @@ -44,7 +44,7 @@ (= emacs-major-version 21) (>= emacs-minor-version 4))) "ok" - (format "Tramp 2.2.1 is not fit for %s" + (format "Tramp 2.2.2-pre is not fit for %s" (when (string-match "^.*$" (emacs-version)) (match-string 0 (emacs-version))))))) (unless (string-match "\\`ok\\'" x) (error "%s" x))) -- 2.39.2