summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2023-09-24 17:15:05 +0200
committerMichael Albinus <michael.albinus@gmx.de>2023-09-24 17:15:05 +0200
commitbee18e527379d2474e7a4ca62c53b6f21d8f9315 (patch)
tree937149948f74553c8b7a2ff7d756a0a24a3e2ba4
parent7d5fee0feaa5740f3fbbfc6d5f13855bf58b9c25 (diff)
Fix bug#66093 in Tramp
* lisp/net/tramp-sshfs.el (tramp-methods): Use "%a". (tramp-sshfs-handle-process-file): Replace ?a by "-t". * lisp/net/tramp.el (tramp-methods): Adapt docstring. (Bug#66093) (tramp-handle-make-process): Replace ?a by "-t" if indicated.
-rw-r--r--lisp/net/tramp-sshfs.el4
-rw-r--r--lisp/net/tramp.el11
2 files changed, 9 insertions, 6 deletions
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)