GNU bug report logs -
#10489
24.0.92; dired-do-copy may create infinite directory hierarchy
Previous Next
Reported by: michael_heerdegen <at> web.de
Date: Thu, 12 Jan 2012 19:36:01 UTC
Severity: important
Tags: patch
Merged with 11130
Found in version 24.0.92
Done: Chong Yidong <cyd <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
Message #101 received at submit <at> debbugs.gnu.org (full text, mbox):
Michael Albinus <michael.albinus <at> gmx.de> writes:
> Juanma Barranquero <lekktu <at> gmail.com> writes:
>
>> On Fri, Jan 13, 2012 at 15:14, Drew Adams <drew.adams <at> oracle.com> wrote:
>>
>>> (and (equal (file-remote-p file1) (file-remote-p file2))
>>
>> Why is the file-remote-p needed?
>
> For some simple cases, `file-remote-p' does the correct expansion.
>
> (file-remote-p "/sudo::") => "/sudo:root <at> host:"
>
> With this expansion, "/sudo::/path/file" and "/sudo:host:/path/file"
> would be equal.
What about this?
(defun file-name-equal-p (name1 name2 &optional dir)
(let* ((n1 (file-truename (expand-file-name name1 dir)))
(n2 (file-truename (expand-file-name name2 dir)))
(rhost1 (file-remote-p n1 'host))
(rhost2 (file-remote-p n2 'host))
(lname1 (file-remote-p n1 'localname))
(lname2 (file-remote-p n2 'localname))
(rem-n1 (if rhost1
(list (cons rhost1 lname1))
(list (cons (system-name) n1))))
(rem-n2 (if rhost2
(list (cons rhost2 lname2))
(list (cons (system-name) n2)))))
(loop for (x1 . y1) in rem-n1
for (x2 . y2) in rem-n2
thereis (and (equal x1 x2)
(equal y1 y2)))))
(file-name-equal-p "/home/thierry/Test" "~/Test")
;=>t
(file-name-equal-p "/home/thierry/Test" "/home/thierry/tmp/Test")
;=>nil
(file-name-equal-p "/ssh:thievol:/home/thierry/Test" "/scpc:thievol:/home/thierry/Test")
;=>t
(file-name-equal-p "/sudo::/home/thierry/Test" "/sudo::~/Test")
;=>nil
(file-name-equal-p "/sudo::/home/thierry/Test" "~/Test")
;=>t
(file-name-equal-p "/home/thierry/tmp" "/tmp")
;=>nil
--
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997
This bug report was last modified 13 years and 58 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.