]> git.eshelyaron.com Git - emacs.git/commitdiff
Doc precisment about remote link targets
authorMichael Albinus <michael.albinus@gmx.de>
Tue, 5 Sep 2017 13:32:03 +0000 (15:32 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Tue, 5 Sep 2017 13:32:03 +0000 (15:32 +0200)
* doc/lispref/files.texi (Truenames): Explain handling of
targets of `file-truename' and `make-symbolic-link', which
look like a remote file name.

* etc/NEWS: Precise examples for symlinks which look like
remote file names.  MUSTBENEW of `write-region' is not
propagated to file name handlers.

doc/lispref/files.texi
etc/NEWS

index 06466c9bba8bfc53d7ee99ab8d892a193891173b..d04be63d7ec7a31d159adde08cca5859e79feb17 100644 (file)
@@ -1116,8 +1116,11 @@ file name component immediately preceding @samp{..} will be
 simplified away before @code{file-truename} is called.  To
 eliminate the need for a call to @code{expand-file-name},
 @code{file-truename} handles @samp{~} in the same way that
-@code{expand-file-name} does.  @xref{File Name Expansion,, Functions
-that Expand Filenames}.
+@code{expand-file-name} does.
+
+If the target of a symbolic links has remote file name syntax,
+@code{file-truename} returns it quoted.  @xref{File Name Expansion,,
+Functions that Expand Filenames}.
 @end defun
 
 @defun file-chase-links filename &optional limit
@@ -1736,10 +1739,15 @@ is treated only as a string; it need not name an existing file.
 If @var{ok-if-already-exists} is an integer, indicating interactive
 use, then leading @samp{~} is expanded and leading @samp{/:} is
 stripped in the @var{target} string.
+
 If @var{target} is a relative file name, the resulting symbolic link
 is interpreted relative to the directory containing the symbolic link.
 @xref{Relative File Names}.
 
+If both @var{target} and @var{newname} have remote file name syntax,
+and if both remote identifications are equal, the symbolic link points
+to the local file name part of @var{target}.
+
 This function is not available on systems that don't support symbolic
 links.
 @end deffn
index 2b0c86d7afbc00c8a753e0f679dd8b63ec0887de..2824349a537fc101544619683b3fcecc47f18870 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1210,23 +1210,35 @@ The following changes are involved.
 ---
 *** 'file-attributes' and 'file-symlink-p' no longer prepend "/:" to
 symbolic links whose targets begin with "/" and contain ":".  For
-example, if a symbolic link "x" has a target "/y:z", (file-symlink-p
-"x") now returns "/y:z" rather than "/:/y:z".
+example, if a symbolic link "x" has a target "/y:z:", '(file-symlink-p
+"x")' now returns "/y:z:" rather than "/:/y:z:".
 
 ---
-*** 'make-symbolic-link' no longer looks for file name handlers when
-creating a local symbolic link.  For example, (make-symbolic-link
-"/y:z" "x") now creates a symlink to "/y:z" instead of failing.
+*** 'make-symbolic-link' no longer looks for file name handlers of
+target when creating a symbolic link.  For example,
+'(make-symbolic-link "/y:z:" "x")' now creates a symbolic link to
+"/y:z:" instead of failing.
+
++++
+*** 'make-symbolic-link' removes the remote part of a link target if
+target and newname have the same remote part.  For example,
+'(make-symbolic-link "/x:y:a" "/x:y:b")' creates a link with the
+literal string "a"; and '(make-symbolic-link "/x:y:a" "/x:z:b")'
+creates a link with the literal string "/x:y:a" instead of failing.
 
 +++
 *** 'make-symbolic-link' now expands a link target with leading "~"
 only when the optional third arg is an integer, as when invoked
-interactively.  For example, (make-symbolic-link "~y" "x") now creates
-a link with target the literal string "~y"; to get the old behavior,
-use (make-symbolic-link (expand-file-name "~y") "x").  To avoid this
-expansion in interactive use, you can now prefix the link target with
-"/:".  For example, (make-symbolic-link "/:~y" "x" 1) now creates a
-link to literal "~y".
+interactively.  For example, '(make-symbolic-link "~y" "x")' now
+creates a link with target the literal string "~y"; to get the old
+behavior, use '(make-symbolic-link (expand-file-name "~y") "x")'.  To
+avoid this expansion in interactive use, you can now prefix the link
+target with "/:".  For example, '(make-symbolic-link "/:~y" "x" 1)'
+now creates a link to literal "~y".
+
++++
+** 'file-truename' returns a quoted file name if the target of a
+symbolic link has remote file name syntax.
 
 +++
 ** Module functions are now implemented slightly differently; in
@@ -1235,8 +1247,8 @@ Code that depends on undocumented internals of the module system might
 break.
 
 ---
-** The arguments LOCKNAME and MUSTBENEW of 'write-region' are
-propagated to file name handlers now.
+** The argument LOCKNAME of 'write-region' is propagated to file name
+handlers now.
 
 ---
 ** When built against recent versions of GTK+, Emacs always uses