mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-15 10:30:25 -08:00
* lisp/files.el: Use a fixed file name for the second dir-locals file
(dir-locals-file): Revert to its original fixed value. (dir-locals-file-2): New const. (dir-locals--all-files): Don't use `file-name-all-completions'. Instead, just check for the 2 dir-locals files and return a list of the ones that exit (if any). * etc/NEWS: Document the change. * doc/emacs/custom.texi (Directory Variables): Document the change. * doc/lispref/variables.texi (Directory Local Variables): Update accordingly.
This commit is contained in:
parent
914fb99d38
commit
da976cff35
4 changed files with 50 additions and 58 deletions
|
|
@ -1765,33 +1765,20 @@ variables: by putting them in a special file, or by defining a
|
|||
@dfn{project class} for that directory.
|
||||
|
||||
@defvr Constant dir-locals-file
|
||||
This constant is a wildcard pattern matching the name of files where
|
||||
Emacs expects to find directory-local variables. Its value is
|
||||
@file{.dir-locals*.el}@footnote{
|
||||
The MS-DOS version of Emacs uses @file{_dir-locals*.el} instead, due to
|
||||
This constant is the name of the file where Emacs expects to find the
|
||||
directory-local variables. The name of the file is
|
||||
@file{.dir-locals.el}@footnote{
|
||||
The MS-DOS version of Emacs uses @file{_dir-locals.el} instead, due to
|
||||
limitations of the DOS filesystems.
|
||||
}, and the most common file name to use is @file{.dir-locals.el}.
|
||||
|
||||
Any file matching this name pattern in a directory causes Emacs to
|
||||
apply its settings when visiting files in that directory or any of its
|
||||
subdirectories (optionally, you can exclude subdirectories; see
|
||||
below).
|
||||
If some of the subdirectories have their own file matching
|
||||
@file{.dir-locals*.el}, Emacs uses the settings from the deepest file
|
||||
it finds starting from the file's directory and moving up the
|
||||
directory tree. The file specifies local variables as a specially
|
||||
formatted list; see @ref{Directory Variables, , Per-directory Local
|
||||
Variables, emacs, The GNU Emacs Manual}, for more details.
|
||||
|
||||
If the same directory contains multiple such files (for instance,
|
||||
@file{.dir-locals.el} and @file{.dir-locals2.el}), then all of them
|
||||
are used in @code{string<} order. This means that, if two files
|
||||
specify different values for the same variable, the file sorted after
|
||||
will override the value of the previous file (for instance, values in
|
||||
@file{.dir-locals2.el} override those in @file{.dir-locals.el}). Note
|
||||
that, because of how lexicographic order works, values in
|
||||
@file{.dir-locals10.el} are overridden by values in @file{.dir-locals2.el}.
|
||||
This can be avoided by using @file{.dir-locals02.el} instead.
|
||||
}. A file by that name in a directory causes Emacs to apply its
|
||||
settings to any file in that directory or any of its subdirectories
|
||||
(optionally, you can exclude subdirectories; see below).
|
||||
If some of the subdirectories have their own @file{.dir-locals.el}
|
||||
files, Emacs uses the settings from the deepest file it finds starting
|
||||
from the file's directory and moving up the directory tree. The file
|
||||
specifies local variables as a specially formatted list; see
|
||||
@ref{Directory Variables, , Per-directory Local Variables, emacs, The
|
||||
GNU Emacs Manual}, for more details.
|
||||
@end defvr
|
||||
|
||||
@defun hack-dir-local-variables
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue