From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Thierry Volpiatto Newsgroups: gmane.emacs.bugs Subject: bug#10489: 24.0.92; dired-do-copy may create infinite directory hierarchy Date: Fri, 13 Jan 2012 19:43:50 +0100 Message-ID: <8739bj8mu1.fsf@gmail.com> References: <87mx9su32g.fsf@web.de> <87sjjkfvwt.fsf@gmail.com> <8362ggkquq.fsf@gnu.org> <87lipcrlga.fsf@gmail.com> <87fwfkc4pn.fsf@gmx.de> <87fwfjsw8t.fsf@gmail.com> <87aa5rdazl.fsf@gmx.de> <87d3anogf5.fsf@gmail.com> <011AEED9E81C4DEFA6B1E03B0F57F28F@us.oracle.com> <878vlbljnc.fsf@gmx.de> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: dough.gmane.org 1326480280 7382 80.91.229.12 (13 Jan 2012 18:44:40 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 13 Jan 2012 18:44:40 +0000 (UTC) To: 10489@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Fri Jan 13 19:44:37 2012 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1Rlm77-0004zs-MY for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Jan 2012 19:44:33 +0100 Original-Received: from localhost ([::1]:58418 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rlm77-0002r0-A0 for geb-bug-gnu-emacs@m.gmane.org; Fri, 13 Jan 2012 13:44:33 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:57981) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rlm71-0002q6-N0 for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:44:31 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rlm6x-0002US-Nq for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:44:27 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:33756) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rlm6x-0002UM-MG for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:44:23 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Rlm7Z-0001dO-Mw for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:45:01 -0500 X-Loop: help-debbugs@gnu.org In-Reply-To: <87mx9su32g.fsf@web.de> Resent-From: Thierry Volpiatto Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 13 Jan 2012 18:45:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 10489 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.13264802946257 (code B ref -1); Fri, 13 Jan 2012 18:45:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 13 Jan 2012 18:44:54 +0000 Original-Received: from localhost ([127.0.0.1]:56662 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rlm7Q-0001cp-9R for submit@debbugs.gnu.org; Fri, 13 Jan 2012 13:44:53 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:53614) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rlm7N-0001ch-1z for submit@debbugs.gnu.org; Fri, 13 Jan 2012 13:44:50 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rlm6j-0002HR-I8 for submit@debbugs.gnu.org; Fri, 13 Jan 2012 13:44:10 -0500 Original-Received: from lists.gnu.org ([140.186.70.17]:59640) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rlm6j-0002HI-GM for submit@debbugs.gnu.org; Fri, 13 Jan 2012 13:44:09 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:55013) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rlm6i-0002mv-7I for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:44:09 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rlm6g-0002Fr-V5 for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:44:08 -0500 Original-Received: from lo.gmane.org ([80.91.229.12]:35533) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rlm6g-0002FL-LG for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 13:44:06 -0500 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1Rlm6e-0004jl-SQ for bug-gnu-emacs@gnu.org; Fri, 13 Jan 2012 19:44:04 +0100 Original-Received: from 121.77.197.77.rev.sfr.net ([77.197.77.121]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 13 Jan 2012 19:44:04 +0100 Original-Received: from thierry.volpiatto by 121.77.197.77.rev.sfr.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Fri, 13 Jan 2012 19:44:04 +0100 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 55 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 121.77.197.77.rev.sfr.net User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) Cancel-Lock: sha1:nFBBHEooa82KCWwJfbh/EZe/blI= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.13 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 140.186.70.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:55704 Archived-At: Michael Albinus writes: > Juanma Barranquero writes: > >> On Fri, Jan 13, 2012 at 15:14, Drew Adams 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@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