]> git.eshelyaron.com Git - emacs.git/commitdiff
Document Tramp changes
authorMichael Albinus <michael.albinus@gmx.de>
Sun, 9 Apr 2017 11:28:24 +0000 (13:28 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Sun, 9 Apr 2017 11:28:24 +0000 (13:28 +0200)
* doc/misc/tramp.texi (Change file name syntax): New node.

* etc/NEWS: Mention `tramp-change-syntax'.

* lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
External packages uses it.
(tramp-syntax): Set also `tramp-file-name-regexp'.

doc/misc/tramp.texi
etc/NEWS
lisp/net/tramp.el

index b19836d0b9a7ca0fe9473c2211d27a743a08f8e8..179578eea9b429770ffeb848f76b3eae9665513c 100644 (file)
@@ -155,7 +155,10 @@ Configuring @value{tramp} for use
 
 Using @value{tramp}
 
-* File name Syntax::            @value{tramp} file name conventions.
+* File name syntax::            @value{tramp} file name conventions.
+@ifset unified
+* Change file name syntax::     Alternative file name syntax.
+@end ifset
 * File name completion::        File name completion.
 * Ad-hoc multi-hops::           Declaring multiple hops in the file name.
 * Remote processes::            Integration with other Emacs packages.
@@ -997,7 +1000,7 @@ Other methods to include are: @option{ftp} and @option{smb}.
 @cindex default method
 
 In a remote file name, the use of a default method is indicated by the
-pseudo method @option{-}, @ref{File name Syntax}.
+pseudo method @option{-}, @ref{File name syntax}.
 
 @defopt tramp-default-method
 Default method is for transferring files.  The user option
@@ -2131,7 +2134,10 @@ is a feature of Emacs that may cause missed prompts when using
 @value{tramp}.
 
 @menu
-* File name Syntax::            @value{tramp} file name conventions.
+* File name syntax::            @value{tramp} file name conventions.
+@ifset unified
+* Change file name syntax::     Alternative file name syntax.
+@end ifset
 * File name completion::        File name completion.
 * Ad-hoc multi-hops::           Declaring multiple hops in the file name.
 * Remote processes::            Integration with other Emacs packages.
@@ -2139,7 +2145,7 @@ is a feature of Emacs that may cause missed prompts when using
 @end menu
 
 
-@node File name Syntax
+@node File name syntax
 @section @value{tramp} file name conventions
 @cindex file name syntax
 @cindex file name examples
@@ -2200,6 +2206,58 @@ pseudo method @file{-}.
 @end ifset
 
 
+@ifset unified
+@node Change file name syntax
+@section Alternative file name syntax
+@cindex change file name syntax
+@cindex alternative file name syntax
+
+The syntax described in @ref{File name syntax} is the @code{default}
+syntax, which is active after Emacs startup.  However, this can be
+changed.
+
+@deffn Command tramp-change-syntax syntax
+This command changes the syntax @value{tramp} uses for remote file
+names.  Beside the @code{default} value, @var{syntax} can be
+
+@itemize
+@item @code{simplified}
+@cindex simplified syntax
+
+The remote file name syntax is similar to the syntax used by Ange FTP.
+A remote file name has the form
+@code{@value{prefix}user@@host@value{postfix}path/to/file}.  The
+@code{user@@} part is optional, and the method is determined by
+@ref{Default Method}.
+
+@item @code{separate}
+@cindex separate syntax
+
+@clear unified
+@set separate
+@include trampver.texi
+The remote file name syntax is similar to the syntax used by XEmacs.
+A remote file name has the form
+@code{@trampfn{method,user@@host,path/to/file}}.  The @code{method}
+and @code{user@@} parts are optional.
+@clear separate
+@set unified
+@include trampver.texi
+@end itemize
+@end deffn
+
+@defvar tramp-file-name-regexp
+This variable keeps a regexp which matches the selected remote file
+name syntax.  However, it is not recommended to use this variable in
+external packages, a call of @code{file-remote-p} is much more
+appropriate.
+@ifinfo
+@pxref{Magic File Names, , , elisp}
+@end ifinfo
+@end defvar
+@end ifset
+
+
 @node File name completion
 @section File name completion
 @cindex file name completion
index e351abc159f8490f804a4b255cc68de9b5e9ee06..b36db07360bbe42a279efe4882ac28ac4f3b7dab 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -654,6 +654,10 @@ remote file name starts with "/method:host:" or "/method:user@host:".
 *** The new pseudo method "-" is a marker for the default method.
 "/-::" is the shortest remote file name then.
 
++++
+*** The command 'tramp-change-syntax' allows to choose an alternative
+remote file name syntax.
+
 +++
 *** New connection method "sg", which supports editing files under a
 different group ID.
index 818054676e484904488a285a8a88d2ab7197e455..eb32bd6e0ed905cbf5c45ff3e16e715e394ad5c4 100644 (file)
@@ -687,6 +687,8 @@ It can have the following values:
            (tramp-cleanup-all-buffers))
         ;; Set the value:
         (set-default symbol value)
+        ;; Reset `tramp-file-name-regexp'.
+        (setq tramp-file-name-regexp (tramp-file-name-regexp))
         ;; Rearrange file name handlers.
         (tramp-register-file-name-handlers)))
 
@@ -892,6 +894,13 @@ This regexp should match Tramp file names but no other file names."
   "Value for `tramp-file-name-regexp' for autoload.
 It must match the initial `tramp-syntax' settings.")
 
+;; External packages use constant `tramp-file-name-regexp'.  In order
+;; not to break them, we still provide it.  It is a variable now.
+;;;###autoload
+(defvar tramp-file-name-regexp tramp-initial-file-name-regexp
+    "Value for `tramp-file-name-regexp' for autoload.
+It must match the initial `tramp-syntax' settings.")
+
 ;;;###autoload
 (defconst tramp-completion-file-name-regexp-default
   (concat