aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Albinus2017-03-16 16:23:07 +0100
committerMichael Albinus2017-03-16 16:23:07 +0100
commit265a5d9791bf42da0bab7bdbef4352e8d734ef31 (patch)
treec8dd8b3676280710dacf0c0c6a84432fd9031eb6
parentf6b995ef4ec50455f8dbf174b91de6b5887d014e (diff)
downloademacs-265a5d9791bf42da0bab7bdbef4352e8d734ef31.tar.gz
emacs-265a5d9791bf42da0bab7bdbef4352e8d734ef31.zip
Document remote file name syntax change
* doc/emacs/files.texi (Remote Files, Quoted File Names): * doc/misc/org.texi (dir): Change examples to use a method. * doc/misc/tramp.texi (Top) [trampf]: Remove macro. Add `Testing' menu entry. (History): Fix typos. Mention syntax change. (Configuration, Default Host, File name Syntax) (File name completion, Frequently Asked Questions): Change examples to use a method. (External methods, Default Host, Multi-hops, Remote processes): Fix typos. (Default Method): Mention pseudo method "-". (External packages): Rewrite intention of `non-essential'. * etc/NEWS: Mark recent Tramp entries as documented.
-rw-r--r--doc/emacs/files.texi12
-rw-r--r--doc/misc/org.texi2
-rw-r--r--doc/misc/tramp.texi184
-rw-r--r--etc/NEWS4
4 files changed, 97 insertions, 105 deletions
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index 2b09c69945c..1a85f96df48 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1777,9 +1777,7 @@ syntax:
1777 1777
1778@example 1778@example
1779@group 1779@group
1780/@var{host}:@var{filename} 1780/@var{method}:@var{host}:@var{filename}
1781/@var{user}@@@var{host}:@var{filename}
1782/@var{user}@@@var{host}#@var{port}:@var{filename}
1783/@var{method}:@var{user}@@@var{host}:@var{filename} 1781/@var{method}:@var{user}@@@var{host}:@var{filename}
1784/@var{method}:@var{user}@@@var{host}#@var{port}:@var{filename} 1782/@var{method}:@var{user}@@@var{host}#@var{port}:@var{filename}
1785@end group 1783@end group
@@ -1788,11 +1786,11 @@ syntax:
1788@noindent 1786@noindent
1789To carry out this request, Emacs uses a remote-login program such as 1787To carry out this request, Emacs uses a remote-login program such as
1790@command{ftp}, @command{ssh}, @command{rlogin}, or @command{telnet}. 1788@command{ftp}, @command{ssh}, @command{rlogin}, or @command{telnet}.
1791You can always specify in the file name which method to use---for 1789You must always specify in the file name which method to use---for
1792example, @file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, 1790example, @file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP,
1793whereas @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses 1791whereas @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses
1794@command{ssh}. When you don't specify a method in the file name, 1792@command{ssh}. When you specify the pseudo method @var{-} in the file
1795Emacs chooses the method as follows: 1793name, Emacs chooses the method as follows:
1796 1794
1797@enumerate 1795@enumerate
1798@item 1796@item
@@ -1884,7 +1882,7 @@ can refer to that file in Emacs as @samp{/:/foo:/bar}.
1884 1882
1885 If you want to quote only special characters in the local part of a 1883 If you want to quote only special characters in the local part of a
1886remote file name, you can quote just the local part. 1884remote file name, you can quote just the local part.
1887@samp{/baz:/:/foo:/bar} refers to the file @file{bar} of directory 1885@samp{/ssh:baz:/:/foo:/bar} refers to the file @file{bar} of directory
1888@file{/foo:} on the host @file{baz}. 1886@file{/foo:} on the host @file{baz}.
1889 1887
1890 @samp{/:} can also prevent @samp{~} from being treated as a special 1888 @samp{/:} can also prevent @samp{~} from being treated as a special
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 596300e5ed8..21c8758b802 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -15090,7 +15090,7 @@ A directory on a remote machine can be specified using tramp file syntax, in
15090which case the code will be evaluated on the remote machine. An example is 15090which case the code will be evaluated on the remote machine. An example is
15091 15091
15092@example 15092@example
15093#+BEGIN_SRC R :file plot.png :dir /dand@@yakuba.princeton.edu: 15093#+BEGIN_SRC R :file plot.png :dir /scp:dand@@yakuba.princeton.edu:
15094plot(1:10, main=system("hostname", intern=TRUE)) 15094plot(1:10, main=system("hostname", intern=TRUE))
15095#+END_SRC 15095#+END_SRC
15096@end example 15096@end example
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 9c295a49a69..26b0915c0d9 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -24,13 +24,6 @@
24\userhost\@value{postfix}\localname\ 24\userhost\@value{postfix}\localname\
25@end macro 25@end macro
26 26
27@c Similar, but without a method prefix.
28
29@macro trampf {userhost, localname}
30@value{prefix}@c
31\userhost\@value{postfix}\localname\
32@end macro
33
34@copying 27@copying
35Copyright @copyright{} 1999--2017 Free Software Foundation, Inc. 28Copyright @copyright{} 1999--2017 Free Software Foundation, Inc.
36 29
@@ -133,8 +126,8 @@ For the developer:
133Installing @value{tramp} with your Emacs 126Installing @value{tramp} with your Emacs
134 127
135* Installation parameters:: Parameters in order to control installation. 128* Installation parameters:: Parameters in order to control installation.
129* Testing:: A test suite for @value{tramp}.
136* Load paths:: How to plug-in @value{tramp} into your environment. 130* Load paths:: How to plug-in @value{tramp} into your environment.
137
138@end ifset 131@end ifset
139 132
140Configuring @value{tramp} for use 133Configuring @value{tramp} for use
@@ -398,12 +391,12 @@ Run @command{autoconf} as follows to generate an up-to-date
398@value{tramp} development started at the end of November 1998 as 391@value{tramp} development started at the end of November 1998 as
399@file{rssh.el}. It provided only one method of access. It used 392@file{rssh.el}. It provided only one method of access. It used
400@command{ssh} for login and @command{scp} to transfer file contents. 393@command{ssh} for login and @command{scp} to transfer file contents.
401The name was changed to @file{rcp.el} before it got its preset name 394The name was changed to @file{rcp.el} before it got its present name
402@value{tramp}. New methods of remote access were added, so was support 395@value{tramp}. New methods of remote access were added, so was support
403for version control. 396for version control.
404 397
405April 2000 was the first time when multi-hop methods were added. In 398April 2000 was the first time when multi-hop methods were added. In
406July 2002, @value{tramp} unified file names with Ange-FTP@. In July 399July 2002, @value{tramp} unified file names with Ange FTP@. In July
4072004, proxy hosts replaced multi-hop methods. Running commands on 4002004, proxy hosts replaced multi-hop methods. Running commands on
408remote hosts was introduced in December 2005. Support for gateways 401remote hosts was introduced in December 2005. Support for gateways
409since April 2007 (and removed in December 2016). GVFS integration 402since April 2007 (and removed in December 2016). GVFS integration
@@ -412,7 +405,8 @@ September 2011. Ad-hoc multi-hop methods (with a changed syntax)
412re-enabled in November 2011. In November 2012, added Juergen 405re-enabled in November 2011. In November 2012, added Juergen
413Hoetzel's @file{tramp-adb.el}. 406Hoetzel's @file{tramp-adb.el}.
414 407
415XEmacs support has been stopped in January 2016. 408XEmacs support has been stopped in January 2016. Since March 2017,
409@value{tramp} syntax requires a method mandatorily.
416 410
417@c Installation chapter is necessary only in case of standalone 411@c Installation chapter is necessary only in case of standalone
418@c installation. Text taken from trampinst.texi. 412@c installation. Text taken from trampinst.texi.
@@ -428,7 +422,7 @@ XEmacs support has been stopped in January 2016.
428 422
429@value{tramp} is initially configured to use the @command{scp} program 423@value{tramp} is initially configured to use the @command{scp} program
430to connect to the remote host. Just type @kbd{C-x C-f} and then enter 424to connect to the remote host. Just type @kbd{C-x C-f} and then enter
431file name @file{@trampf{user@@host,/path/to/file}}. For details, 425file name @file{@trampfn{scp,user@@host,/path/to/file}}. For details,
432@xref{Default Method}, @xref{Default User}, @xref{Default Host}. 426@xref{Default Method}, @xref{Default User}, @xref{Default Host}.
433 427
434For problems related to the behavior of the remote shell, @xref{Remote 428For problems related to the behavior of the remote shell, @xref{Remote
@@ -819,9 +813,9 @@ Using @command{smbclient} requires a few tweaks when working with
819The first directory in the localname must be a share name on the 813The first directory in the localname must be a share name on the
820remote host. 814remote host.
821 815
822Since SMB shares end in the @code{$} character, @value{tramp} must use 816Since some SMB share names end in the @code{$} character,
823@code{$$} when specifying those shares to avoid environment variable 817@value{tramp} must use @code{$$} when specifying those shares to avoid
824substitutions. 818environment variable substitutions.
825 819
826When @value{tramp} is not specific about the share name or uses the 820When @value{tramp} is not specific about the share name or uses the
827generic remote directory @file{/}, @command{smbclient} returns all 821generic remote directory @file{/}, @command{smbclient} returns all
@@ -834,7 +828,7 @@ handling}.
834 828
835To accommodate user name/domain name syntax required by MS Windows 829To accommodate user name/domain name syntax required by MS Windows
836authorization, @value{tramp} provides for an extended syntax in 830authorization, @value{tramp} provides for an extended syntax in
837@code{user%domain} format (where user is username, @code{%} is the 831@code{user%domain} format (where user is user name, @code{%} is the
838percent symbol, and domain is the windows domain name). An example: 832percent symbol, and domain is the windows domain name). An example:
839 833
840@example 834@example
@@ -1002,6 +996,9 @@ Other methods to include are: @option{ftp} and @option{smb}.
1002@section Selecting a default method 996@section Selecting a default method
1003@cindex default method 997@cindex default method
1004 998
999In a remote file name, the use of a default method is indicated by the
1000pseudo method @option{-}, @ref{File name Syntax}.
1001
1005@defopt tramp-default-method 1002@defopt tramp-default-method
1006Default method is for transferring files. The user option 1003Default method is for transferring files. The user option
1007@option{tramp-default-method} sets it. @value{tramp} uses this user 1004@option{tramp-default-method} sets it. @value{tramp} uses this user
@@ -1145,25 +1142,21 @@ for catch-all or most often used login.
1145@defopt tramp-default-host 1142@defopt tramp-default-host
1146When host name is omitted, @value{tramp} substitutes the value from 1143When host name is omitted, @value{tramp} substitutes the value from
1147the @option{tramp-default-host} user option. It is initially 1144the @option{tramp-default-host} user option. It is initially
1148populated with the local hostname where Emacs is running. Both the 1145populated with the local host name where Emacs is running. The
1149default user and default host can be overridden as follows: 1146default method, default user and default host can be overridden as
1147follows:
1150 1148
1151@lisp 1149@lisp
1152@group 1150@group
1153(custom-set-variables 1151(custom-set-variables
1152 '(tramp-default-method "ssh" nil (tramp))
1154 '(tramp-default-user "john" nil (tramp)) 1153 '(tramp-default-user "john" nil (tramp))
1155 '(tramp-default-host "target" nil (tramp))) 1154 '(tramp-default-host "target" nil (tramp)))
1156@end group 1155@end group
1157@end lisp 1156@end lisp
1158 1157
1159With both defaults set, @samp{@trampfn{ssh,,}} will connect 1158With all defaults set, @samp{@trampfn{-,,}} will connect @value{tramp}
1160@value{tramp} to John's home directory on @code{target}. 1159to John's home directory on @code{target} via @code{ssh}.
1161
1162@strong{Note} @samp{/::} won't work, because @samp{/:} is the prefix
1163for quoted file names.
1164@ifinfo
1165@pxref{Quoted File Names, , , emacs}.
1166@end ifinfo
1167@end defopt 1160@end defopt
1168 1161
1169@defopt tramp-default-host-alist 1162@defopt tramp-default-host-alist
@@ -1248,7 +1241,7 @@ access, then use this alist entry:
1248 1241
1249Opening @file{@trampfn{sudo,randomhost.your.domain,}} first connects 1242Opening @file{@trampfn{sudo,randomhost.your.domain,}} first connects
1250to @samp{randomhost.your.domain} via @code{ssh} under your account 1243to @samp{randomhost.your.domain} via @code{ssh} under your account
1251name, and then perform @code{sudo -u root} on that host. 1244name, and then performs @code{sudo -u root} on that host.
1252 1245
1253It is key for the sudo method in the above example to be applied on 1246It is key for the sudo method in the above example to be applied on
1254the host after reaching it and not on the local host. 1247the host after reaching it and not on the local host.
@@ -2151,35 +2144,34 @@ is a feature of Emacs that may cause missed prompts when using
2151@cindex file name syntax 2144@cindex file name syntax
2152@cindex file name examples 2145@cindex file name examples
2153 2146
2154@file{@trampf{host,localfilename}} opens file @var{localfilename} on 2147@file{@trampfn{method,host,/path/to/file}} opens file @var{/path/to/file}
2155the remote host @var{host}, using the default method. @xref{Default 2148on the remote host @var{host}, using the method @var{method}.
2156Method}.
2157 2149
2158@table @file 2150@table @file
2159@item @value{prefix}melancholia@value{postfix}.emacs 2151@item @value{prefix}ssh@value{postfixhop}melancholia@value{postfix}.emacs
2160For the file @file{.emacs} located in the home directory, on the host 2152For the file @file{.emacs} located in the home directory, on the host
2161@code{melancholia}. 2153@code{melancholia}, using method @code{ssh}.
2162 2154
2163@item @value{prefix}melancholia.danann.net@value{postfix}.emacs 2155@item @value{prefix}ssh@value{postfixhop}melancholia.danann.net@value{postfix}.emacs
2164For the file @file{.emacs} specified using the fully qualified domain name of 2156For the file @file{.emacs} specified using the fully qualified domain name of
2165the host. 2157the host.
2166 2158
2167@item @value{prefix}melancholia@value{postfix}~/.emacs 2159@item @value{prefix}ssh@value{postfixhop}melancholia@value{postfix}~/.emacs
2168For the file @file{.emacs} specified using the @file{~}, which is expanded. 2160For the file @file{.emacs} specified using the @file{~}, which is expanded.
2169 2161
2170@item @value{prefix}melancholia@value{postfix}~daniel/.emacs 2162@item @value{prefix}ssh@value{postfixhop}melancholia@value{postfix}~daniel/.emacs
2171For the file @file{.emacs} located in @code{daniel}'s home directory 2163For the file @file{.emacs} located in @code{daniel}'s home directory
2172on the host, @code{melancholia}. The @file{~<user>} construct is 2164on the host, @code{melancholia}. The @file{~<user>} construct is
2173expanded to the home directory of that user on the remote host. 2165expanded to the home directory of that user on the remote host.
2174 2166
2175@item @value{prefix}melancholia@value{postfix}/etc/squid.conf 2167@item @value{prefix}ssh@value{postfixhop}melancholia@value{postfix}/etc/squid.conf
2176For the file @file{/etc/squid.conf} on the host @code{melancholia}. 2168For the file @file{/etc/squid.conf} on the host @code{melancholia}.
2177 2169
2178@end table 2170@end table
2179 2171
2180@var{host} can take IPv4 or IPv6 address, as in 2172@var{host} can take IPv4 or IPv6 address, as in
2181@file{@trampf{127.0.0.1,.emacs}} or 2173@file{@trampfn{ssh,127.0.0.1,.emacs}} or
2182@file{@trampf{@value{ipv6prefix}::1@value{ipv6postfix},.emacs}}. 2174@file{@trampfn{ssh,@value{ipv6prefix}::1@value{ipv6postfix},.emacs}}.
2183@ifset unified 2175@ifset unified
2184For syntactical reasons, IPv6 addresses must be embedded in square 2176For syntactical reasons, IPv6 addresses must be embedded in square
2185brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. 2177brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}.
@@ -2190,31 +2182,23 @@ remote user name for log in to the remote host. Specifying a different
2190name using the proper syntax will override this default behavior: 2182name using the proper syntax will override this default behavior:
2191 2183
2192@example 2184@example
2193@trampf{user@@host,path/to/file} 2185@trampfn{method,user@@host,path/to/file}
2194@end example 2186@end example
2195 2187
2196@file{@trampf{daniel@@melancholia,.emacs}} is for file @file{.emacs} 2188@file{@trampfn{ssh,daniel@@melancholia,.emacs}} is for file
2197in @code{daniel}'s home directory on the host, @code{melancholia}. 2189@file{.emacs} in @code{daniel}'s home directory on the host,
2198 2190@code{melancholia}, accessing via method @code{ssh}.
2199Specify other file access methods (@pxref{Inline methods},
2200@pxref{External methods}) as part of the file name.
2201
2202Method name comes before user name, as in
2203@file{@value{prefix}@var{method}@value{postfixhop}} (Note the trailing
2204colon). The syntax specifications for user, host, and file do not
2205change.
2206
2207To connect to the host @code{melancholia} as @code{daniel}, using
2208@option{ssh} method for @file{.emacs} in @code{daniel}'s home
2209directory, the full specification is:
2210@file{@trampfn{ssh,daniel@@melancholia,.emacs}}.
2211
2212A remote file name containing a host name, which is the same string as
2213a method name, is not allowed.
2214 2191
2215For specifying port numbers, affix @file{#<port>} to the host 2192For specifying port numbers, affix @file{#<port>} to the host
2216name. For example: @file{@trampfn{ssh,daniel@@melancholia#42,.emacs}}. 2193name. For example: @file{@trampfn{ssh,daniel@@melancholia#42,.emacs}}.
2217 2194
2195All method, user name, host name, port number and local name parts are
2196optional, @xref{Default Method}, @xref{Default User}, @xref{Default Host}.
2197@ifset unified
2198For syntactical reasons, the default method must be indicated by the
2199pseudo method @file{-}.
2200@end ifset
2201
2218 2202
2219@node File name completion 2203@node File name completion
2220@section File name completion 2204@section File name completion
@@ -2228,38 +2212,52 @@ in @file{.emacs}.
2228@xref{Completion Options, , , emacs}. 2212@xref{Completion Options, , , emacs}.
2229@end ifinfo 2213@end ifinfo
2230 2214
2231For example, type @kbd{C-x C-f @value{prefix}t @key{TAB}}, 2215For example, type @kbd{C-x C-f @value{prefix}s @key{TAB}},
2232@value{tramp} completion choices show up as 2216@value{tramp} completion choices show up as
2233 2217
2234@example 2218@example
2235@group 2219@group
2236@c @multitable {@trampfn{telnet,melancholia.danann.net,}} {@trampfn{telnet,192.168.0.1,}} 2220@multitable @columnfractions .2 .2 .2 .2 .2
2237@multitable @columnfractions .5 .5 2221@item @c
2238@item @value{prefixhop}telnet@value{postfixhop} @tab tmp/ 2222 sbin/ @tab @c
2239@item @value{prefixhop}toto@value{postfix} @tab 2223 @value{prefixhop}scp@value{postfix} @tab @c
2224 @value{prefixhop}scpx@value{postfix} @tab @c
2225 @value{prefixhop}sftp@value{postfix} @tab @c
2226 @value{prefixhop}sg@value{postfix}
2227@item @c
2228 @value{prefixhop}smb@value{postfix} @tab @c
2229 srv/ @tab @c
2230 @value{prefixhop}ssh@value{postfix} @tab @c
2231 @value{prefixhop}sshx@value{postfix} @tab @c
2232 @value{prefixhop}su@value{postfix}
2233@item @c
2234 @value{prefixhop}sudo@value{postfix} @tab @c
2235 sys/
2240@end multitable 2236@end multitable
2241@end group 2237@end group
2242@end example 2238@end example
2243 2239
2244@samp{@value{prefixhop}telnet@value{postfixhop}} is a possible 2240@samp{@value{prefixhop}ssh@value{postfixhop}} is a possible
2245completion for the respective method, @samp{tmp/} stands for the 2241completion for the respective method, and @samp{sbin/} stands for the
2246directory @file{/tmp} on your local host, and 2242directory @file{/sbin} on your local host.
2247@samp{@value{prefixhop}toto@value{postfix}} might be a host
2248@value{tramp} has detected in your @file{~/.ssh/known_hosts} file
2249(when using @option{ssh} as default method).
2250 2243
2251Type @kbd{e @key{TAB}} for the minibuffer completion to 2244Type @kbd{s h @value{postfixhop}} for the minibuffer completion to
2252@samp{@value{prefix}telnet@value{postfixhop}}. Typing @kbd{@key{TAB}} 2245@samp{@value{prefix}ssh@value{postfixhop}}. Typing @kbd{@key{TAB}}
2253shows host names @value{tramp} from @file{/etc/hosts} file, for example. 2246shows host names @value{tramp} extracts from @file{~/.ssh/config}
2247file, for example.
2254 2248
2255@example 2249@example
2256@group 2250@group
2257@multitable @columnfractions .5 .5 2251@multitable @columnfractions .5 .5
2258@c @multitable {@trampfn{telnet,melancholia.danann.net,}} {@trampfn{telnet,192.168.0.1,}} 2252@item @c
2259@item @trampfn{telnet,127.0.0.1,} @tab @trampfn{telnet,192.168.0.1,} 2253 @value{prefixhop}ssh@value{postfixhop}127.0.0.1@value{postfix} @tab @c
2260@c @item @trampfn{telnet,@value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet,localhost,} 2254 @value{prefixhop}ssh@value{postfixhop}192.168.0.1@value{postfix}
2261@item @value{prefix}telnet@value{postfixhop}@value{ipv6prefix}::1@value{ipv6postfix}@value{postfix} @tab @trampfn{telnet,localhost,} 2255@item @c
2262@item @trampfn{telnet,melancholia.danann.net,} @tab @trampfn{telnet,melancholia,} 2256 @value{prefixhop}ssh@value{postfixhop}@value{ipv6prefix}::1@value{ipv6postfix}@value{postfix} @tab @c
2257 @value{prefixhop}ssh@value{postfixhop}localhost@value{postfix}
2258@item @c
2259 @value{prefixhop}ssh@value{postfixhop}melancholia.danann.net@value{postfix} @tab @c
2260 @value{prefixhop}ssh@value{postfixhop}melancholia@value{postfix}
2263@end multitable 2261@end multitable
2264@end group 2262@end group
2265@end example 2263@end example
@@ -2288,13 +2286,13 @@ Example:
2288 2286
2289@example 2287@example
2290@group 2288@group
2291@kbd{C-x C-f @trampfn{telnet,melancholia,/usr/local/bin//etc} @key{TAB}} 2289@kbd{C-x C-f @trampfn{ssh,melancholia,/usr/local/bin//etc} @key{TAB}}
2292 @print{} @trampfn{telnet,melancholia,/etc} 2290 @print{} @trampfn{ssh,melancholia,/etc}
2293 2291
2294@kbd{C-x C-f @trampfn{telnet,melancholia,//etc} @key{TAB}} 2292@kbd{C-x C-f @trampfn{ssh,melancholia,//etc} @key{TAB}}
2295 @print{} /etc 2293 @print{} /etc
2296 2294
2297@kbd{C-x C-f @trampfn{telnet,melancholia,/usr/local/bin///etc} @key{TAB}} 2295@kbd{C-x C-f @trampfn{ssh,melancholia,/usr/local/bin///etc} @key{TAB}}
2298 @print{} /etc 2296 @print{} /etc
2299@end group 2297@end group
2300@end example 2298@end example
@@ -2527,9 +2525,9 @@ host. Example:
2527 2525
2528@value{tramp} is integrated into @file{eshell.el}, which enables 2526@value{tramp} is integrated into @file{eshell.el}, which enables
2529interactive eshell sessions on remote hosts at the command prompt. 2527interactive eshell sessions on remote hosts at the command prompt.
2530You must add the module @code{eshell-tramp} to 2528You must add the module @code{em-tramp} to @code{eshell-modules-list}.
2531@code{eshell-modules-list}. Here's a sample interaction after opening 2529Here's a sample interaction after opening @kbd{M-x eshell} on a remote
2532@kbd{M-x eshell} on a remote host: 2530host:
2533 2531
2534@example 2532@example
2535@group 2533@group
@@ -3113,7 +3111,7 @@ You can define default methods and user names for hosts,
3113@end group 3111@end group
3114@end lisp 3112@end lisp
3115 3113
3116The reduced typing: @kbd{C-x C-f @trampf{news.my.domain,/opt/news/etc}}. 3114The reduced typing: @kbd{C-x C-f @trampfn{-,news.my.domain,/opt/news/etc}}.
3117 3115
3118@strong{Note} that there are some useful shortcuts already. Accessing 3116@strong{Note} that there are some useful shortcuts already. Accessing
3119your local host as @samp{root} user, is possible just by @kbd{C-x C-f 3117your local host as @samp{root} user, is possible just by @kbd{C-x C-f
@@ -3472,18 +3470,12 @@ handlers.
3472@section Integrating with external Lisp packages 3470@section Integrating with external Lisp packages
3473@subsection File name completion. 3471@subsection File name completion.
3474 3472
3475For name completions in the minibuffer, @value{tramp} depends on the 3473Sometimes, it is not convenient to open a new connection to a remote
3476last input character to decide whether to look for method name 3474host, including entering the password and alike. For example, this is
3477completion or host name completion. For example, @kbd{C-x C-f 3475nasty for packages providing file name completion. Such a package
3478@value{prefix}ssh@value{postfixhop} @key{TAB}} is not entirely clear 3476could signal to @value{tramp}, that they don't want it to establish a
3479if @option{ssh} is a method or a host name. But if the last input 3477new connection. Use the variable @code{non-essential} temporarily and
3480character was either @key{TAB}, @key{SPACE} or @kbd{?}, then 3478bind it to non-@code{nil} value.
3481@value{tramp} favors file name completion over host name completion.
3482
3483What about external packages using other characters to trigger file
3484name completions? They must somehow signal this to @value{tramp}. Use
3485the variable @code{non-essential} temporarily and bind it to
3486non-@code{nil} value.
3487 3479
3488@lisp 3480@lisp
3489@group 3481@group
diff --git a/etc/NEWS b/etc/NEWS
index e1b6249d475..88ae7cf1f52 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -634,10 +634,12 @@ header's value.
634 634
635** Tramp 635** Tramp
636 636
637+++
637*** The method part of remote file names is mandatory now. A valid 638*** The method part of remote file names is mandatory now. A valid
638remote file name starts with "/method:host:" or "/method:user@host:". 639remote file name starts with "/method:host:" or "/method:user@host:".
639 640
640*** The new virtual method "-" is a marker for the default method. 641+++
642*** The new pseudo method "-" is a marker for the default method.
641"/-::" is the shortest remote file name then. 643"/-::" is the shortest remote file name then.
642 644
643+++ 645+++