# HG changeset patch # User Eli Zaretskii # Date 1230303670 0 # Node ID bc724faa95e661ff341355fff99288014dc21b36 # Parent eca026eee0d77f37c83f33e345b7129972645769 (dir-locals-find-file) [ms-dos]: Run dir-locals-file through dosified-file-name. Compare files case-insensitively on systems whose filesystems are case-insensitive. diff -r eca026eee0d7 -r bc724faa95e6 lisp/files.el --- a/lisp/files.el Fri Dec 26 14:43:21 2008 +0000 +++ b/lisp/files.el Fri Dec 26 15:01:10 2008 +0000 @@ -3275,14 +3275,20 @@ `dir-locals-directory-alist' is returned. Otherwise this returns nil." (setq file (expand-file-name file)) - (let ((locals-file (locate-dominating-file file dir-locals-file)) - (dir-elt nil)) + (let* ((dir-locals-file-name + (if (eq system-type 'ms-dos) + (dosified-file-name dir-locals-file) + dir-locals-file)) + (locals-file (locate-dominating-file file dir-locals-file-name)) + (dir-elt nil)) ;; `locate-dominating-file' may have abbreviated the name. (when locals-file - (setq locals-file (expand-file-name dir-locals-file locals-file))) + (setq locals-file (expand-file-name dir-locals-file-name locals-file))) (dolist (elt dir-locals-directory-alist) (when (and (eq t (compare-strings file nil (length (car elt)) - (car elt) nil nil)) + (car elt) nil nil + (memq system-type + '(windows-nt cygwin ms-dos)))) (> (length (car elt)) (length (car dir-elt)))) (setq dir-elt elt))) (if (and locals-file dir-elt)