changeset 109577:8a7bf813ce36

* 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.
author Michael Albinus <michael.albinus@gmx.de>
date Thu, 29 Jul 2010 15:13:11 +0200
parents faeb6f3341b1
children eb3d38be02c7
files lisp/ChangeLog lisp/net/tramp.el lisp/progmodes/gdb-mi.el
diffstat 3 files changed, 26 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Thu Jul 29 08:59:29 2010 +0200
+++ b/lisp/ChangeLog	Thu Jul 29 15:13:11 2010 +0200
@@ -1,3 +1,14 @@
+2010-07-29  Michael Albinus  <michael.albinus@gmx.de>
+
+	* 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  <cyd@stupidchicken.com>
 
 	* emacs-lisp/package.el (package-load-list, package-archives)
--- a/lisp/net/tramp.el	Thu Jul 29 08:59:29 2010 +0200
+++ b/lisp/net/tramp.el	Thu Jul 29 15:13:11 2010 +0200
@@ -4538,14 +4538,12 @@
 	  (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 @@
      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 @@
   (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")
 
--- a/lisp/progmodes/gdb-mi.el	Thu Jul 29 08:59:29 2010 +0200
+++ b/lisp/progmodes/gdb-mi.el	Thu Jul 29 15:13:11 2010 +0200
@@ -795,7 +795,10 @@
   (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)))