emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 0b39e4daee4 1/3: Handle case-insensitivity for safe-local-variabl


From: Eli Zaretskii
Subject: master 0b39e4daee4 1/3: Handle case-insensitivity for safe-local-variable-directories.
Date: Fri, 12 May 2023 07:07:16 -0400 (EDT)

branch: master
commit 0b39e4daee4383d9e535148a973e0d5701125ada
Author: Antero Mejr <antero@mailbox.org>
Commit: Eli Zaretskii <eliz@gnu.org>

    Handle case-insensitivity for safe-local-variable-directories.
    
    * lisp/emacs-lisp/files.el (hack-local-variables-filter): Use
    'file-equal-p' when checking 'safe-local-variable-directories'.
    * doc/lispref/variables.texi (File Local Variables): Remove sentences
    in 'safe-local-variable-directories' description about case-sensitivity
    and trailing slash behaviors.
    * doc/emacs/custom.texi (Safe File Variables): Remove sentence about
    'safe-local-variable-directories' trailing slash behavior.
    (Bug#61901)
---
 doc/emacs/custom.texi      | 7 +++----
 doc/lispref/variables.texi | 8 +++-----
 lisp/files.el              | 5 ++++-
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index d8abf81c75f..d8221f51425 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -1359,10 +1359,9 @@ certain directories, and skip the confirmation prompt 
when local
 variables are loaded from those directories, even if the variables are
 risky.  The variable @code{safe-local-variable-directories} holds the
 list of such directories.  The names of the directories in this list
-must be full absolute file names, and should end in a slash.  If the
-variable @code{enable-remote-dir-locals} has a non-@code{nil} value,
-the list can include remote directories as well (@pxref{Remote
-Files}).
+must be full absolute file names.  If the variable
+@code{enable-remote-dir-locals} has a non-@code{nil} value, the list
+can include remote directories as well (@pxref{Remote Files}).
 
 @vindex enable-local-variables
   The variable @code{enable-local-variables} allows you to change the
diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi
index b3a8cd8110c..4eda035473e 100644
--- a/doc/lispref/variables.texi
+++ b/doc/lispref/variables.texi
@@ -1982,11 +1982,9 @@ This is a list of directories where local variables are 
always
 enabled.  Directory-local variables loaded from these directories,
 such as the variables in @file{.dir-locals.el}, will be enabled even
 if they are risky.  The directories in this list must be
-fully-expanded absolute file names that end in a directory separator
-character.  They may also be remote directories if the variable
-@code{enable-remote-dir-locals} is set non-@code{nil}.  Directories in
-this list are matched case-sensitively, even if the filesystem is
-case-sensitive.
+fully-expanded absolute file names.  They may also be remote
+directories if the variable @code{enable-remote-dir-locals} is set
+non-@code{nil}.
 @end defvar
 
 @defun hack-local-variables &optional handle-mode
diff --git a/lisp/files.el b/lisp/files.el
index 35d794f6dcf..148f47cbc97 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -3934,7 +3934,10 @@ DIR-NAME is the name of the associated directory.  
Otherwise it is nil."
                  (null unsafe-vars)
                  (null risky-vars))
             (memq enable-local-variables '(:all :safe))
-             (member dir-name safe-local-variable-directories)
+             (delq nil (mapcar (lambda (dir)
+                                 (and dir-name dir
+                                      (file-equal-p dir dir-name)))
+                               safe-local-variable-directories))
             (hack-local-variables-confirm all-vars unsafe-vars
                                           risky-vars dir-name))
         (dolist (elt all-vars)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]