mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-04 08:47:11 +00:00
Fix bug in tramp-handle-file-truename
* lisp/net/tramp.el (tramp-handle-file-truename): Expand localname. * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also relative symbolic links.
This commit is contained in:
parent
4c21d04057
commit
c355529bae
@ -3207,7 +3207,8 @@ User is always nil."
|
||||
(if (file-remote-p symlink-target)
|
||||
(let (file-name-handler-alist)
|
||||
(tramp-compat-file-name-quote symlink-target))
|
||||
symlink-target)
|
||||
(expand-file-name
|
||||
symlink-target (file-name-directory v2-localname)))
|
||||
v2-localname)))))
|
||||
(when (>= numchase numchase-limit)
|
||||
(tramp-error
|
||||
|
@ -2671,7 +2671,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
|
||||
(should-error
|
||||
(make-symbolic-link tmp-name1 tmp-name2)
|
||||
:type 'file-already-exists)
|
||||
;; number means interactive case.
|
||||
;; A number means interactive case.
|
||||
(cl-letf (((symbol-function 'yes-or-no-p) 'ignore))
|
||||
(should-error
|
||||
(make-symbolic-link tmp-name1 tmp-name2 0)
|
||||
@ -2783,6 +2783,15 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
|
||||
(should
|
||||
(string-equal (file-truename tmp-name1) (file-truename tmp-name2)))
|
||||
(should (file-equal-p tmp-name1 tmp-name2))
|
||||
;; Check relative symlink file name.
|
||||
(delete-file tmp-name2)
|
||||
(let ((default-directory tramp-test-temporary-file-directory))
|
||||
(make-symbolic-link (file-name-nondirectory tmp-name1) tmp-name2))
|
||||
(should (file-symlink-p tmp-name2))
|
||||
(should-not (string-equal tmp-name2 (file-truename tmp-name2)))
|
||||
(should
|
||||
(string-equal (file-truename tmp-name1) (file-truename tmp-name2)))
|
||||
(should (file-equal-p tmp-name1 tmp-name2))
|
||||
;; Symbolic links could look like a remote file name.
|
||||
;; They must be quoted then.
|
||||
(delete-file tmp-name2)
|
||||
|
Loading…
Reference in New Issue
Block a user