emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] Changes to emacs/lisp/files.el,v


From: Chong Yidong
Subject: [Emacs-diffs] Changes to emacs/lisp/files.el,v
Date: Thu, 31 Jul 2008 21:09:06 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Changes by:     Chong Yidong <cyd>      08/07/31 21:09:05

Index: files.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/files.el,v
retrieving revision 1.990
retrieving revision 1.991
diff -u -b -r1.990 -r1.991
--- files.el    31 Jul 2008 17:18:06 -0000      1.990
+++ files.el    31 Jul 2008 21:09:05 -0000      1.991
@@ -1417,14 +1417,18 @@
             (file-exists-p (file-name-directory
                             (substring filename (1- (match-end 0))))))
        (setq filename (substring filename (1- (match-end 0)))))
-    (let ((tail directory-abbrev-alist))
+    ;; Avoid treating /home/foo as /home/Foo during `~' substitution.
+    ;; To fix this right, we need a `file-name-case-sensitive-p'
+    ;; function, but we don't have that yet, so just guess.
+    (let ((case-fold-search 
+          (memq system-type '(ms-dos windows-nt darwin cygwin))))
       ;; If any elt of directory-abbrev-alist matches this name,
       ;; abbreviate accordingly.
-      (while tail
-       (if (string-match (car (car tail)) filename)
+      (dolist (dir-abbrev directory-abbrev-alist)
+       (if (string-match (car dir-abbrev) filename)
            (setq filename
-                 (concat (cdr (car tail)) (substring filename (match-end 0)))))
-       (setq tail (cdr tail)))
+                 (concat (cdr dir-abbrev)
+                         (substring filename (match-end 0))))))
       ;; Compute and save the abbreviated homedir name.
       ;; We defer computing this until the first time it's needed, to
       ;; give time for directory-abbrev-alist to be set properly.




reply via email to

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