Mercurial > emacs
changeset 48564:7f44fb167662
(file-truename): Canonicalize non-existent names on w32.
author | Jason Rumney <jasonr@gnu.org> |
---|---|
date | Wed, 27 Nov 2002 23:53:44 +0000 |
parents | 26e19e854ef3 |
children | b4a5789def11 |
files | lisp/files.el |
diffstat | 1 files changed, 6 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Wed Nov 27 23:51:02 2002 +0000 +++ b/lisp/files.el Wed Nov 27 23:53:44 2002 +0000 @@ -675,18 +675,17 @@ ;; it is stored on disk (expanding short name aliases with the full ;; name in the process). (if (eq system-type 'windows-nt) - (let ((handler (find-file-name-handler filename 'file-truename)) - newname) + (let ((handler (find-file-name-handler filename 'file-truename))) ;; For file name that has a special handler, call handler. ;; This is so that ange-ftp can save time by doing a no-op. (if handler (setq filename (funcall handler 'file-truename filename)) ;; If filename contains a wildcard, newname will be the old name. - (if (string-match "[[*?]" filename) - (setq newname filename) - ;; If filename doesn't exist, newname will be nil. - (setq newname (w32-long-file-name filename))) - (setq filename (or newname filename))) + (unless (string-match "[[*?]" filename) + ;; If filename exists, use the long name, otherwise + ;; canonicalize the name, to handle case differences. + (setq filename (or (w32-long-file-name filename) + (untranslated-canonical-name filename))))) (setq done t))) ;; If this file directly leads to a link, process that iteratively