From 683cc385a444ea49fc75f67e11c12315676972bc Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 29 Jul 2010 15:13:11 +0200 Subject: [PATCH] * net/tramp.el (tramp-handle-start-file-process): Check only for `remote-tty' process property. (tramp-open-shell): Don't check for tty. (tramp-open-connection-setup-interactive-shell): Set `remote-tty' process property. * progmodes/gdb-mi.el (gdb-init-1): Check also for tty on a remote host. --- lisp/ChangeLog | 11 +++++++++++ lisp/net/tramp.el | 22 +++++++++++----------- lisp/progmodes/gdb-mi.el | 5 ++++- 3 files changed, 26 insertions(+), 12 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 4beafc1caaa..49dcafca9da 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,14 @@ +2010-07-29 Michael Albinus + + * net/tramp.el (tramp-handle-start-file-process): Check only for + `remote-tty' process property. + (tramp-open-shell): Don't check for tty. + (tramp-open-connection-setup-interactive-shell): Set `remote-tty' + process property. + + * progmodes/gdb-mi.el (gdb-init-1): Check also for tty on a remote + host. + 2010-07-28 Chong Yidong * emacs-lisp/package.el (package-load-list, package-archives) diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 6256c8c631d..aca0238e5b6 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -4538,14 +4538,12 @@ beginning of local filename are not substituted." (with-current-buffer (tramp-get-connection-buffer v) (clear-visited-file-modtime) (narrow-to-region (point-max) (point-max))) - (if (stringp program) - ;; Send the command. `tramp-send-command' opens a new - ;; connection. + (if command + ;; Send the command. (tramp-send-command v command nil t) ; nooutput - ;; Check, whether a pty is associated, and set it as - ;; process property. - (condition-case nil - (tramp-send-command-and-read v "echo \\\"`tty`\\\"") + ;; Check, whether a pty is associated. + (tramp-maybe-open-connection v) + (unless (process-get (tramp-get-connection-process v) 'remote-tty) (tramp-error v 'file-error "pty association is not supported for `%s'" name))) ;; Set query flag for this process. @@ -6631,10 +6629,7 @@ file exists and nonzero exit status otherwise." vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) (tramp-send-command vec "PS2=''" t) (tramp-send-command vec "PS3=''" t) - (tramp-send-command vec "PROMPT_COMMAND=''" t) - ;; Dump tty in the traces. - (when (>= tramp-verbose 9) - (tramp-send-command vec "tty" t)))) + (tramp-send-command vec "PROMPT_COMMAND=''" t))) (defun tramp-find-shell (vec) "Opens a shell on the remote host which groks tilde expansion." @@ -7071,6 +7066,11 @@ process to set up. VEC specifies the connection." (when (string-match "^IRIX64" (tramp-get-connection-property vec "uname" "")) (tramp-send-command vec "set +H" t)) + ;; Set `remote-tty' process property. + (ignore-errors + (let ((tty (tramp-send-command-and-read vec "echo \\\"`tty`\\\""))) + (unless (zerop (length tty)) (process-put proc 'remote-tty tty)))) + ;; Set the environment. (tramp-message vec 5 "Setting default environment") diff --git a/lisp/progmodes/gdb-mi.el b/lisp/progmodes/gdb-mi.el index e4cc32b972c..5b98ff427c3 100644 --- a/lisp/progmodes/gdb-mi.el +++ b/lisp/progmodes/gdb-mi.el @@ -795,7 +795,10 @@ detailed description of this mode. (gdb-input ;; Needs GDB 6.4 onwards (list (concat "-inferior-tty-set " - (process-tty-name (get-process "gdb-inferior"))) + (or + ;; The process can run on a remote host. + (process-get (get-process "gdb-inferior") 'remote-tty) + (process-tty-name (get-process "gdb-inferior")))) 'ignore)) (if (eq window-system 'w32) (gdb-input (list "-gdb-set new-console off" 'ignore))) -- 2.39.2