23.6 File Name Aliases
Symbolic links and hard links both make it possible for several file
names to refer to the same file. Hard links are alternate names that
refer directly to the file; all the names are equally valid, and no one
of them is preferred. By contrast, a symbolic link is a kind of defined
alias: when foo is a symbolic link to bar, you can use
either name to refer to the file, but bar is the real name, while
foo is just an alias. More complex cases occur when symbolic
links point to directories.
If you visit two names for the same file, normally Emacs makes
two different buffers, but it warns you about the situation.
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
the existing buffer visiting that file. This can happen on systems
that support symbolic links, or if you use a long file name on a
system that truncates long file names. You can suppress the message by
setting the variable find-file-suppress-same-file-warnings
to a
non-nil
value. You can disable this feature entirely by setting
the variable find-file-existing-other-name
to nil
: then
if you visit the same file under two different names, you get a separate
buffer for each file name.
If the variable find-file-visit-truename
is non-nil
,
then the file name recorded for a buffer is the file's truename
(made by replacing all symbolic links with their target names), rather
than the name you specify. Setting find-file-visit-truename
also
implies the effect of find-file-existing-other-name
.