]> git.eshelyaron.com Git - emacs.git/commitdiff
(dosified-file-name): New function.
authorEli Zaretskii <eliz@gnu.org>
Fri, 26 Dec 2008 15:02:47 +0000 (15:02 +0000)
committerEli Zaretskii <eliz@gnu.org>
Fri, 26 Dec 2008 15:02:47 +0000 (15:02 +0000)
lisp/ChangeLog
lisp/dos-fns.el

index 0d00252eddecb01e51c04d14738c10758d2614cc..3a025d5bac902b849f02e9cad674ec7384a49de3 100644 (file)
@@ -1,3 +1,11 @@
+2008-12-26  Eli Zaretskii  <eliz@gnu.org>
+
+       * dos-fns.el (dosified-file-name): New function.
+
+       * files.el (dir-locals-find-file): Run dir-locals-file through
+       dosified-file-name.  Compare files case-insensitively on systems
+       whose filesystems are case-insensitive.
+
 2008-12-25  Martin Rudalics  <rudalics@gmx.at>
 
        * help.el (help-for-help-internal): Fix entry for "l".
index edcebb1306a034630ab8253c483a79d1ce8e2f1e..c6de5b2868ae248bc2d95130948519b1fe5645ff 100644 (file)
@@ -186,6 +186,25 @@ shell requires it (see `w32-shell-dos-semantics')."
                    (dos-8+3-filename dir))
                  string))))))
 
+;; This is for the sake of standard file names elsewhere in Emacs that
+;; are defined as constant strings or via defconst, and whose
+;; conversion via `convert-standard-filename' does not give good
+;; enough results.
+(defun dosified-file-name (file-name)
+  "Return a variant of FILE-NAME that is valid on MS-DOS filesystems.
+
+This function is for those rare cases where `convert-standard-filename'
+does not do a job that is good enough, e.g. if you need to preserve the
+file-name extension.  It recognizes only certain specific file names
+that are used in Emacs Lisp sources; any other file name will be
+returned unaltered."
+  (cond
+   ;; See files.el:dir-locals-file.
+   ((string= file-name ".dir-locals.el")
+    "_dir-locals.el")
+   (t
+    file-name)))
+
 ;; See dos-vars.el for defcustom.
 (defvar msdos-shells)