mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-04-27 16:51:06 -07:00
(file-truename): Canonicalize non-existent names on w32.
This commit is contained in:
parent
4bc1267240
commit
06dd5ef70b
1 changed files with 6 additions and 7 deletions
|
|
@ -675,18 +675,17 @@ Do not specify them in other calls."
|
|||
;; 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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue