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: Mon, 16 Jan 2012 20:14:47 +0100 Message-ID: <87ehuz793s.fsf@gmail.com> References: <87mx9su32g.fsf@web.de> <87fwfkc4pn.fsf@gmx.de> <87fwfjsw8t.fsf@gmail.com> <87aa5rdazl.fsf@gmx.de> <87d3anogf5.fsf@gmail.com> <011AEED9E81C4DEFA6B1E03B0F57F28F@us.oracle.com> <878vlbljnc.fsf@gmx.de> <8739bj8mu1.fsf@gmail.com> <87fwfjo24c.fsf@gmx.de> <87pqen76p4.fsf@gmail.com> <83fwfik92e.fsf@gnu.org> <87mx9q1sz7.fsf@gmail.com> <87vcodm8ns.fsf@gmx.de> <87pqekopb5.fsf@gmail.com> <87hazwoost.fsf@gmail.com> <87ty3w9639.fsf@gmx.de> <8762gckckt.fsf@gmail.com> <87pqek9269.fsf@gmx.de> <87r4z0yqfx.fsf@gmail.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1326741320 8491 80.91.229.12 (16 Jan 2012 19:15:20 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 16 Jan 2012 19:15:20 +0000 (UTC) Cc: 10489@debbugs.gnu.org, Michael Albinus To: Andreas Schwab Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 16 20:15:14 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 1Rms1R-0006Ld-Hy for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Jan 2012 20:15:13 +0100 Original-Received: from localhost ([::1]:57017 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rms1Q-0001TJ-VS for geb-bug-gnu-emacs@m.gmane.org; Mon, 16 Jan 2012 14:15:12 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:50376) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rms1O-0001TD-PY for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 14:15:11 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Rms1K-00045v-Gt for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 14:15:10 -0500 Original-Received: from debbugs.gnu.org ([140.186.70.43]:37712) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Rms1K-00045o-A4 for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 14:15:06 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.72) (envelope-from ) id 1Rms2D-0006WS-La for bug-gnu-emacs@gnu.org; Mon, 16 Jan 2012 14:16:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Thierry Volpiatto Original-Sender: debbugs-submit-bounces@debbugs.gnu.org Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 16 Jan 2012 19:16: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: Original-Received: via spool by 10489-submit@debbugs.gnu.org id=B10489.132674135225056 (code B ref 10489); Mon, 16 Jan 2012 19:16:01 +0000 Original-Received: (at 10489) by debbugs.gnu.org; 16 Jan 2012 19:15:52 +0000 Original-Received: from localhost ([127.0.0.1]:60618 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rms24-0006W4-4S for submit@debbugs.gnu.org; Mon, 16 Jan 2012 14:15:52 -0500 Original-Received: from mail-wi0-f172.google.com ([209.85.212.172]:45269) by debbugs.gnu.org with esmtp (Exim 4.72) (envelope-from ) id 1Rms20-0006Vv-W6 for 10489@debbugs.gnu.org; Mon, 16 Jan 2012 14:15:49 -0500 Original-Received: by wics10 with SMTP id s10so1482139wic.3 for <10489@debbugs.gnu.org>; Mon, 16 Jan 2012 11:14:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:references:date:in-reply-to:message-id :user-agent:mime-version:content-type; bh=YCJxJI4Z1Cl0CdT0n0LWOkeTljMPkn1+ZuiDoJJKGLY=; b=HNiuY3Ts4TwtwABUovlWy+UT2t5r1gorEWxx/Qlh91lW5eZ0gymGkaauJ7p237r2YG t8xyCnz0/9wQwnfUs+j7R1UHVoulNV7X7zCUIQKlGYO6VagT46844Yd5mCLgfiIB+9WX cYoFFLFG0i8uRLp26z4X5mdnO3spxq4oAKn2Q= Original-Received: by 10.180.86.5 with SMTP id l5mr22451478wiz.17.1326741292785; Mon, 16 Jan 2012 11:14:52 -0800 (PST) Original-Received: from thierry-MM061 (23.78.88.79.rev.sfr.net. [79.88.78.23]) by mx.google.com with ESMTPS id n3sm35814298wiz.9.2012.01.16.11.14.49 (version=TLSv1/SSLv3 cipher=OTHER); Mon, 16 Jan 2012 11:14:51 -0800 (PST) In-Reply-To: (Andreas Schwab's message of "Mon, 16 Jan 2012 15:09:48 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) 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:55801 Archived-At: Andreas Schwab writes: > You also need to check whether the target is a subdirectory of the > source. Indeed yes, is there already a function to check this? If not what about something like this: #+BEGIN_SRC lisp (defun file-subdir-of-p (file1 file2) "Check if FILE1 is a subdirectory of FILE2." (when (and (not (or (file-remote-p file1) (file-remote-p file2))) (file-directory-p file1) (file-directory-p file2)) (loop with f1 = (expand-file-name file1) with f2 = (expand-file-name file2) with ls1 = (split-string f1 "/" t) with ls2 = (split-string f2 "/" t) for p = (string-match "^/" f1) for i in ls1 for j in ls2 when (string= i j) concat (if p (concat "/" i) (concat i "/")) into root finally return ;; Use here `file-equal-p' when ready to work. (string= (directory-file-name root) (directory-file-name f2))))) #+END_SRC -- Thierry Get my Gnupg key: gpg --keyserver pgp.mit.edu --recv-keys 59F29997