aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRobert Pluim2021-02-23 14:21:26 +0100
committerRobert Pluim2021-02-23 14:21:26 +0100
commit228fd92fb389eeaf2ec0bbca51da0569fce28ee7 (patch)
tree644a02a95901922cbcc9fc1c012af02256dd0f41
parent4cb24e44ca49d6acc0354a9a486463bd710796d7 (diff)
downloademacs-228fd92fb389eeaf2ec0bbca51da0569fce28ee7.tar.gz
emacs-228fd92fb389eeaf2ec0bbca51da0569fce28ee7.zip
* doc/misc/tramp.texi: Grammar/style fixes
* doc/misc/tramp.texi (Overview): (Obtaining @value{tramp}): (Quick Start Guide): (Configuration): (Connection types): (Inline methods): (External methods): (Password handling): (Predefined connection information): (Remote shell setup): (Remote processes): (Frequently Asked Questions): (External packages): (Traces and Profiles): Grammar/style fixes.
-rw-r--r--doc/misc/tramp.texi202
1 files changed, 102 insertions, 100 deletions
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index e745af2a7de..53f67b191cd 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -223,7 +223,7 @@ presented here to illustrate the steps involved:
223 223
224@kbd{C-x C-f} to initiate find-file, enter part of the @value{tramp} 224@kbd{C-x C-f} to initiate find-file, enter part of the @value{tramp}
225file name, then hit @kbd{@key{TAB}} for completion. If this is the 225file name, then hit @kbd{@key{TAB}} for completion. If this is the
226first time connection to that host, here's what happens: 226first time connecting to that host, here's what happens:
227 227
228@itemize 228@itemize
229@item 229@item
@@ -250,17 +250,17 @@ message.
250 250
251If @value{tramp} does not receive any messages within a timeout period 251If @value{tramp} does not receive any messages within a timeout period
252(a minute, for example), then @value{tramp} responds with an error 252(a minute, for example), then @value{tramp} responds with an error
253message about not finding the remote shell prompt. If any messages 253message about not finding the remote shell prompt. If there are any
254from the remote host, @value{tramp} displays them in the buffer. 254messages from the remote host, @value{tramp} displays them in the
255buffer.
255 256
256For any @samp{login failed} message from the remote host, 257For any @samp{login failed} message from the remote host,
257@value{tramp} aborts the login attempt, and repeats the login steps 258@value{tramp} aborts the login attempt, and repeats the login steps.
258again.
259 259
260@item 260@item
261Upon successful login and @value{tramp} recognizes the shell prompt 261Upon successful login, if @value{tramp} recognizes the shell prompt
262from the remote host, @value{tramp} prepares the shell environment by 262from the remote host, @value{tramp} prepares the shell environment by
263turning off echoing, setting shell prompt, and other housekeeping 263turning off echoing, setting the shell prompt, and other housekeeping
264chores. 264chores.
265 265
266@strong{Note} that for the remote shell, @value{tramp} invokes 266@strong{Note} that for the remote shell, @value{tramp} invokes
@@ -282,8 +282,8 @@ contents from the remote host.
282 282
283For inline transfers, @value{tramp} sends a command, such as 283For inline transfers, @value{tramp} sends a command, such as
284@samp{mimencode -b /path/to/remote/file}, waits until the output has 284@samp{mimencode -b /path/to/remote/file}, waits until the output has
285accumulated in the buffer, decodes that output to produce the file's 285accumulated in the buffer, then decodes that output to produce the
286contents. 286file's contents.
287 287
288For external transfers, @value{tramp} sends a command as follows: 288For external transfers, @value{tramp} sends a command as follows:
289@example 289@example
@@ -335,7 +335,7 @@ versions packaged with Emacs can be retrieved by
335@end lisp 335@end lisp
336 336
337@value{tramp} is also available as @uref{https://elpa.gnu.org, GNU 337@value{tramp} is also available as @uref{https://elpa.gnu.org, GNU
338ELPA} package. Besides the standalone releases, further minor version 338ELPA} package. Besides the standalone releases, further minor versions
339of @value{tramp} will appear on GNU ELPA, until the next @value{tramp} 339of @value{tramp} will appear on GNU ELPA, until the next @value{tramp}
340release appears. These minor versions have a four-number string, like 340release appears. These minor versions have a four-number string, like
341``2.4.5.1''. 341``2.4.5.1''.
@@ -345,7 +345,7 @@ Development versions contain new and incomplete features. The
345development version of @value{tramp} is always the version number of 345development version of @value{tramp} is always the version number of
346the next release, plus the suffix ``-pre'', like ``2.4.4-pre''. 346the next release, plus the suffix ``-pre'', like ``2.4.4-pre''.
347 347
348One way to obtain @value{tramp} from Git server is to visit the 348One way to obtain @value{tramp} from the Git server is to visit the
349Savannah project page at the following URL and then clicking on the 349Savannah project page at the following URL and then clicking on the
350Git link in the navigation bar at the top. 350Git link in the navigation bar at the top.
351 351
@@ -363,7 +363,7 @@ $ git clone git://git.savannah.gnu.org/tramp.git
363@end example 363@end example
364 364
365@noindent 365@noindent
366From behind a firewall: 366From behind a proxy:
367 367
368@example 368@example
369@group 369@group
@@ -411,7 +411,7 @@ $ autoconf
411@end ifset 411@end ifset
412@ifclear installchapter 412@ifclear installchapter
413See the file @file{INSTALL} in that directory for further information 413See the file @file{INSTALL} in that directory for further information
414how to install @value{tramp}. 414on how to install @value{tramp}.
415@end ifclear 415@end ifclear
416 416
417 417
@@ -419,16 +419,16 @@ how to install @value{tramp}.
419@chapter Short introduction how to use @value{tramp} 419@chapter Short introduction how to use @value{tramp}
420@cindex quick start guide 420@cindex quick start guide
421 421
422@value{tramp} extends the Emacs file name syntax by a remote 422@value{tramp} extends the Emacs file name syntax by adding a remote
423component. A remote file name looks always like 423component. A remote file name always looks like
424@file{@trampfn{method,user@@host,/path/to/file}}. 424@file{@trampfn{method,user@@host,/path/to/file}}.
425 425
426You can use remote files exactly like ordinary files, that means you 426You can use remote files exactly like ordinary files, that means you
427could open a file or directory by @kbd{C-x C-f 427can open a file or directory by @kbd{C-x C-f
428@trampfn{method,user@@host,/path/to/file} @key{RET}}, edit the file, 428@trampfn{method,user@@host,/path/to/file} @key{RET}}, edit the file,
429and save it. You can also mix local files and remote files in file 429and save it. You can also mix local files and remote files in file
430operations with two arguments, like @code{copy-file} or 430operations with two arguments, like @code{copy-file} or
431@code{rename-file}. And finally, you can run even processes on a 431@code{rename-file}. And finally, you can even run processes on a
432remote host, when the buffer you call the process from has a remote 432remote host, when the buffer you call the process from has a remote
433@code{default-directory}. 433@code{default-directory}.
434 434
@@ -437,26 +437,26 @@ remote host, when the buffer you call the process from has a remote
437@section File name syntax 437@section File name syntax
438@cindex file name syntax 438@cindex file name syntax
439 439
440Remote file names are prepended by the @code{method}, @code{user} and 440Remote file names have @code{method}, @code{user} and @code{host}
441@code{host} parts. All of them, and also the local file name part, 441parts prepended. All of them, and also the local file name part, are
442are optional, in case of a missing part a default value is assumed. 442optional, in case of a missing part a default value is assumed. The
443The default value for an empty local file name part is the remote 443default value for an empty local file name part is the remote user's
444user's home directory. The shortest remote file name is 444home directory. The shortest remote file name is thus
445@file{@trampfn{-,,}}, therefore. The @samp{-} notation for the 445@file{@trampfn{-,,}}. The @samp{-} notation for the default method is
446default method is used for syntactical reasons, @ref{Default Method}. 446used for syntactical reasons, @ref{Default Method}.
447 447
448The @code{method} part describes the connection method used to reach 448The @code{method} part describes the connection method used to reach
449the remote host, see below. 449the remote host, see below.
450 450
451The @code{user} part is the user name for accessing the remote host. 451The @code{user} part is the user name for accessing the remote host.
452For the @option{smb} method, this could also require a domain name, in 452For the @option{smb} method, this could also require a domain name, in
453this case it is written as @code{user%domain}. 453which case it is written as @code{user%domain}.
454 454
455The @code{host} part must be a host name which could be resolved on 455The @code{host} part must be a host name which can be resolved on
456your local host. It could be a short host name, a fully qualified 456your local host. It could be a short host name, a fully qualified
457domain name, an IPv4 or IPv6 address, @ref{File name syntax}. Some 457domain name, an IPv4 or IPv6 address, @ref{File name syntax}. Some
458connection methods support also a notation of the port to be used, in 458connection methods also support a notation for the port to be used, in
459this case it is written as @code{host#port}. 459which case it is written as @code{host#port}.
460 460
461 461
462@anchor{Quick Start Guide: @option{ssh} and @option{plink} methods} 462@anchor{Quick Start Guide: @option{ssh} and @option{plink} methods}
@@ -470,9 +470,9 @@ If your local host runs an SSH client, and the remote host runs an SSH
470server, the simplest remote file name is 470server, the simplest remote file name is
471@file{@trampfn{ssh,user@@host,/path/to/file}}. The remote file name 471@file{@trampfn{ssh,user@@host,/path/to/file}}. The remote file name
472@file{@trampfn{ssh,,}} opens a remote connection to yourself on the 472@file{@trampfn{ssh,,}} opens a remote connection to yourself on the
473local host, and is taken often for testing @value{tramp}. 473local host, and is often used for testing @value{tramp}.
474 474
475On MS Windows, PuTTY is often used as SSH client. Its @command{plink} 475On MS Windows, PuTTY is often used as the SSH client. Its @command{plink}
476method can be used there to open a connection to a remote host running 476method can be used there to open a connection to a remote host running
477an @command{ssh} server: 477an @command{ssh} server:
478@file{@trampfn{plink,user@@host,/path/to/file}}. 478@file{@trampfn{plink,user@@host,/path/to/file}}.
@@ -488,14 +488,14 @@ an @command{ssh} server:
488@cindex @option{sg} method 488@cindex @option{sg} method
489 489
490Sometimes, it is necessary to work on your local host under different 490Sometimes, it is necessary to work on your local host under different
491permissions. For this, you could use the @option{su} or @option{sudo} 491permissions. For this, you can use the @option{su} or @option{sudo}
492connection method. Both methods use @samp{root} as default user name 492connection method. Both methods use @samp{root} as default user name
493and the return value of @code{(system-name)} as default host name. 493and the return value of @code{(system-name)} as default host name.
494Therefore, it is convenient to open a file as 494Therefore, it is convenient to open a file as
495@file{@trampfn{sudo,,/path/to/file}}. 495@file{@trampfn{sudo,,/path/to/file}}.
496 496
497The method @option{sg} stands for ``switch group''; the changed group 497The method @option{sg} stands for ``switch group''; here the username
498must be used here as user name. The default host name is the same. 498is used as the group to change to. The default host name is the same.
499 499
500 500
501@anchor{Quick Start Guide: @option{ssh}, @option{plink}, @option{su}, @option{sudo} and @option{sg} methods} 501@anchor{Quick Start Guide: @option{ssh}, @option{plink}, @option{su}, @option{sudo} and @option{sg} methods}
@@ -509,9 +509,9 @@ must be used here as user name. The default host name is the same.
509@cindex method @option{sudo} 509@cindex method @option{sudo}
510@cindex @option{sudo} method 510@cindex @option{sudo} method
511 511
512If the @option{su} or @option{sudo} option shall be performed on 512If the @option{su} or @option{sudo} option should be performed on
513another host, it could be comnbined with a leading @option{ssh} or 513another host, it can be comnbined with a leading @option{ssh} or
514@option{plink} option. That means, @value{tramp} connects first to 514@option{plink} option. That means that @value{tramp} connects first to
515the other host with non-administrative credentials, and changes to 515the other host with non-administrative credentials, and changes to
516administrative credentials on that host afterwards. In a simple case, 516administrative credentials on that host afterwards. In a simple case,
517the syntax looks like 517the syntax looks like
@@ -527,8 +527,8 @@ the syntax looks like
527The @option{sudoedit} method is similar to the @option{sudo} method. 527The @option{sudoedit} method is similar to the @option{sudo} method.
528However, it is a different implementation: it does not keep an open 528However, it is a different implementation: it does not keep an open
529session running in the background. This is for security reasons; on 529session running in the background. This is for security reasons; on
530the backside this method is less performant than the @option{sudo} 530the backside this method has worse performance than the @option{sudo}
531method, it is restricted to the @samp{localhost} only, and it does not 531method, it is restricted to @samp{localhost} only, and it does not
532support external processes. 532support external processes.
533 533
534 534
@@ -561,9 +561,9 @@ of the local file name is the share exported by the remote host,
561@cindex method @option{mtp} 561@cindex method @option{mtp}
562@cindex @option{mtp} method 562@cindex @option{mtp} method
563 563
564On systems, which have installed @acronym{GVFS, the GNOME Virtual File 564On systems which have @acronym{GVFS, the GNOME Virtual File System}
565System}, its offered methods could be used by @value{tramp}. Examples 565installed , its offered methods can be used by @value{tramp}.
566are @file{@trampfn{sftp,user@@host,/path/to/file}}, 566Examples are @file{@trampfn{sftp,user@@host,/path/to/file}},
567@file{@trampfn{afp,user@@host,/path/to/file}} (accessing Apple's AFP 567@file{@trampfn{afp,user@@host,/path/to/file}} (accessing Apple's AFP
568file system), @file{@trampfn{dav,user@@host,/path/to/file}}, 568file system), @file{@trampfn{dav,user@@host,/path/to/file}},
569@file{@trampfn{davs,user@@host,/path/to/file}} (for WebDAV shares) and 569@file{@trampfn{davs,user@@host,/path/to/file}} (for WebDAV shares) and
@@ -580,10 +580,10 @@ file system), @file{@trampfn{dav,user@@host,/path/to/file}},
580@cindex @option{nextcloud} method 580@cindex @option{nextcloud} method
581@cindex nextcloud 581@cindex nextcloud
582 582
583@acronym{GVFS}-based methods include also @acronym{GNOME} Online 583@acronym{GVFS}-based methods also include @acronym{GNOME} Online
584Accounts, which support the @option{Files} service. These are the 584Accounts, which support the @option{Files} service. These are the
585Google Drive file system, and the OwnCloud/NextCloud file system. The 585Google Drive file system, and the OwnCloud/NextCloud file system. The
586file name syntax is here always 586file name syntax here is always
587@file{@trampfn{gdrive,john.doe@@gmail.com,/path/to/file}} 587@file{@trampfn{gdrive,john.doe@@gmail.com,/path/to/file}}
588(@samp{john.doe@@gmail.com} stands here for your Google Drive 588(@samp{john.doe@@gmail.com} stands here for your Google Drive
589account), or @file{@trampfn{nextcloud,user@@host#8081,/path/to/file}} 589account), or @file{@trampfn{nextcloud,user@@host#8081,/path/to/file}}
@@ -608,7 +608,7 @@ needed. The file name syntax is @file{@trampfn{adb,,/path/to/file}}.
608 608
609A convenient way to access system storages is the @command{rclone} 609A convenient way to access system storages is the @command{rclone}
610program. If you have configured a storage in @command{rclone} under a 610program. If you have configured a storage in @command{rclone} under a
611name @samp{storage} (for example), you could access it via the remote 611name @samp{storage} (for example), you can access it via the remote
612file name syntax @file{@trampfn{rclone,storage,/path/to/file}}. User 612file name syntax @file{@trampfn{rclone,storage,/path/to/file}}. User
613names are not needed. 613names are not needed.
614 614
@@ -630,7 +630,7 @@ For changing the connection type and file access method from the
630defaults to one of several other options, @xref{Connection types}. 630defaults to one of several other options, @xref{Connection types}.
631 631
632@strong{Note} that some user options described in these examples are 632@strong{Note} that some user options described in these examples are
633not auto loaded by Emacs. All examples require @value{tramp} is 633not auto loaded by Emacs. All examples require @value{tramp} to be
634installed and loaded: 634installed and loaded:
635 635
636@lisp 636@lisp
@@ -638,7 +638,7 @@ installed and loaded:
638@end lisp 638@end lisp
639 639
640For functions used to configure @value{tramp}, the following clause 640For functions used to configure @value{tramp}, the following clause
641might be used in your init file: 641may be used in your init file:
642 642
643@lisp 643@lisp
644(with-eval-after-load 'tramp (tramp-change-syntax 'simplified)) 644(with-eval-after-load 'tramp (tramp-change-syntax 'simplified))
@@ -693,13 +693,13 @@ methods. While these methods do see better performance when actually
693transferring files, the overhead of the cryptographic negotiation at 693transferring files, the overhead of the cryptographic negotiation at
694startup may drown out the improvement in file transfer times. 694startup may drown out the improvement in file transfer times.
695 695
696External methods should be configured such a way that they don't 696External methods should be configured in such a way that they don't
697require a password (with @command{ssh-agent}, or such alike). Modern 697require a password (with @command{ssh-agent}, or similar). Modern
698@command{scp} implementations offer options to reuse existing 698@command{scp} implementations offer options to reuse existing
699@command{ssh} connections, which will be enabled by default if 699@command{ssh} connections, which @value{tramp} enables by default if
700available. If it isn't possible, you should consider @ref{Password 700available. If that is not possible, you should consider @ref{Password
701handling}, otherwise you will be prompted for a password every copy 701handling}, otherwise you will be prompted for a password for every
702action. 702copy action.
703 703
704 704
705@node Inline methods 705@node Inline methods
@@ -727,17 +727,17 @@ usability of one of the commands defined in
727reliable command it finds. @value{tramp}'s search path can be 727reliable command it finds. @value{tramp}'s search path can be
728customized, see @ref{Remote programs}. 728customized, see @ref{Remote programs}.
729 729
730In case none of the commands are unavailable, @value{tramp} first 730In case none of the commands are available, @value{tramp} first
731transfers a small Perl program to the remote host, and then tries that 731transfers a small Perl program to the remote host, and then tries to
732program for encoding and decoding. 732use that program for encoding and decoding.
733 733
734@vindex tramp-inline-compress-start-size 734@vindex tramp-inline-compress-start-size
735@vindex tramp-inline-compress-commands 735@vindex tramp-inline-compress-commands
736To increase transfer speeds for large text files, use compression 736To increase transfer speeds for large text files, @value{tramp} can
737before encoding. The user option 737use compression before encoding. The user option
738@code{tramp-inline-compress-start-size} specifies the file size for 738@code{tramp-inline-compress-start-size} specifies the file size above
739such optimization. This feature depends on the availability and 739which to use this optimization. This feature depends on the
740usability of one of the commands defined in 740availability and usability of one of the commands defined in
741@code{tramp-inline-compress-commands}. 741@code{tramp-inline-compress-commands}.
742 742
743@table @asis 743@table @asis
@@ -747,6 +747,8 @@ usability of one of the commands defined in
747 747
748@command{rsh} is an option for connecting to hosts within local 748@command{rsh} is an option for connecting to hosts within local
749networks since @command{rsh} is not as secure as other methods. 749networks since @command{rsh} is not as secure as other methods.
750There should be no reason to use it, as @command{ssh} is a both a
751complete replacement and ubiquitous.
750 752
751@item @option{ssh} 753@item @option{ssh}
752@cindex method @option{ssh} 754@cindex method @option{ssh}
@@ -784,7 +786,7 @@ Similar to @option{su} method, @option{sudo} uses @command{sudo}.
784@command{sudo} must have sufficient rights to start a shell. 786@command{sudo} must have sufficient rights to start a shell.
785 787
786For security reasons, a @option{sudo} connection is disabled after a 788For security reasons, a @option{sudo} connection is disabled after a
787predefined timeout (5 minutes per default). This can be changed, see 789predefined timeout (5 minutes by default). This can be changed, see
788@ref{Predefined connection information}. 790@ref{Predefined connection information}.
789 791
790@item @option{doas} 792@item @option{doas}
@@ -1183,7 +1185,7 @@ information}. Supported properties are @t{"mount-args"},
1183@t{"copyto-args"} and @t{"moveto-args"}. 1185@t{"copyto-args"} and @t{"moveto-args"}.
1184 1186
1185Access via @option{rclone} is slow. If you have an alternative method 1187Access via @option{rclone} is slow. If you have an alternative method
1186for accessing the system storage, you shall prefer this. 1188for accessing the system storage, you should use it.
1187@ref{GVFS-based methods} for example, methods @option{gdrive} and 1189@ref{GVFS-based methods} for example, methods @option{gdrive} and
1188@option{nextcloud}. 1190@option{nextcloud}.
1189 1191
@@ -1908,10 +1910,10 @@ machine melancholia#4711 port davs login daniel%BIZARRE password geheim
1908@end example 1910@end example
1909 1911
1910@vindex auth-source-save-behavior 1912@vindex auth-source-save-behavior
1911If there doesn't exist a proper entry, the password is read 1913If no proper entry exists, the password is read
1912interactively. After successful login (verification of the password), 1914interactively. After successful login (verification of the password),
1913it is offered to save a corresponding entry for further use by 1915Emacs offers to save a corresponding entry for further use by
1914@code{auth-source} backends which support this. This could be changed 1916@code{auth-source} backends which support this. This can be changed
1915by setting the user option @code{auth-source-save-behavior} to @code{nil}. 1917by setting the user option @code{auth-source-save-behavior} to @code{nil}.
1916 1918
1917@vindex auth-source-debug 1919@vindex auth-source-debug
@@ -2037,10 +2039,10 @@ properties are listed here:
2037@itemize 2039@itemize
2038@item @t{"login-program"} 2040@item @t{"login-program"}
2039 2041
2040The property @t{"login-program"} keeps the program to be called in 2042The property @t{"login-program"} stores the program to be used to
2041order to connect the remote host. Sometimes, the program might have 2043connect to the remote host. Sometimes, the program might have another
2042another name on your host, or it is located on another path. In this 2044name on your host, or it might be located in another path. In this case,
2043case, you can overwrite the default value, which is special for every 2045you can overwrite the default value, which is special for every
2044connection method. It is used in all connection methods of 2046connection method. It is used in all connection methods of
2045@file{tramp-sh.el}. 2047@file{tramp-sh.el}.
2046 2048
@@ -2093,12 +2095,12 @@ Connections using the @option{smb} method check, whether the remote
2093host supports posix commands. If the remote host runs Samba, it 2095host supports posix commands. If the remote host runs Samba, it
2094confirms this capability. However, some very old Samba versions have 2096confirms this capability. However, some very old Samba versions have
2095errors in their implementation. In order to suppress the posix 2097errors in their implementation. In order to suppress the posix
2096commands for those hosts, the property @t{"posix"} shall be set to 2098commands for those hosts, the property @t{"posix"} should be set to
2097@code{nil}. 2099@code{nil}.
2098 2100
2099The default value of this property is @code{t} (not specified in 2101The default value of this property is @code{t} (not specified in
2100@code{tramp-methods}). If the remote host runs native MS Windows, 2102@code{tramp-methods}). If the remote host runs native MS Windows,
2101there is no effect of this property. 2103this propery has no effect.
2102 2104
2103@item @t{"mount-args"}@* 2105@item @t{"mount-args"}@*
2104@t{"copyto-args"}@* 2106@t{"copyto-args"}@*
@@ -2207,7 +2209,7 @@ be recomputed. To force @value{tramp} to recompute afresh, call
2207@subsection Changing the default remote or local shell 2209@subsection Changing the default remote or local shell
2208@cindex zsh setup 2210@cindex zsh setup
2209 2211
2210Per default, @value{tramp} uses the command @command{/bin/sh} for 2212By default, @value{tramp} uses the command @command{/bin/sh} for
2211starting a shell on the remote host. This can be changed by setting 2213starting a shell on the remote host. This can be changed by setting
2212the connection property @t{"remote-shell"}; see @pxref{Predefined 2214the connection property @t{"remote-shell"}; see @pxref{Predefined
2213connection information}. If you want, for example, use 2215connection information}. If you want, for example, use
@@ -2232,7 +2234,7 @@ This approach has also the advantage, that settings in
2232trouble with the shell prompt due to set zle options will be avoided. 2234trouble with the shell prompt due to set zle options will be avoided.
2233 2235
2234Similar problems can happen with the local shell Tramp uses to create 2236Similar problems can happen with the local shell Tramp uses to create
2235a process. Per default, it uses the command @command{/bin/sh} for 2237a process. By default, it uses the command @command{/bin/sh} for
2236this, which could also be a link to another shell. In order to 2238this, which could also be a link to another shell. In order to
2237overwrite this, you might apply 2239overwrite this, you might apply
2238 2240
@@ -2332,7 +2334,7 @@ prompts, for which @value{tramp} uses @code{tramp-wrong-passwd-regexp}.
2332 2334
2333@value{tramp} uses the user option @code{tramp-terminal-type} to set 2335@value{tramp} uses the user option @code{tramp-terminal-type} to set
2334the remote environment variable @env{TERM} for the shells it runs. 2336the remote environment variable @env{TERM} for the shells it runs.
2335Per default, it is @t{"dumb"}, but this could be changed. A dumb 2337By default, it is @t{"dumb"}, but this could be changed. A dumb
2336terminal is best suited to run the background sessions of 2338terminal is best suited to run the background sessions of
2337@value{tramp}. However, running interactive remote shells might 2339@value{tramp}. However, running interactive remote shells might
2338require a different setting. This could be achieved by tweaking the 2340require a different setting. This could be achieved by tweaking the
@@ -3216,19 +3218,19 @@ host when the variable @code{default-directory} is remote:
3216@end lisp 3218@end lisp
3217 3219
3218@vindex process-file-return-signal-string 3220@vindex process-file-return-signal-string
3219@code{process-file} shall return either the exit code of the process, 3221For a local process, @code{process-file} returns either the exit code
3220or a string describing the signal, when the process has been 3222of the process, or a string describing a signal, when the process has
3221interrupted. Since it cannot be determined reliably whether a remote 3223been interrupted. Since it cannot be determined reliably whether a
3222process has been interrupted, @code{process-file} returns always the 3224remote process has been interrupted, @code{process-file} will always
3223exit code. When the user option 3225returns the exit code for it. When the user option
3224@code{process-file-return-signal-string} is non-@code{nil}, 3226@code{process-file-return-signal-string} is non-@code{nil},
3225@code{process-file} regards all exit codes greater than 128 as an 3227@code{process-file} treats all exit codes greater than 128 as an
3226indication that the process has been interrupted, and returns a 3228indication that the process has been interrupted, and returns a
3227respective string. 3229corresponding string.
3228 3230
3229Remote processes do not apply to @acronym{GVFS} (see @ref{GVFS-based 3231This remote process handling does not apply to @acronym{GVFS} (see
3230methods}) because the remote file system is mounted on the local host 3232@ref{GVFS-based methods}) because the remote file system is mounted on
3231and @value{tramp} just accesses by changing the 3233the local host and @value{tramp} accesses it by changing the
3232@code{default-directory}. 3234@code{default-directory}.
3233 3235
3234@value{tramp} starts a remote process when a command is executed in a 3236@value{tramp} starts a remote process when a command is executed in a
@@ -3239,7 +3241,7 @@ integrated to work with @value{tramp}: @file{shell.el},
3239 3241
3240@vindex INSIDE_EMACS@r{, environment variable} 3242@vindex INSIDE_EMACS@r{, environment variable}
3241@value{tramp} always modifies the @env{INSIDE_EMACS} environment 3243@value{tramp} always modifies the @env{INSIDE_EMACS} environment
3242variable for remote processes. Per default, this environment variable 3244variable for remote processes. By default, this environment variable
3243shows the Emacs version. @value{tramp} adds its own version string, 3245shows the Emacs version. @value{tramp} adds its own version string,
3244so it looks like @samp{27.2,tramp:2.4.5.1}. However, other packages 3246so it looks like @samp{27.2,tramp:2.4.5.1}. However, other packages
3245might also add their name to this environment variable, like 3247might also add their name to this environment variable, like
@@ -3294,8 +3296,8 @@ local @file{.emacs} file:
3294 3296
3295@vindex ENV@r{, environment variable} 3297@vindex ENV@r{, environment variable}
3296Setting the @env{ENV} environment variable instructs some shells to 3298Setting the @env{ENV} environment variable instructs some shells to
3297read an initialization file. Per default, @value{tramp} has disabled 3299read an initialization file. By default, @value{tramp} disables
3298this. You could overwrite this behavior by evaluating 3300this. You can override this behavior by evaluating
3299 3301
3300@lisp 3302@lisp
3301@group 3303@group
@@ -4385,7 +4387,7 @@ this @code{nil} setting:
4385 4387
4386@vindex ProxyCommand@r{, ssh option} 4388@vindex ProxyCommand@r{, ssh option}
4387@vindex ProxyJump@r{, ssh option} 4389@vindex ProxyJump@r{, ssh option}
4388This shall also be set to @code{nil} if you use the 4390This should also be set to @code{nil} if you use the
4389@option{ProxyCommand} or @option{ProxyJump} options in your 4391@option{ProxyCommand} or @option{ProxyJump} options in your
4390@command{ssh} configuration. 4392@command{ssh} configuration.
4391 4393
@@ -4955,9 +4957,9 @@ I get an error @samp{Remote file error: Forbidden reentrant call of Tramp}
4955Timers, process filters and sentinels, and other event based functions 4957Timers, process filters and sentinels, and other event based functions
4956can run at any time, when a remote file operation is still running. 4958can run at any time, when a remote file operation is still running.
4957This can cause @value{tramp} to block. When such a situation is 4959This can cause @value{tramp} to block. When such a situation is
4958detected, this error is triggered. It shall be fixed in the 4960detected, this error is triggered. It should be fixed in the
4959respective function (an error report will help), but for the time 4961respective function (sending an error report will help), but for the
4960being you can suppress this error by the following code in your 4962time being you can suppress this error by the following code in your
4961@file{~/.emacs}: 4963@file{~/.emacs}:
4962 4964
4963@lisp 4965@lisp
@@ -5140,9 +5142,9 @@ sending a string to a process, or waiting for process output. They
5140can run any remote file operation, which would conflict with the 5142can run any remote file operation, which would conflict with the
5141already running remote file operation, if the same connection is 5143already running remote file operation, if the same connection is
5142affected. @value{tramp} detects this situation, and raises the 5144affected. @value{tramp} detects this situation, and raises the
5143@code{remote-file-error} error. A timer function shall avoid this 5145@code{remote-file-error} error. A timer function should avoid this
5144situation. At least, it shall protect itself against this error, by 5146situation. As a minimum, it should protect itself against this error, by
5145wrapping the timer function body with 5147wrapping the timer function body as follows:
5146 5148
5147@lisp 5149@lisp
5148@group 5150@group
@@ -5194,8 +5196,8 @@ Other navigation keys are described in
5194@ref{Outline Visibility, , , emacs}. 5196@ref{Outline Visibility, , , emacs}.
5195@end ifinfo 5197@end ifinfo
5196 5198
5197@value{tramp} handles errors internally. But to get a Lisp backtrace, 5199@value{tramp} handles errors internally. Hence, to get a Lisp backtrace,
5198both the error and the signal have to be set as follows: 5200the following settings are required:
5199 5201
5200@lisp 5202@lisp
5201@group 5203@group
@@ -5209,15 +5211,15 @@ backtraces are also added to the @value{tramp} debug buffer in case of
5209errors. 5211errors.
5210 5212
5211In very rare cases it could happen, that @value{tramp} blocks Emacs. 5213In very rare cases it could happen, that @value{tramp} blocks Emacs.
5212Killing Emacs does not allow to inspect the debug buffer. In that 5214Killing Emacs does not allow inspecting the debug buffer. In that
5213case, you might instruct @value{tramp} to mirror the debug buffer to 5215case, you can instruct @value{tramp} to mirror the debug buffer to
5214file: 5216a file:
5215 5217
5216@lisp 5218@lisp
5217(customize-set-variable 'tramp-debug-to-file t) 5219(customize-set-variable 'tramp-debug-to-file t)
5218@end lisp 5220@end lisp
5219 5221
5220The debug buffer is written as file in your 5222The debug buffer is written as a file in your
5221@code{temporary-file-directory}, which is usually @file{/tmp/}. Use 5223@code{temporary-file-directory}, which is usually @file{/tmp/}. Use
5222this option with care, because it could decrease the performance of 5224this option with care, because it could decrease the performance of
5223@value{tramp} actions. 5225@value{tramp} actions.