diff --git a/lisp/net/tramp-sshfs.el b/lisp/net/tramp-sshfs.el index c638d32ec35..ace9b3bda4a 100644 --- a/lisp/net/tramp-sshfs.el +++ b/lisp/net/tramp-sshfs.el @@ -60,7 +60,7 @@ ;; 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) @@ -323,7 +323,7 @@ arguments to pass to the OPERATION." ?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 diff --git a/lisp/net/tramp.el b/lisp/net/tramp.el index 8ace0165ed9..6b64e26b107 100644 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@ -252,9 +252,9 @@ pair of the form (KEY VALUE). The following KEYs are defined: \"%\" 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 @@ -283,6 +283,8 @@ pair of the form (KEY VALUE). The following KEYs are defined: - \"%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 @@ -5033,6 +5035,7 @@ substitution. SPEC-LIST is a list of char/value pairs used for (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 @@ -5049,7 +5052,7 @@ substitution. SPEC-LIST is a list of char/value pairs used for 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)