summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMichael Albinus <michael.albinus@gmx.de>2021-08-12 20:09:48 +0200
committerMichael Albinus <michael.albinus@gmx.de>2021-08-12 20:09:48 +0200
commit5d50acd0a61f70db4069457a5f14fb1a9b0f7f7c (patch)
tree4f04302ad954c76d3b579b805a6b8c0f5a01ae8d /doc
parent5809728bc502d58f4fe96e98b472c569da3d8879 (diff)
downloademacs-5d50acd0a61f70db4069457a5f14fb1a9b0f7f7c.tar.gz
Improve connection type `pipe' for remote processes
* doc/misc/tramp.texi (Remote processes): New subsection "Remote process connection type". * lisp/net/tramp-adb.el (tramp-adb-handle-make-process): Use `tramp-process-connection-type' as default connection type. Improve check for `:connection-type'. * lisp/net/tramp-sh.el (tramp-sh-handle-make-process): Use `tramp-process-connection-type' as default connection type. Improve check for `:connection-type'. Send "stty -icrnl" when connection type is a pipe. * lisp/net/tramp.el (tramp-process-connection-type): Allow all possible values. (tramp-handle-make-process): Use `tramp-process-connection-type' as default connection type. Improve check for `:connection-type'. * test/lisp/net/tramp-tests.el (tramp-test30-make-process): Extend test.
Diffstat (limited to 'doc')
-rw-r--r--doc/misc/tramp.texi26
1 files changed, 26 insertions, 0 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 38c20de62a2..bd9bd998dfb 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -3734,6 +3734,32 @@ To open @command{powershell} as a remote shell, use this:
@end lisp
+@subsection Remote process connection type
+@vindex process-connection-type
+@cindex tramp-process-connection-type
+
+Asynchronous processes differ in the way, whether they use a pseudo
+tty, or not. This is controlled by the variable
+@code{process-connection-type}, which can be @code{t} or @code{pty}
+(use a pseudo tty), or @code{nil} or @code{pipe} (don't use it).
+@value{tramp} is based on running shells on the remote host, which
+require a pseudo tty. Therefore, it declares the variable
+@code{tramp-process-connection-type}, which carries this information
+for remote processes. Per default, its value is @code{t}. The name
+of the remote pseudo tty is returned by the function
+@code{process-tty-name}.
+
+If a remote process, started by @code{start-file-process}, shouldn't
+use a pseudo tty, this is emulated by let-binding this variable to
+@code{nil} or @code{pipe}. There is still a pseudo tty for the
+started process, but some terminal properties are changed, like
+suppressing translation of carriage return characters into newline.
+
+The function @code{make-process} allows an explicit setting by the
+@code{:connection-type} keyword. If this keyword is not used, the
+value of @code{tramp-process-connection-type} is applied instead.
+
+
@anchor{Improving performance of asynchronous remote processes}
@subsection Improving performance of asynchronous remote processes
@cindex Asynchronous remote processes