Mercurial > emacs
changeset 54573:1d3d777fda3f
(file-relative-name): Use compare-strings.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Fri, 26 Mar 2004 15:04:35 +0000 |
parents | 2f882266c186 |
children | 76b831799f4d |
files | lisp/files.el |
diffstat | 1 files changed, 11 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Fri Mar 26 14:54:17 2004 +0000 +++ b/lisp/files.el Fri Mar 26 15:04:35 2004 +0000 @@ -1,6 +1,6 @@ ;;; files.el --- file input and output commands for Emacs -;; Copyright (C) 1985,86,87,92,93,94,95,96,97,98,99,2000,01,02,2003 +;; Copyright (C) 1985,86,87,92,93,94,95,96,97,98,99,2000,01,02,03,2004 ;;; Free Software Foundation, Inc. ;; Maintainer: FSF @@ -2905,9 +2905,9 @@ (or ;; Test for different drives on DOS/Windows (and + ;; Should `cygwin' really be included here? --stef (memq system-type '(ms-dos cygwin windows-nt)) - (not (string-equal (substring filename 0 2) - (substring directory 0 2)))) + (not (eq t (compare-strings filename 0 2 directory 0 2)))) ;; Test for different remote file handlers (not (eq hf hd)) ;; Test for different remote file system identification @@ -2925,18 +2925,19 @@ filename (let ((ancestor ".") (filename-dir (file-name-as-directory filename))) - (while - (and - (not (string-match (concat "\\`" (regexp-quote directory)) - filename-dir)) - (not (string-match (concat "\\`" (regexp-quote directory)) - filename))) + (while (not + (or + (eq t (compare-strings filename-dir nil (length directory) + directory nil nil case-fold-search)) + (eq t (compare-strings filename nil (length directory) + directory nil nil case-fold-search)))) (setq directory (file-name-directory (substring directory 0 -1)) ancestor (if (equal ancestor ".") ".." (concat "../" ancestor)))) ;; Now ancestor is empty, or .., or ../.., etc. - (if (string-match (concat "^" (regexp-quote directory)) filename) + (if (eq t (compare-strings filename nil (length directory) + directory nil nil case-fold-search)) ;; We matched within FILENAME's directory part. ;; Add the rest of FILENAME onto ANCESTOR. (let ((rest (substring filename (match-end 0))))