diff options
| author | Michael Albinus | 2017-03-16 16:23:07 +0100 |
|---|---|---|
| committer | Michael Albinus | 2017-03-16 16:23:07 +0100 |
| commit | 265a5d9791bf42da0bab7bdbef4352e8d734ef31 (patch) | |
| tree | c8dd8b3676280710dacf0c0c6a84432fd9031eb6 | |
| parent | f6b995ef4ec50455f8dbf174b91de6b5887d014e (diff) | |
| download | emacs-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.texi | 12 | ||||
| -rw-r--r-- | doc/misc/org.texi | 2 | ||||
| -rw-r--r-- | doc/misc/tramp.texi | 184 | ||||
| -rw-r--r-- | etc/NEWS | 4 |
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 |
| 1789 | To carry out this request, Emacs uses a remote-login program such as | 1787 | To 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}. |
| 1791 | You can always specify in the file name which method to use---for | 1789 | You must always specify in the file name which method to use---for |
| 1792 | example, @file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, | 1790 | example, @file{/ftp:@var{user}@@@var{host}:@var{filename}} uses FTP, |
| 1793 | whereas @file{/ssh:@var{user}@@@var{host}:@var{filename}} uses | 1791 | whereas @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 |
| 1795 | Emacs chooses the method as follows: | 1793 | name, 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 |
| 1886 | remote file name, you can quote just the local part. | 1884 | remote 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 | |||
| 15090 | which case the code will be evaluated on the remote machine. An example is | 15090 | which 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: |
| 15094 | plot(1:10, main=system("hostname", intern=TRUE)) | 15094 | plot(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 |
| 35 | Copyright @copyright{} 1999--2017 Free Software Foundation, Inc. | 28 | Copyright @copyright{} 1999--2017 Free Software Foundation, Inc. |
| 36 | 29 | ||
| @@ -133,8 +126,8 @@ For the developer: | |||
| 133 | Installing @value{tramp} with your Emacs | 126 | Installing @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 | ||
| 140 | Configuring @value{tramp} for use | 133 | Configuring @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. |
| 401 | The name was changed to @file{rcp.el} before it got its preset name | 394 | The 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 |
| 403 | for version control. | 396 | for version control. |
| 404 | 397 | ||
| 405 | April 2000 was the first time when multi-hop methods were added. In | 398 | April 2000 was the first time when multi-hop methods were added. In |
| 406 | July 2002, @value{tramp} unified file names with Ange-FTP@. In July | 399 | July 2002, @value{tramp} unified file names with Ange FTP@. In July |
| 407 | 2004, proxy hosts replaced multi-hop methods. Running commands on | 400 | 2004, proxy hosts replaced multi-hop methods. Running commands on |
| 408 | remote hosts was introduced in December 2005. Support for gateways | 401 | remote hosts was introduced in December 2005. Support for gateways |
| 409 | since April 2007 (and removed in December 2016). GVFS integration | 402 | since April 2007 (and removed in December 2016). GVFS integration |
| @@ -412,7 +405,8 @@ September 2011. Ad-hoc multi-hop methods (with a changed syntax) | |||
| 412 | re-enabled in November 2011. In November 2012, added Juergen | 405 | re-enabled in November 2011. In November 2012, added Juergen |
| 413 | Hoetzel's @file{tramp-adb.el}. | 406 | Hoetzel's @file{tramp-adb.el}. |
| 414 | 407 | ||
| 415 | XEmacs support has been stopped in January 2016. | 408 | XEmacs 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 |
| 430 | to connect to the remote host. Just type @kbd{C-x C-f} and then enter | 424 | to connect to the remote host. Just type @kbd{C-x C-f} and then enter |
| 431 | file name @file{@trampf{user@@host,/path/to/file}}. For details, | 425 | file 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 | ||
| 434 | For problems related to the behavior of the remote shell, @xref{Remote | 428 | For 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 | |||
| 819 | The first directory in the localname must be a share name on the | 813 | The first directory in the localname must be a share name on the |
| 820 | remote host. | 814 | remote host. |
| 821 | 815 | ||
| 822 | Since SMB shares end in the @code{$} character, @value{tramp} must use | 816 | Since 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 |
| 824 | substitutions. | 818 | environment variable substitutions. |
| 825 | 819 | ||
| 826 | When @value{tramp} is not specific about the share name or uses the | 820 | When @value{tramp} is not specific about the share name or uses the |
| 827 | generic remote directory @file{/}, @command{smbclient} returns all | 821 | generic remote directory @file{/}, @command{smbclient} returns all |
| @@ -834,7 +828,7 @@ handling}. | |||
| 834 | 828 | ||
| 835 | To accommodate user name/domain name syntax required by MS Windows | 829 | To accommodate user name/domain name syntax required by MS Windows |
| 836 | authorization, @value{tramp} provides for an extended syntax in | 830 | authorization, @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 |
| 838 | percent symbol, and domain is the windows domain name). An example: | 832 | percent 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 | ||
| 999 | In a remote file name, the use of a default method is indicated by the | ||
| 1000 | pseudo method @option{-}, @ref{File name Syntax}. | ||
| 1001 | |||
| 1005 | @defopt tramp-default-method | 1002 | @defopt tramp-default-method |
| 1006 | Default method is for transferring files. The user option | 1003 | Default 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 |
| 1146 | When host name is omitted, @value{tramp} substitutes the value from | 1143 | When host name is omitted, @value{tramp} substitutes the value from |
| 1147 | the @option{tramp-default-host} user option. It is initially | 1144 | the @option{tramp-default-host} user option. It is initially |
| 1148 | populated with the local hostname where Emacs is running. Both the | 1145 | populated with the local host name where Emacs is running. The |
| 1149 | default user and default host can be overridden as follows: | 1146 | default method, default user and default host can be overridden as |
| 1147 | follows: | ||
| 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 | ||
| 1159 | With both defaults set, @samp{@trampfn{ssh,,}} will connect | 1158 | With all defaults set, @samp{@trampfn{-,,}} will connect @value{tramp} |
| 1160 | @value{tramp} to John's home directory on @code{target}. | 1159 | to John's home directory on @code{target} via @code{ssh}. |
| 1161 | |||
| 1162 | @strong{Note} @samp{/::} won't work, because @samp{/:} is the prefix | ||
| 1163 | for 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 | ||
| 1249 | Opening @file{@trampfn{sudo,randomhost.your.domain,}} first connects | 1242 | Opening @file{@trampfn{sudo,randomhost.your.domain,}} first connects |
| 1250 | to @samp{randomhost.your.domain} via @code{ssh} under your account | 1243 | to @samp{randomhost.your.domain} via @code{ssh} under your account |
| 1251 | name, and then perform @code{sudo -u root} on that host. | 1244 | name, and then performs @code{sudo -u root} on that host. |
| 1252 | 1245 | ||
| 1253 | It is key for the sudo method in the above example to be applied on | 1246 | It is key for the sudo method in the above example to be applied on |
| 1254 | the host after reaching it and not on the local host. | 1247 | the 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} |
| 2155 | the remote host @var{host}, using the default method. @xref{Default | 2148 | on the remote host @var{host}, using the method @var{method}. |
| 2156 | Method}. | ||
| 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 |
| 2160 | For the file @file{.emacs} located in the home directory, on the host | 2152 | For 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 |
| 2164 | For the file @file{.emacs} specified using the fully qualified domain name of | 2156 | For the file @file{.emacs} specified using the fully qualified domain name of |
| 2165 | the host. | 2157 | the host. |
| 2166 | 2158 | ||
| 2167 | @item @value{prefix}melancholia@value{postfix}~/.emacs | 2159 | @item @value{prefix}ssh@value{postfixhop}melancholia@value{postfix}~/.emacs |
| 2168 | For the file @file{.emacs} specified using the @file{~}, which is expanded. | 2160 | For 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 |
| 2171 | For the file @file{.emacs} located in @code{daniel}'s home directory | 2163 | For the file @file{.emacs} located in @code{daniel}'s home directory |
| 2172 | on the host, @code{melancholia}. The @file{~<user>} construct is | 2164 | on the host, @code{melancholia}. The @file{~<user>} construct is |
| 2173 | expanded to the home directory of that user on the remote host. | 2165 | expanded 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 |
| 2176 | For the file @file{/etc/squid.conf} on the host @code{melancholia}. | 2168 | For 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 |
| 2184 | For syntactical reasons, IPv6 addresses must be embedded in square | 2176 | For syntactical reasons, IPv6 addresses must be embedded in square |
| 2185 | brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. | 2177 | brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. |
| @@ -2190,31 +2182,23 @@ remote user name for log in to the remote host. Specifying a different | |||
| 2190 | name using the proper syntax will override this default behavior: | 2182 | name 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 |
| 2197 | in @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}. | |
| 2199 | Specify other file access methods (@pxref{Inline methods}, | ||
| 2200 | @pxref{External methods}) as part of the file name. | ||
| 2201 | |||
| 2202 | Method name comes before user name, as in | ||
| 2203 | @file{@value{prefix}@var{method}@value{postfixhop}} (Note the trailing | ||
| 2204 | colon). The syntax specifications for user, host, and file do not | ||
| 2205 | change. | ||
| 2206 | |||
| 2207 | To connect to the host @code{melancholia} as @code{daniel}, using | ||
| 2208 | @option{ssh} method for @file{.emacs} in @code{daniel}'s home | ||
| 2209 | directory, the full specification is: | ||
| 2210 | @file{@trampfn{ssh,daniel@@melancholia,.emacs}}. | ||
| 2211 | |||
| 2212 | A remote file name containing a host name, which is the same string as | ||
| 2213 | a method name, is not allowed. | ||
| 2214 | 2191 | ||
| 2215 | For specifying port numbers, affix @file{#<port>} to the host | 2192 | For specifying port numbers, affix @file{#<port>} to the host |
| 2216 | name. For example: @file{@trampfn{ssh,daniel@@melancholia#42,.emacs}}. | 2193 | name. For example: @file{@trampfn{ssh,daniel@@melancholia#42,.emacs}}. |
| 2217 | 2194 | ||
| 2195 | All method, user name, host name, port number and local name parts are | ||
| 2196 | optional, @xref{Default Method}, @xref{Default User}, @xref{Default Host}. | ||
| 2197 | @ifset unified | ||
| 2198 | For syntactical reasons, the default method must be indicated by the | ||
| 2199 | pseudo 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 | ||
| 2231 | For example, type @kbd{C-x C-f @value{prefix}t @key{TAB}}, | 2215 | For 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 |
| 2245 | completion for the respective method, @samp{tmp/} stands for the | 2241 | completion for the respective method, and @samp{sbin/} stands for the |
| 2246 | directory @file{/tmp} on your local host, and | 2242 | directory @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 | ||
| 2251 | Type @kbd{e @key{TAB}} for the minibuffer completion to | 2244 | Type @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}} |
| 2253 | shows host names @value{tramp} from @file{/etc/hosts} file, for example. | 2246 | shows host names @value{tramp} extracts from @file{~/.ssh/config} |
| 2247 | file, 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 |
| 2529 | interactive eshell sessions on remote hosts at the command prompt. | 2527 | interactive eshell sessions on remote hosts at the command prompt. |
| 2530 | You must add the module @code{eshell-tramp} to | 2528 | You must add the module @code{em-tramp} to @code{eshell-modules-list}. |
| 2531 | @code{eshell-modules-list}. Here's a sample interaction after opening | 2529 | Here's a sample interaction after opening @kbd{M-x eshell} on a remote |
| 2532 | @kbd{M-x eshell} on a remote host: | 2530 | host: |
| 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 | ||
| 3116 | The reduced typing: @kbd{C-x C-f @trampf{news.my.domain,/opt/news/etc}}. | 3114 | The 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 |
| 3119 | your local host as @samp{root} user, is possible just by @kbd{C-x C-f | 3117 | your 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 | ||
| 3475 | For name completions in the minibuffer, @value{tramp} depends on the | 3473 | Sometimes, it is not convenient to open a new connection to a remote |
| 3476 | last input character to decide whether to look for method name | 3474 | host, including entering the password and alike. For example, this is |
| 3477 | completion or host name completion. For example, @kbd{C-x C-f | 3475 | nasty for packages providing file name completion. Such a package |
| 3478 | @value{prefix}ssh@value{postfixhop} @key{TAB}} is not entirely clear | 3476 | could signal to @value{tramp}, that they don't want it to establish a |
| 3479 | if @option{ssh} is a method or a host name. But if the last input | 3477 | new connection. Use the variable @code{non-essential} temporarily and |
| 3480 | character was either @key{TAB}, @key{SPACE} or @kbd{?}, then | 3478 | bind it to non-@code{nil} value. |
| 3481 | @value{tramp} favors file name completion over host name completion. | ||
| 3482 | |||
| 3483 | What about external packages using other characters to trigger file | ||
| 3484 | name completions? They must somehow signal this to @value{tramp}. Use | ||
| 3485 | the variable @code{non-essential} temporarily and bind it to | ||
| 3486 | non-@code{nil} value. | ||
| 3487 | 3479 | ||
| 3488 | @lisp | 3480 | @lisp |
| 3489 | @group | 3481 | @group |
| @@ -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 |
| 638 | remote file name starts with "/method:host:" or "/method:user@host:". | 639 | remote 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 | +++ |