;; These are for remote processes.
(tramp-login-program "ssh")
(tramp-login-args (("-q") ("-l" "%u") ("-p" "%p")
- ("-e" "none") ("-t" "-t")
+ ("-e" "none") ("%a" "%a")
("%h") ("%l")))
(tramp-direct-async t)
(tramp-remote-shell ,tramp-default-remote-shell)
?h (or (tramp-file-name-host v) "")
?u (or (tramp-file-name-user v) "")
?p (or (tramp-file-name-port v) "")
- ?l command))
+ ?a "-t" ?l command))
;; Synchronize stderr.
(when tmpstderr
\"%\" followed by a letter are expanded in the arguments as
follows:
- - \"%h\" is replaced by the host name
- - \"%u\" is replaced by the user name
- - \"%p\" is replaced by the port number
+ - \"%h\" is replaced by the host name.
+ - \"%u\" is replaced by the user name.
+ - \"%p\" is replaced by the port number.
- \"%%\" can be used to obtain a literal percent character.
If a sub-list containing \"%h\", \"%u\" or \"%p\" is
- \"%z\" is replaced by the `tramp-scp-direct-remote-copying'
argument if it is supported.
- \"%d\" is replaced by the device detected by `tramp-adb-get-device'.
+ - \"%a\" adds the pseudo-terminal allocation argument \"-t\" in
+ asynchronous processes, if the connection type is not `pipe'.
The existence of `tramp-login-args', combined with the
absence of `tramp-copy-args', is an indication that the
(when adb-file-name-handler-p
(tramp-compat-funcall
'tramp-adb-get-device v)))
+ (pta (unless (eq connection-type 'pipe) "-t"))
login-args p)
;; Replace `login-args' place holders. Split
v 'tramp-login-args
?h (or host "") ?u (or user "") ?p (or port "")
?c (format-spec (or options "") (format-spec-make ?t tmpfile))
- ?d (or device "") ?l ""))))
+ ?d (or device "") ?a (or pta "") ?l ""))))
p (make-process
:name name :buffer buffer
:command (append `(,login-program) login-args command)