* net/tramp.el (tramp-handle-start-file-process): Check only for
authorMichael Albinus <michael.albinus@gmx.de>
Thu, 29 Jul 2010 13:13:11 +0000 (15:13 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Thu, 29 Jul 2010 13:13:11 +0000 (15:13 +0200)
`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
lisp/net/tramp.el
lisp/progmodes/gdb-mi.el

index 4beafc1..49dcafc 100644 (file)
@@ -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)
index 6256c8c..aca0238 100644 (file)
@@ -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")
 
index e4cc32b..5b98ff4 100644 (file)
@@ -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)))