summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2017-09-09 13:39:22 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2017-09-09 13:41:20 -0700
commit743b95cc635b1af1490e2834ec1c418c3c1242c0 (patch)
treee1412416b47bdf358373d89c4c4358d3021c789b
parentad7ba0fbf16edfaf6f59310ccd56088a656964d0 (diff)
downloademacs-743b95cc635b1af1490e2834ec1c418c3c1242c0.tar.gz
Be more consistent about "directory name" in manual
This clarifies the documentation, partly in response to the discussion in Bug#27986.
-rw-r--r--doc/emacs/building.texi2
-rw-r--r--doc/emacs/cmdargs.texi2
-rw-r--r--doc/emacs/custom.texi6
-rw-r--r--doc/emacs/dired.texi6
-rw-r--r--doc/emacs/files.texi22
-rw-r--r--doc/emacs/frames.texi4
-rw-r--r--doc/emacs/glossary.texi10
-rw-r--r--doc/emacs/maintaining.texi2
-rw-r--r--doc/emacs/misc.texi4
-rw-r--r--doc/emacs/msdos-xtra.texi2
-rw-r--r--doc/emacs/package.texi2
-rw-r--r--doc/emacs/text.texi4
-rw-r--r--doc/lispref/backups.texi4
-rw-r--r--doc/lispref/commands.texi2
-rw-r--r--doc/lispref/customize.texi2
-rw-r--r--doc/lispref/display.texi4
-rw-r--r--doc/lispref/files.texi92
-rw-r--r--doc/lispref/loading.texi4
-rw-r--r--doc/lispref/os.texi2
-rw-r--r--doc/misc/ebrowse.texi2
-rw-r--r--doc/misc/ede.texi4
-rw-r--r--doc/misc/efaq.texi4
-rw-r--r--doc/misc/gnus-faq.texi2
-rw-r--r--doc/misc/gnus-news.texi4
-rw-r--r--doc/misc/gnus.texi2
-rw-r--r--doc/misc/htmlfontify.texi5
-rw-r--r--doc/misc/woman.texi4
27 files changed, 105 insertions, 98 deletions
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index cc79eae7770..87ac61bac3b 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -1389,7 +1389,7 @@ Loading,,, elisp, the Emacs Lisp Reference Manual}.
@vindex load-path
The Emacs Lisp load path is specified by the variable
-@code{load-path}. Its value should be a list of directory names
+@code{load-path}. Its value should be a list of directories
(strings). These directories are searched, in the specified order, by
the @kbd{M-x load-library} command, the lower-level @code{load}
function, and other Emacs functions that find Emacs Lisp libraries. A
diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi
index a1807ad9ddf..819459e0af0 100644
--- a/doc/emacs/cmdargs.texi
+++ b/doc/emacs/cmdargs.texi
@@ -466,7 +466,7 @@ variables to be set, but it uses their values if they are set.
@item CDPATH
@vindex CDPATH, environment variable
Used by the @code{cd} command to search for the directory you specify,
-when you specify a relative directory name.
+when you specify a relative directory,
@item DBUS_SESSION_BUS_ADDRESS
@vindex DBUS_SESSION_BUS_ADDRESS, environment variable
Used by D-Bus when Emacs is compiled with it. Usually, there is no
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index 824fb6ede26..3e17696342f 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -587,7 +587,7 @@ too.)
@vindex custom-theme-load-path
If you want Emacs to look for Custom themes in some other directory,
-add the directory name to the list variable
+add the directory to the list variable
@code{custom-theme-load-path}. Its default value is
@code{(custom-theme-directory t)}; here, the symbol
@code{custom-theme-directory} has the special meaning of the value of
@@ -1321,7 +1321,7 @@ Each alist entry consists of a variable name and the directory-local
value to assign to that variable, when the specified major mode is
enabled. Instead of a mode name, you can specify @samp{nil}, which
means that the alist applies to any mode; or you can specify a
-subdirectory name (a string), in which case the alist applies to all
+subdirectory (a string), in which case the alist applies to all
files in that subdirectory.
Here's an example of a @file{.dir-locals.el} file:
@@ -1356,7 +1356,7 @@ Variables}.
@findex copy-file-locals-to-dir-locals
Instead of editing the @file{.dir-locals.el} file by hand, you can
use the command @kbd{M-x add-dir-local-variable}. This prompts for a
-mode or subdirectory name, and for variable and value, and adds the
+mode or subdirectory, and for variable and value, and adds the
entry defining the directory-local variable. @kbd{M-x
delete-dir-local-variable} deletes an entry. @kbd{M-x
copy-file-locals-to-dir-locals} copies the file-local variables in the
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index c1cc2f8cf96..db5dea329b5 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -61,7 +61,7 @@ you to operate on the listed files. @xref{Directories}.
@kindex C-x d
@vindex dired-listing-switches
To invoke Dired, type @kbd{C-x d} (@code{dired}). This reads a
-directory name using the minibuffer, and opens a @dfn{Dired buffer}
+directory's name using the minibuffer, and opens a @dfn{Dired buffer}
listing the files in that directory. You can also supply a wildcard
file name pattern as the minibuffer argument, in which case the Dired
buffer lists all files matching that pattern. A wildcard may appear
@@ -82,7 +82,7 @@ in particular, @kbd{M-n} puts the name of the visited file (if any) in
the minibuffer (@pxref{Minibuffer History}).
You can also invoke Dired by giving @kbd{C-x C-f} (@code{find-file})
-a directory name.
+a directory's name.
The variable @code{dired-listing-switches} specifies the options to
give to @command{ls} for listing the directory; this string
@@ -1433,7 +1433,7 @@ rotation is lossless, and uses an external utility called JpegTRAN.
@kindex + @r{(Dired)}
@findex dired-create-directory
The command @kbd{+} (@code{dired-create-directory}) reads a
-directory name, and creates that directory. It signals an error if
+directory's name, and creates that directory. It signals an error if
the directory already exists.
@cindex searching multiple files via Dired
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index fa1f9e53165..b9bfbd72ce1 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -84,7 +84,7 @@ buffer that is not visiting a file, via a command like @kbd{C-x b},
its default directory is usually copied from the buffer that was
current at the time (@pxref{Select Buffer}). You can use the command
@kbd{M-x pwd} to see the value of @code{default-directory} in the
-current buffer. The command @kbd{M-x cd} prompts for a directory
+current buffer. The command @kbd{M-x cd} prompts for a directory's
name, and sets the buffer's @code{default-directory} to that directory
(doing this does not change the buffer's file name, if any).
@@ -1287,7 +1287,7 @@ this, it runs the program specified by
@code{directory-free-space-program} with arguments
@code{directory-free-space-args}.
- The command @kbd{M-x delete-directory} prompts for a directory name
+ The command @kbd{M-x delete-directory} prompts for a directory's name
using the minibuffer, and deletes the directory if it is empty. If
the directory is not empty, you will be asked whether you want to
delete it recursively. On systems that have a ``Trash'' (or ``Recycle
@@ -1557,16 +1557,12 @@ not accept wildcard file names.
In all these commands, if the argument @var{new} is just a directory
name, the real new name is in that directory, with the same
non-directory component as @var{old}. For example, the command
-@c FIXME: '/tmp' should be '/tmp/' because '/tmp'
-@c is not "just a directory name".
-@c And actually the fact that ``directory name'' must end in a slash
-@c is not explained anywhere in this manual. Moreover, it many times
-@c uses ``directory name'' in contexts where the string it alludes to
-@c will clearly _not_ end in a slash
-@w{@kbd{M-x rename-file @key{RET} ~/foo @key{RET} /tmp @key{RET}}}
-renames @file{~/foo} to @file{/tmp/foo}. All these
-commands ask for confirmation when the new file name already exists,
-too.
+@w{@kbd{M-x rename-file @key{RET} ~/foo @key{RET} /tmp/ @key{RET}}}
+renames @file{~/foo} to @file{/tmp/foo}. @xref{Directory Names,,,
+elisp, the Emacs Lisp Reference Manual}.
+
+All these commands ask for confirmation when the new file name already
+exists.
@findex copy-file
@cindex copying files
@@ -1976,7 +1972,7 @@ them all.
@item M-x file-cache-add-directory-list @key{RET} @var{variable} @key{RET}
Add each file name in each directory listed in @var{variable} to the
file name cache. @var{variable} should be a Lisp variable whose value
-is a list of directory names, like @code{load-path}.
+is a list of directories, like @code{load-path}.
@item M-x file-cache-clear-cache @key{RET}
Clear the cache; that is, remove all file names from it.
@end table
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index ee33a6848c5..b168effb3a0 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -836,8 +836,8 @@ associate the speedbar with a different frame, dismiss it and call
The speedbar can operate in various modes. Its default mode is
@dfn{File Display} mode, which shows the files in the current
directory of the selected window of the attached frame, one file per
-line. Clicking on a file name visits that file in the selected window
-of the attached frame, and clicking on a directory name shows that
+line. Clicking on a non-directory visits that file in the selected window
+of the attached frame, and clicking on a directory shows that
directory in the speedbar (@pxref{Mouse References}). Each line also
has a box, @samp{[+]} or @samp{<+>}, that you can click on to
@dfn{expand} the contents of that item. Expanding a directory adds
diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi
index 41899e6152f..82e7394501b 100644
--- a/doc/emacs/glossary.texi
+++ b/doc/emacs/glossary.texi
@@ -405,6 +405,14 @@ A directory local variable is a local variable (q.v.@:) that applies
to all the files within a certain directory. @xref{Directory
Variables}.
+@item Directory Name
+On GNU and other Unix-like systems, directory names are strings that
+end in @samp{/}. For example, @file{/no-such-dir/} is a directory
+name whereas @file{/tmp} is not, even though @file{/tmp} names a file
+that happens to be a directory. On MS-DOS the relationship is more
+complicated. @xref{Directory Names,,, elisp, the Emacs Lisp Reference
+Manual}.
+
@item Dired
Dired is the Emacs facility that displays the contents of a file
directory and allows you to ``edit the directory'', performing
@@ -1197,7 +1205,7 @@ string or the next match for a specified regular expression.
@xref{Search}.
@item Search Path
-A search path is a list of directory names, to be used for searching for
+A search path is a list of directories, to be used for searching for
files for certain purposes. For example, the variable @code{load-path}
holds a search path for finding Lisp library files. @xref{Lisp Libraries}.
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 431ef35ac7f..6a592e2d51a 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -1125,7 +1125,7 @@ it is used to specify multi-file VC filesets for commands like
@kindex C-x v d
@findex vc-dir
To use the VC Directory buffer, type @kbd{C-x v d} (@code{vc-dir}).
-This reads a directory name using the minibuffer, and switches to a VC
+This reads a directory's name using the minibuffer, and switches to a VC
Directory buffer for that directory. By default, the buffer is named
@file{*vc-dir*}. Its contents are described
@iftex
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 7602fbb7454..6ad5fbafdd6 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -661,7 +661,7 @@ available.
(either in the @var{cmd} argument to one of the above commands, or in
other contexts), Emacs searches for the program in the directories
specified by the variable @code{exec-path}. The value of this
-variable must be a list of directory names; the default value is
+variable must be a list of directories; the default value is
initialized from the environment variable @env{PATH} when Emacs is
started (@pxref{General Variables}).
@@ -2815,7 +2815,7 @@ Find @var{filename}, guessing a default from text around point
@code{ffap-alternate-file}, analogous to @code{find-alternate-file}.
@item C-x d @var{directory} @key{RET}
@kindex C-x d @r{(FFAP)}
-Start Dired on @var{directory}, defaulting to the directory name at
+Start Dired on @var{directory}, defaulting to the directory at
point (@code{dired-at-point}).
@item C-x C-d
@code{ffap-list-directory}, analogous to @code{list-directory}.
diff --git a/doc/emacs/msdos-xtra.texi b/doc/emacs/msdos-xtra.texi
index 0d98dc81c1e..03250447bbf 100644
--- a/doc/emacs/msdos-xtra.texi
+++ b/doc/emacs/msdos-xtra.texi
@@ -363,7 +363,7 @@ the home directory, as you would on GNU or Unix. You can also set
@env{HOME} variable in the environment before starting Emacs; its
value will then override the above default behavior.
- Emacs on MS-DOS handles the directory name @file{/dev} specially,
+ Emacs on MS-DOS handles the name @file{/dev} specially,
because of a feature in the emulator libraries of DJGPP that pretends
I/O devices have names in that directory. We recommend that you avoid
using an actual directory named @file{/dev} on any disk.
diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi
index ecc955d3efe..215f50cb406 100644
--- a/doc/emacs/package.texi
+++ b/doc/emacs/package.texi
@@ -182,7 +182,7 @@ variable @code{package-archives}, whose value is a list of package
archives known to Emacs. Each list element must have the form
@code{(@var{id} . @var{location})}, where @var{id} is the name of a
package archive and @var{location} is the @acronym{HTTP} address or
-directory name of the package archive. You can alter this list if you
+name of the package archive directory. You can alter this list if you
wish to use third party package archives---but do so at your own risk,
and use only third parties that you think you can trust!
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index d1e451175ed..ab401c73362 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -1726,8 +1726,8 @@ C-p} (@code{tex-print}) to print a hardcopy of the output file.
By default, @kbd{C-c C-b} runs @TeX{} in the current directory. The
output of @TeX{} also goes in this directory. To run @TeX{} in a
different directory, change the variable @code{tex-directory} to the
-desired directory name. If your environment variable @env{TEXINPUTS}
-contains relative directory names, or if your files contains
+the desired directory. If your environment variable @env{TEXINPUTS}
+contains relative names, or if your files contains
@samp{\input} commands with relative file names, then
@code{tex-directory} @emph{must} be @code{"."} or you will get the
wrong results. Otherwise, it is safe to specify some other directory,
diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi
index 3e2d1f62483..48251c7c518 100644
--- a/doc/lispref/backups.texi
+++ b/doc/lispref/backups.texi
@@ -129,7 +129,7 @@ its value. Major modes should not set this variable---they should set
@defopt backup-directory-alist
This variable's value is an alist of filename patterns and backup
-directory names. Each element looks like
+directories. Each element looks like
@smallexample
(@var{regexp} . @var{directory})
@end smallexample
@@ -145,7 +145,7 @@ truncates the resulting name.
For the common case of all backups going into one directory, the alist
should contain a single element pairing @samp{"."} with the appropriate
-directory name.
+directory.
If this variable is @code{nil} (the default), or it fails to match a
filename, the backup is made in the original file's directory.
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 274f8b47063..ff790e6304f 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -395,7 +395,7 @@ Completion, Prompt.
The position of point, as an integer (@pxref{Point}). No I/O.
@item D
-A directory name. The default is the current default directory of the
+A directory. The default is the current default directory of the
current buffer, @code{default-directory} (@pxref{File Name Expansion}).
Existing, Completion, Default, Prompt.
diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi
index 5372728466f..ed455828f6e 100644
--- a/doc/lispref/customize.texi
+++ b/doc/lispref/customize.texi
@@ -599,7 +599,7 @@ The value must be a file name for an existing file. The widget
provides completion.
@item directory
-The value must be a directory name. The widget provides completion.
+The value must be a directory. The widget provides completion.
@item hook
The value must be a list of functions. This customization type is
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 2ed848adf37..38f4f92e655 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -5626,14 +5626,14 @@ This variable's value is a list of locations in which to search for
image files. If an element is a string or a variable symbol whose
value is a string, the string is taken to be the name of a directory
to search. If an element is a variable symbol whose value is a list,
-that is taken to be a list of directory names to search.
+that is taken to be a list of directories to search.
The default is to search in the @file{images} subdirectory of the
directory specified by @code{data-directory}, then the directory
specified by @code{data-directory}, and finally in the directories in
@code{load-path}. Subdirectories are not automatically included in
the search, so if you put an image file in a subdirectory, you have to
-supply the subdirectory name explicitly. For example, to find the
+supply the subdirectory explicitly. For example, to find the
image @file{images/foo/bar.xpm} within @code{data-directory}, you
should specify the image as follows:
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index d04be63d7ec..edee30e5ad7 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -401,9 +401,7 @@ If @var{confirm} is non-@code{nil}, that means to ask for confirmation
before overwriting an existing file. Interactively, confirmation is
required, unless the user supplies a prefix argument.
-@c FIXME: This disagrees with the doc string, which talks about
-@c directory names, not directories. See Bug#27986.
-If @var{filename} is an existing directory, or a symbolic link to one,
+If @var{filename} is a directory name (@pxref{Directory Names}),
@code{write-file} uses the name of the visited file, in directory
@var{filename}. If the buffer is not visiting a file, it uses the
buffer name instead.
@@ -832,16 +830,16 @@ permissions.
@defun file-exists-p filename
This function returns @code{t} if a file named @var{filename} appears
to exist. This does not mean you can necessarily read the file, only
-that you can find out its attributes. (On Unix and GNU/Linux, this is
-true if the file exists and you have execute permission on the
-containing directories, regardless of the permissions of the file
-itself.)
+that you can find out its attributes. (On GNU and other POSIX-like
+systems, this is true if the file exists and you have execute
+permission on the containing directories, regardless of the
+permissions of the file itself.)
If the file does not exist, or if access control policies prevent you
from finding its attributes, this function returns @code{nil}.
-Directories are files, so @code{file-exists-p} returns @code{t} when
-given a directory name. However, because @code{file-exists-p} follows
+Directories are files, so @code{file-exists-p} can return @code{t} when
+given a directory. However, because @code{file-exists-p} follows
symbolic links, it returns @code{t} for a symbolic link
name only if the target file exists.
@end defun
@@ -852,11 +850,11 @@ and you can read it. It returns @code{nil} otherwise.
@end defun
@defun file-executable-p filename
-This function returns @code{t} if a file named @var{filename} exists and
-you can execute it. It returns @code{nil} otherwise. On Unix and
-GNU/Linux, if the file is a directory, execute permission means you can
-check the existence and attributes of files inside the directory, and
-open those files if their modes permit.
+This function returns @code{t} if a file named @var{filename} exists
+and you can execute it. It returns @code{nil} otherwise. On GNU and
+other POSIX-like systems, if the file is a directory, execute
+permission means you can check the existence and attributes of files
+inside the directory, and open those files if their modes permit.
@end defun
@defun file-writable-p filename
@@ -960,10 +958,10 @@ $ ls -l diffs
executable file mode bit. So @code{file-modes} considers a file
executable if its name ends in one of the standard executable
extensions, such as @file{.com}, @file{.bat}, @file{.exe}, and some
-others. Files that begin with the Unix-standard @samp{#!} signature,
+others. Files that begin with the POSIX-standard @samp{#!} signature,
such as shell and Perl scripts, are also considered executable.
Directories are also reported as executable, for compatibility with
-Unix. These conventions are also followed by @code{file-attributes}
+POSIX@. These conventions are also followed by @code{file-attributes}
(@pxref{File Attributes}).
@end defun
@@ -1762,8 +1760,8 @@ multiple names, it continues to exist under the other names. If
symbolic link and not its target.
A suitable kind of @code{file-error} error is signaled if the file
-does not exist, or is not deletable. (On Unix and GNU/Linux, a file
-is deletable if its directory is writable.)
+does not exist, or is not deletable. (On GNU and other POSIX-like
+systems, a file is deletable if its directory is writable.)
If the optional argument @var{trash} is non-@code{nil} and the
variable @code{delete-by-moving-to-trash} is non-@code{nil}, this
@@ -1811,8 +1809,9 @@ This function sets the default permissions for new files created by
Emacs and its subprocesses. Every file created with Emacs initially
has these permissions, or a subset of them (@code{write-region} will
not grant execute permissions even if the default file permissions
-allow execution). On Unix and GNU/Linux, the default permissions are
-given by the bitwise complement of the @samp{umask} value.
+allow execution). On GNU and other POSIX-like systems, the default
+permissions are given by the bitwise complement of the @samp{umask}
+value.
The argument @var{mode} should be an integer which specifies the
permissions, similar to @code{set-file-modes} above. Only the lowest
@@ -1951,9 +1950,9 @@ directory.
@cindex converting file names from/to MS-Windows syntax
On MS-DOS and MS-Windows, these functions (like the function that
actually operate on files) accept MS-DOS or MS-Windows file-name syntax,
-where backslashes separate the components, as well as Unix syntax; but
-they always return Unix syntax. This enables Lisp programs to specify
-file names in Unix syntax and work properly on all systems without
+where backslashes separate the components, as well as POSIX syntax; but
+they always return POSIX syntax. This enables Lisp programs to specify
+file names in POSIX syntax and work properly on all systems without
change.@footnote{In MS-Windows versions of Emacs compiled for the Cygwin
environment, you can use the functions
@code{cygwin-convert-file-name-to-windows} and
@@ -1998,16 +1997,16 @@ This function returns the directory part of @var{filename}, as a
directory name (@pxref{Directory Names}), or @code{nil} if
@var{filename} does not include a directory part.
-On GNU and Unix systems, a string returned by this function always
+On GNU and other POSIX-like systems, a string returned by this function always
ends in a slash. On MS-DOS it can also end in a colon.
@example
@group
-(file-name-directory "lewis/foo") ; @r{Unix example}
+(file-name-directory "lewis/foo") ; @r{GNU example}
@result{} "lewis/"
@end group
@group
-(file-name-directory "foo") ; @r{Unix example}
+(file-name-directory "foo") ; @r{GNU example}
@result{} nil
@end group
@end example
@@ -2121,8 +2120,9 @@ root directory. A file name can specify all the directory names
starting from the root of the tree; then it is called an
@dfn{absolute} file name. Or it can specify the position of the file
in the tree relative to a default directory; then it is called a
-@dfn{relative} file name. On Unix and GNU/Linux, an absolute file
-name starts with a @samp{/} or a @samp{~}
+@dfn{relative} file name. On GNU and other POSIX-like systems,
+after any leading @samp{~} has been expanded, an absolute file name
+starts with a @samp{/}
(@pxref{abbreviate-file-name}), and a relative one does not. On
MS-DOS and MS-Windows, an absolute file name starts with a slash or a
backslash, or with a drive specification @samp{@var{x}:/}, where
@@ -2181,17 +2181,18 @@ form.
@cindex directory file name
@cindex file name of directory
- A @dfn{directory name} is the name of a directory. A directory is
-actually a kind of file, so it has a file name (called the
-@dfn{directory file name}, which is related to the directory name but
-not identical to it. (This is not quite the same as the usual Unix
-terminology.) These two different names for the same entity are
-related by a syntactic transformation. On GNU and Unix systems, this
-is simple: a directory name ends in a slash, whereas the directory
-file name lacks that slash. On MS-DOS the relationship is more
+ A @dfn{directory name} is a string that must name a directory if it
+names any file at all. A directory is actually a kind of file, and it
+has a file name (called the @dfn{directory file name}, which is
+related to the directory name but is typically not identical. (This
+is not quite the same as the usual POSIX terminology.) These two
+names for the same entity are related by a syntactic transformation.
+On GNU and other POSIX-like systems, this is simple: to obtain a
+directory name, append a @samp{/} to a directory file name that does
+not already end in @samp{/}. On MS-DOS the relationship is more
complicated.
- The difference between directory name and directory file name is
+ The difference between a directory name and a directory file name is
subtle but crucial. When an Emacs variable or function argument is
described as being a directory name, a directory file name is not
acceptable. When @code{file-name-directory} returns a string, that is
@@ -2219,15 +2220,16 @@ string (if it does not already end in one).
@defun directory-name-p filename
This function returns non-@code{nil} if @var{filename} ends with a
directory separator character. This is the forward slash @samp{/} on
-Unix and GNU systems; MS-Windows and MS-DOS recognize both the forward
-slash and the backslash @samp{\} as directory separators.
+GNU and other POSIX-like systems; MS-Windows and MS-DOS recognize both
+the forward slash and the backslash @samp{\} as directory separators.
@end defun
@defun directory-file-name dirname
This function returns a string representing @var{dirname} in a form
that the operating system will interpret as the name of a file (a
directory file name). On most systems, this means removing the final
-slash (or backslash) from the string.
+directory separators from the string, unless the string consists
+entirely of directory separators.
@example
@group
@@ -2307,7 +2309,7 @@ because it recognizes abbreviations even as part of the name.
@dfn{Expanding} a file name means converting a relative file name to
an absolute one. Since this is done relative to a default directory,
-you must specify the default directory name as well as the file name
+you must specify the default directory as well as the file name
to be expanded. It also involves expanding abbreviations like
@file{~/}
@ifnottex
@@ -2448,7 +2450,7 @@ results.
@c Wordy to avoid overfull hbox. --rjc 15mar92
Here we assume that the environment variable @env{HOME}, which holds
-the user's home directory name, has value @samp{/xcssun/users/rms}.
+the user's home directory, has value @samp{/xcssun/users/rms}.
@example
@group
@@ -2813,8 +2815,8 @@ located in @file{~/.abbrev_defs}. Here is the definition of
This function returns a file name based on @var{filename}, which fits
the conventions of the current operating system.
-On GNU and Unix systems, this simply returns @var{filename}. On other
-operating systems, it may enforce system-specific file name
+On GNU and other POSIX-like systems, this simply returns @var{filename}.
+On other operating systems, it may enforce system-specific file name
conventions; for example, on MS-DOS this function performs a variety
of changes to enforce MS-DOS file name limitations, including
converting any leading @samp{.} to @samp{_} and truncating to three
@@ -2918,7 +2920,7 @@ directory @var{file}, formatted with @code{ls} according to
@var{switches} may be a string of options, or a list of strings
representing individual options.
-The argument @var{file} may be either a directory name or a file
+The argument @var{file} may be either a directory or a file
specification including wildcard characters. If @var{wildcard} is
non-@code{nil}, that means treat @var{file} as a file specification with
wildcards.
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 0ab8f89a3fa..e4997d98ae3 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -280,7 +280,7 @@ in a list of directories specified by the variable @code{load-path}.
@defvar load-path
The value of this variable is a list of directories to search when
loading files with @code{load}. Each element is a string (which must be
-a directory name) or @code{nil} (which stands for the current working
+a directory) or @code{nil} (which stands for the current working
directory).
@end defvar
@@ -339,7 +339,7 @@ the above initialization procedure. Emacs initializes
@code{load-path} based on the value of the environment variable.
The syntax of @env{EMACSLOADPATH} is the same as used for @code{PATH};
-directory names are separated by @samp{:} (or @samp{;}, on some
+directories are separated by @samp{:} (or @samp{;}, on some
operating systems).
@ignore
@c AFAICS, does not (yet) work right to specify non-absolute elements.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index e6ec60f9236..441fda5d825 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1037,7 +1037,7 @@ value is @code{":"} for Unix and GNU systems, and @code{";"} for MS systems.
@defun parse-colon-path path
This function takes a search path string such as the value of
the @env{PATH} environment variable, and splits it at the separators,
-returning a list of directory names. @code{nil} in this list means
+returning a list of directories. @code{nil} in this list means
the current directory. Although the function's name says
``colon'', it actually uses the value of @code{path-separator}.
diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi
index 61ee04e2b5b..84669dc4c4d 100644
--- a/doc/misc/ebrowse.texi
+++ b/doc/misc/ebrowse.texi
@@ -253,7 +253,7 @@ of a command pipe.
@findex --search-path
@item --search-path=@var{paths}
This option lets you specify search paths for your input files.
-@var{paths} is a list of directory names, separated from each other by a
+@var{paths} is a list of directories, separated by
either a colon or a semicolon, depending on the operating system.
@end table
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index e87ae95f626..a79170179bc 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -806,8 +806,8 @@ name is expanded.
The include path only affects C/C++ header files. Use the slot
@code{:header-match-regexp} to change it.
-The @code{:system-include-path} allows you to specify full directory
-names to include directories where system header files can be found.
+The @code{:system-include-path} allows you to specify absolute names
+of include directories where system header files can be found.
These will be applied to files in this project only.
With @code{:compile-command} you can provide a command which should be
diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi
index c32998411a6..8d107e05e42 100644
--- a/doc/misc/efaq.texi
+++ b/doc/misc/efaq.texi
@@ -3035,7 +3035,7 @@ Xt toolkit.
@code{XFILESEARCHPATH} and @code{XUSERFILESEARCHPATH} should be a list
of file names separated by colons. @code{XAPPLRESDIR} should be a list
-of directory names separated by colons.
+of directories separated by colons.
Emacs searches for X resources:
@@ -3127,7 +3127,7 @@ this behavior, type @kbd{$$} instead.
Emacs has no way of knowing when the shell actually changes its
directory. This is an intrinsic limitation of Unix. So it tries to
guess by recognizing @samp{cd} commands. If you type @kbd{cd} followed
-by a directory name with a variable reference (@kbd{cd $HOME/bin}) or
+by directory with a variable reference (@kbd{cd $HOME/bin}) or
with a shell metacharacter (@kbd{cd ../lib*}), Emacs will fail to
correctly guess the shell's new current directory. A huge variety of
fixes and enhancements to shell mode for this problem have been written
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index 6f5af94b345..45797ce3597 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -405,7 +405,7 @@ However, I'd discourage you from doing so, since the
directory Emacs chooses will most certainly not be what
you want, so let's do it the correct way.
The first thing you've got to do is to
-create a suitable directory (no blanks in directory name
+create a suitable directory (no blanks in names
please), e.g., c:\myhome. Then you must set the environment
variable HOME to this directory. To do this under Windows 9x
or Me include the line
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi
index fc104104ede..be7e7ac71a1 100644
--- a/doc/misc/gnus-news.texi
+++ b/doc/misc/gnus-news.texi
@@ -43,7 +43,7 @@ file, where this release will store flags for nntp. See a later entry
for more information about nntp marks. Note that downgrading isn't
safe in general.
-@item Incompatibility when switching from Emacs 23 to Emacs 22
+@item Incompatibility when switching from Emacs 23 to Emacs 22
In Emacs 23, Gnus uses Emacs's new internal coding system @code{utf-8-emacs}
for saving articles drafts and @file{~/.newsrc.eld}. These files may not
be read correctly in Emacs 22 and below. If you want to use Gnus across
@@ -59,7 +59,7 @@ will shadow the latest one are detected. You can then remove those
shadows manually or remove them using @code{make
remove-installed-shadows}.
-@item The installation directory name is allowed to have spaces and/or tabs.
+@item The installation directory's name is allowed to have spaces and/or tabs.
@end itemize
@item New packages and libraries within Gnus
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index cd94156df36..3e9b48ec65d 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -2601,7 +2601,7 @@ Enter a buffer where you can edit the group info
@findex gnus-group-make-directory-group
@cindex nndir
Make a directory group (@pxref{Directory Groups}). You will be prompted
-for a directory name (@code{gnus-group-make-directory-group}).
+for the directory's name (@code{gnus-group-make-directory-group}).
@item G h
@kindex G h (Group)
diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi
index addc3e177b5..a04fa43a776 100644
--- a/doc/misc/htmlfontify.texi
+++ b/doc/misc/htmlfontify.texi
@@ -963,8 +963,9 @@ Is @ref{hfy-optimizations} member @var{symbol} set or not?
@end lisp
Return everything preceding the last @samp{/} from a relative filename,
-on the assumption that this will produce a relative directory name. Hardly
-bombproof, but good enough in the context in which it is being used.
+on the assumption that this will produce the name of a relative
+directory. Hardly bombproof, but good enough in the context in which
+it is being used.
@item hfy-html-dekludge-buffer
@findex hfy-html-dekludge-buffer
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi
index 95cc0d1b80d..7b926e109a7 100644
--- a/doc/misc/woman.texi
+++ b/doc/misc/woman.texi
@@ -939,7 +939,7 @@ is
Any environment variables (names of which must have the Unix-style form
@code{$NAME}, e.g., @code{$HOME}, @code{$EMACSDATA}, @code{$EMACS_DIR},
regardless of platform) are evaluated first but each element must
-evaluate to a @emph{single} directory name. Trailing @file{/}s are
+evaluate to a @emph{single} name of a directory. Trailing @file{/}s are
ignored. (Specific directories in @code{woman-path} are also searched.)
On Microsoft platforms I recommend including drive letters explicitly,
@@ -989,7 +989,7 @@ and on other platforms is @code{nil}.
Any environment variables (names of which must have the Unix-style form
@code{$NAME}, e.g., @code{$HOME}, @code{$EMACSDATA}, @code{$EMACS_DIR},
regardless of platform) are evaluated first but each element must
-evaluate to a @emph{single} directory name (regexp, see above). For
+evaluate to a @emph{single} name of a directory (regexp, see above). For
example
@lisp