diff options
author | Michael Albinus <michael.albinus@gmx.de> | 2021-08-12 20:09:48 +0200 |
---|---|---|
committer | Michael Albinus <michael.albinus@gmx.de> | 2021-08-12 20:09:48 +0200 |
commit | 5d50acd0a61f70db4069457a5f14fb1a9b0f7f7c (patch) | |
tree | 4f04302ad954c76d3b579b805a6b8c0f5a01ae8d /doc | |
parent | 5809728bc502d58f4fe96e98b472c569da3d8879 (diff) | |
download | emacs-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.texi | 26 |
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 |