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 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.
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))
(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
;; 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.
;; Play login scenario.
(tramp-process-actions
- p vec
+ p vec nil
(if share
tramp-smb-actions-with-share
tramp-smb-actions-without-share))
(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.
(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:
;; 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
(= 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)))