; Improve discoverability of empty file names handling

* doc/lispref/files.texi (Relative File Names)
(Testing Accessibility, File Name Expansion): Document and index
the behavior with empty strings as file names.
This commit is contained in:
Eli Zaretskii 2023-02-09 16:06:55 +02:00
parent e47cf6ca15
commit 417a8ed8b0

View file

@ -895,6 +895,12 @@ permissions of the file itself.)
If the file does not exist, or if there was trouble determining If the file does not exist, or if there was trouble determining
whether the file exists, this function returns @code{nil}. whether the file exists, this function returns @code{nil}.
@cindex empty file name, and @code{file-exists-p}
Since a file name that is an empty string is interpreted relative to
the current buffer's default directory (@pxref{Relative File Names}),
calling @code{file-exists-p} with an argument that is an empty string
will report about the buffer's default directory.
@cindex dangling symlinks, testing for existence @cindex dangling symlinks, testing for existence
Directories are files, so @code{file-exists-p} can return @code{t} Directories are files, so @code{file-exists-p} can return @code{t}
when given a directory. However, because @code{file-exists-p} follows when given a directory. However, because @code{file-exists-p} follows
@ -2338,6 +2344,10 @@ form.
@end example @end example
@end defun @end defun
@cindex empty file name
A file name that is an empty string stands for the current buffer's
default directory.
@node Directory Names @node Directory Names
@subsection Directory Names @subsection Directory Names
@cindex directory name @cindex directory name
@ -2527,6 +2537,7 @@ This is for the sake of filesystems that have the concept of a
superroot above the root directory @file{/}. On other filesystems, superroot above the root directory @file{/}. On other filesystems,
@file{/../} is interpreted exactly the same as @file{/}. @file{/../} is interpreted exactly the same as @file{/}.
@cindex empty file names, and @code{expand-file-name}
Expanding @file{.} or the empty string returns the default directory: Expanding @file{.} or the empty string returns the default directory:
@example @example