summaryrefslogtreecommitdiff
path: root/lisp/net
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2011-04-25 20:10:17 +0200
committerMichael Albinus <michael.albinus@gmx.de>2011-04-25 20:10:17 +0200
commitbfd31217eac63c0b8a5470f67af9a733713ee126 (patch)
tree31268f6e8bc1ed380521c5f8c3039febf1ba7274 /lisp/net
parent850256b5e9fa9f03008b843e58b1b338d86877f5 (diff)
downloademacs-bfd31217eac63c0b8a5470f67af9a733713ee126.tar.gz
* 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.
Diffstat (limited to 'lisp/net')
-rw-r--r--lisp/net/tramp-sh.el8
-rw-r--r--lisp/net/tramp-smb.el2
-rw-r--r--lisp/net/tramp.el12
-rw-r--r--lisp/net/trampver.el4
4 files changed, 17 insertions, 9 deletions
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)))