diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2020-08-12 12:45:45 +0200 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2020-08-12 12:45:45 +0200 |
commit | 34c17cd8d61a841dcca4c307bc436b5d09b5a965 (patch) | |
tree | c3c32d5e375834eca16b78c80b9db829f6237eee /doc | |
parent | 79236fcbd01998862f565da07a70611bc8b802d2 (diff) | |
download | emacs-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.texi | 19 |
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 |