summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2008-07-26 18:43:51 +0000
committerMichael Albinus <michael.albinus@gmx.de>2008-07-26 18:43:51 +0000
commit6ce63faf376dee5929b533f924cbd6d62c530f8f (patch)
treedc02bd42e6bb5b0355aee9d03bb9f6a5ba1b6af2 /lisp
parent7ad8fe5e2876518a8f33b80050f98dab4ff78398 (diff)
downloademacs-6ce63faf376dee5929b533f924cbd6d62c530f8f.tar.gz
* net/tramp.el (tramp-handle-start-file-process): Set
query-on-exit flag. Kill temporary buffer. (tramp-process-sentinel): Remove defun. (tramp-do-copy-or-rename-file-out-of-band) (tramp-maybe-open-connection):Don't call it.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/net/tramp.el26
1 files changed, 10 insertions, 16 deletions
diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el
index 17cc5938042..a9c56fa5aea 100644
--- a/lisp/net/tramp.el
+++ b/lisp/net/tramp.el
@@ -3311,7 +3311,6 @@ be a local filename. The method used must be an out-of-band method."
(append copy-args (list source target))))))
(tramp-message
v 6 "%s" (mapconcat 'identity (process-command p) " "))
- (set-process-sentinel p 'tramp-process-sentinel)
(tramp-set-process-query-on-exit-flag p nil)
(tramp-process-actions p v tramp-actions-copy-out-of-band))))
@@ -3680,8 +3679,7 @@ beginning of local filename are not substituted."
(let ((name1 name)
(i 0))
(unless buffer
- ;; BUFFER can be nil. We use a temporary buffer, which is
- ;; killed in `tramp-process-sentinel'.
+ ;; BUFFER can be nil. We use a temporary buffer.
(setq buffer (generate-new-buffer tramp-temp-buffer-name)))
(while (get-process name1)
;; NAME must be unique as process name.
@@ -3708,12 +3706,19 @@ beginning of local filename are not substituted."
(mapconcat 'tramp-shell-quote-argument
(cons program args) " "))
nil t) ; nooutput
+ ;; Set query flag for this process.
+ (tramp-set-process-query-on-exit-flag
+ (tramp-get-connection-process v) t)
;; Return process.
(tramp-get-connection-process v))
;; Save exit.
(with-current-buffer (tramp-get-connection-buffer v)
- (widen)
- (goto-char (point-max)))
+ (if (string-match tramp-temp-buffer-name (buffer-name))
+ (progn
+ (set-process-buffer (tramp-get-connection-process v) nil)
+ (kill-buffer (current-buffer)))
+ (widen)
+ (goto-char (point-max))))
(tramp-set-connection-property v "process-name" nil)
(tramp-set-connection-property v "process-buffer" nil))))
@@ -5753,16 +5758,6 @@ seconds. If not, it produces an error message with the given ERROR-ARGS."
'tramp-password-end-of-line)
tramp-default-password-end-of-line))))
-(defun tramp-process-sentinel (proc event)
- "Process sentinel for Tramp processes."
- (when (memq (process-status proc) '(stop exit signal))
- (tramp-flush-connection-property proc)
- ;; Asynchronous processes might have a temporary buffer. Kill it.
- (let ((buf (process-buffer proc)))
- (when (and (buffer-live-p buf)
- (string-match tramp-temp-buffer-name (buffer-name buf)))
- (kill-buffer buf)))))
-
(defun tramp-open-connection-setup-interactive-shell (proc vec)
"Set up an interactive shell.
Mainly sets the prompt and the echo correctly. PROC is the shell
@@ -6306,7 +6301,6 @@ connection if a previous connection has died for some reason."
vec 6 "%s" (mapconcat 'identity (process-command p) " "))
;; Check whether process is alive.
- (set-process-sentinel p 'tramp-process-sentinel)
(tramp-set-process-query-on-exit-flag p nil)
(tramp-message vec 3 "Waiting 60s for local shell to come up...")
(tramp-barf-if-no-shell-prompt