Move directory-abbrev-alist doc from Lispref to Emacs manual.

* doc/emacs/files.texi (File Aliases): Move directory-abbrev-alist doc from Lisp
manual.  Explain why directory-abbrev-alist elements should be anchored
(Bug#7777).

* doc/lispref/files.texi (Directory Names): Move directory-abbrev-alist doc to
Emacs manual.
This commit is contained in:
Chong Yidong 2011-01-08 17:01:13 -05:00
parent ad2d9b0e33
commit c40b51e0ff
4 changed files with 44 additions and 47 deletions

View file

@ -1,3 +1,9 @@
2011-01-08 Chong Yidong <cyd@stupidchicken.com>
* files.texi (File Aliases): Move directory-abbrev-alist doc from Lisp
manual. Explain why directory-abbrev-alist elements should be anchored
(Bug#7777).
2011-01-07 Eli Zaretskii <eliz@gnu.org> 2011-01-07 Eli Zaretskii <eliz@gnu.org>
* msdog.texi (Windows Startup): Correct inaccurate description of * msdog.texi (Windows Startup): Correct inaccurate description of

View file

@ -1158,7 +1158,6 @@ links point to directories.
@vindex find-file-existing-other-name @vindex find-file-existing-other-name
@vindex find-file-suppress-same-file-warnings @vindex find-file-suppress-same-file-warnings
Normally, if you visit a file which Emacs is already visiting under Normally, if you visit a file which Emacs is already visiting under
a different name, Emacs displays a message in the echo area and uses a different name, Emacs displays a message in the echo area and uses
the existing buffer visiting that file. This can happen on systems the existing buffer visiting that file. This can happen on systems
@ -1180,6 +1179,31 @@ then the file name recorded for a buffer is the file's @dfn{truename}
than the name you specify. Setting @code{find-file-visit-truename} also than the name you specify. Setting @code{find-file-visit-truename} also
implies the effect of @code{find-file-existing-other-name}. implies the effect of @code{find-file-existing-other-name}.
@cindex directory name abbreviation
@vindex directory-abbrev-alist
Sometimes, a directory is ordinarily accessed through a symbolic
link, and you may want Emacs to preferentially display its ``linked''
name instead of its truename. To do this, customize the variable
@code{directory-abbrev-alist}. Each element in this list should have
the form @code{(@var{from} . @var{to})}, which says to replace
@var{from} with @var{to} when it appears in a directory name. For
this feature to work properly, @var{from} and @var{to} should point to
the same file. The @var{from} string is actually a regular expression
(@pxref{Regexps}); it should always start with @samp{\`}, to avoid
matching to an incorrect part of the original directory name. The
@var{to} string should be an ordinary absolute directory name. Do not
use @samp{~} to stand for a home directory in the @var{to} string;
Emacs performs these substitutions separately.
Here's an example, from a system on which file system
@file{/home/fsf} and so on are normally accessed through symbolic
links named @file{/fsf} and so on.
@example
(("\\`/home/fsf" . "/fsf")
("\\`/home/gd" . "/gd"))
@end example
@node Directories @node Directories
@section File Directories @section File Directories

View file

@ -1,7 +1,7 @@
2011-01-08 Chong Yidong <cyd@stupidchicken.com> 2011-01-08 Chong Yidong <cyd@stupidchicken.com>
* files.texi (Directory Names): Explain why directory-abbrev-alist * files.texi (Directory Names): Move directory-abbrev-alist doc to
elements should be anchored (Bug#7777). Emacs manual.
2011-01-07 Eli Zaretskii <eliz@gnu.org> 2011-01-07 Eli Zaretskii <eliz@gnu.org>

View file

@ -1920,55 +1920,22 @@ Don't try concatenating a slash by hand, as in
because this is not portable. Always use because this is not portable. Always use
@code{file-name-as-directory}. @code{file-name-as-directory}.
@cindex directory name abbreviation
Directory name abbreviations are useful for directories that are
normally accessed through symbolic links. Sometimes the users recognize
primarily the link's name as ``the name'' of the directory, and find it
annoying to see the directory's ``real'' name. If you define the link
name as an abbreviation for the ``real'' name, Emacs shows users the
abbreviation instead.
@defopt directory-abbrev-alist
The variable @code{directory-abbrev-alist} contains an alist of
abbreviations to use for file directories. Each element has the form
@code{(@var{from} . @var{to})}, and says to replace @var{from} with
@var{to} when it appears in a directory name.
The @var{from} string is actually a regular expression. It ought to
always start with @samp{\`}, to avoid incorrectly matching to a
relative portion of the supplied directory name.
The @var{to} string should be an ordinary absolute directory name.
Do not use @samp{~} to stand for a home directory in that string; the
function @code{abbreviate-file-name} performs these substitutions.
You can set this variable in @file{site-init.el} to describe the
abbreviations appropriate for your site.
Here's an example, from a system on which file system @file{/home/fsf}
and so on are normally accessed through symbolic links named @file{/fsf}
and so on.
@example
(("\\`/home/fsf" . "/fsf")
("\\`/home/gp" . "/gp")
("\\`/home/gd" . "/gd"))
@end example
@end defopt
To convert a directory name to its abbreviation, use this To convert a directory name to its abbreviation, use this
function: function:
@defun abbreviate-file-name filename @defun abbreviate-file-name filename
@anchor{Definition of abbreviate-file-name} @anchor{Definition of abbreviate-file-name}
This function applies abbreviations from @code{directory-abbrev-alist} This function returns an abbreviated form of @var{filename}. It
to its argument, and also substitutes @samp{~} for the user's home applies the abbreviations specified in @code{directory-abbrev-alist}
directory if the argument names a file in the home directory or one of (@pxref{File Aliases,,File Aliases, emacs, The GNU Emacs Manual}),
its subdirectories. (If the home directory is a root directory, it is then substitutes @samp{~} for the user's home directory if the
not replaced with @samp{~}, because this does not make the result argument names a file in the home directory or one of its
shorter on many systems.) You can use it for directory names and for subdirectories. If the home directory is a root directory, it is not
file names, because it recognizes abbreviations even as part of the replaced with @samp{~}, because this does not make the result shorter
name. on many systems.
You can use this function for directory names and for file names,
because it recognizes abbreviations even as part of the name.
@end defun @end defun
@node File Name Expansion @node File Name Expansion