diff options
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/files.el b/lisp/files.el index ce4dd99bd53..d32c6acb82c 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -1307,9 +1307,14 @@ containing it, until no links are left at any level. (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) - done t) + (or + (if handler + (setq filename (funcall handler 'file-truename filename) + done t) + (condition-case nil + (setq filename (fileio--truename filename) + done t) + (file-missing nil))) (let ((dir (or (file-name-directory filename) default-directory)) target dirfile) ;; Get the truename of the directory. |