summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2020-08-12 12:45:45 +0200
committerMichael Albinus <michael.albinus@gmx.de>2020-08-12 12:45:45 +0200
commit34c17cd8d61a841dcca4c307bc436b5d09b5a965 (patch)
treec3c32d5e375834eca16b78c80b9db829f6237eee /doc
parent79236fcbd01998862f565da07a70611bc8b802d2 (diff)
downloademacs-34c17cd8d61a841dcca4c307bc436b5d09b5a965.tar.gz
Implement Tramp direct async processes fallback for multi-hops
* doc/misc/tramp.texi (Remote processes): Precise restrictions for direct async processes. * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Use `tramp-direct-async-process-p'. * lisp/net/tramp.el (tramp-direct-async-process-p): New defun. (tramp-handle-make-process): Adapt handling of :stderr. Simplify.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/tramp.texi19
1 files changed, 11 insertions, 8 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 23221b6a7b8..c1a66d02512 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -3561,7 +3561,13 @@ which must be set to a non-@code{nil} value. Example:
@end group
@end lisp
-However, this approach has different limitations:
+Using direct asynchronous processes in @value{tramp} is not possible,
+if the remote host is connected via multiple hops
+(@pxref{Multi-hops}), or the @code{make-process} /
+@code{start-file-process} call uses a stderr stream. In this case,
+@value{tramp} falls back to its classical implementation.
+
+Furthermore, this approach has the following limitations:
@itemize
@item
@@ -3569,16 +3575,10 @@ It works only for connection methods defined in @file{tramp-sh.el} and
@file{tramp-adb.el}.
@item
-It does not support multi-hop methods.
-
-@item
It does not support interactive user authentication, like password
handling.
@item
-It does not support a separated error stream.
-
-@item
It cannot be killed via @code{interrupt-process}.
@item
@@ -3594,7 +3594,10 @@ It does not set environment variable @env{INSIDE_EMACS}.
In order to gain even more performance, it is recommended to bind
@code{tramp-verbose} to 0 when running @code{make-process} or
-@code{start-file-process}.
+@code{start-file-process}. Furthermore, you might set
+@code{tramp-use-ssh-controlmaster-options} to @code{nil} in order to
+bypass @value{tramp}'s handling of the @code{ControlMaster} options,
+and use your own settings in @file{~/.ssh/config}.
@node Cleanup remote connections