Commit bfd31217 authored by Michael Albinus's avatar Michael Albinus
Browse files

* 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.
parent 850256b5
2011-04-25 Michael Albinus <michael.albinus@gmx.de>
* 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 <monnier@iro.umontreal.ca>
* custom.el (defcustom): Obey lexical-binding.
......
......@@ -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.
......
......@@ -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))
......
......@@ -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:
......
......@@ -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)))
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment