GNU bug report logs - #11130
[PATCH] Reopen bug#10489: 24.0.92; dired-do-copy may create infinite directory hierarchy

Previous Next

Package: emacs;

Reported by: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>

Date: Fri, 30 Mar 2012 05:51:01 UTC

Severity: important

Tags: patch

Merged with 10489

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 #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Thierry Volpiatto <thierry.volpiatto <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: [PATCH] Reopen bug#10489: 24.0.92;
	dired-do-copy may create infinite directory hierarchy
Date: Fri, 30 Mar 2012 07:18:10 +0200
[Message part 1 (text/plain, inline)]
Hi,
I reopen this as it seem it is not fixed.
(Moved from emacs-dev list)
I attach the patch again here, please review and try it.
[patch-r119231.patch (text/x-diff, attachment)]
[Message part 3 (text/plain, inline)]
--8<---------------cut here---------------start------------->8---
Hi,

I had sent a reply to

  bug#10489: 24.0.92; dired-do-copy may create infinite directory hierarchy

after it had been closed, saying that there are still problems.
Unfortunately I got no answer.  Since it was an important bug: Can
please somebody have a look?  Thanks.

This was my message:



Hello again,

I'm afraid there are still problems.  I encountered these two:


1. Creating symlinks to parent directories doesn't work anymore.

E.g. if you have a directory "~/test/dir1/", open a dired for "~", go to
"test/", hit S, enter "~/test/dir1/" and hit RET.  You get the error

  dired-create-files: Cannot copy `/home/micha/test' into its
subdirectory `/home/micha/test/dir1/test'

But I only wanted a symlink...  This worked in Emacs 23.


2. Symlinks to parent directories (still) lead to ininite loops when
copying containing dir.

To use the above example: just create this symlink from outside Emacs,
so you get e.g. this:

  /home/micha/test/dir1:
  total used in directory 8,0K available 94267456
  drwxr-xr-x 2 micha users 4,0K Mär 22 02:32 .
  drwxr-xr-x 3 micha users 4,0K Mär 22 02:33 ..
  lrwxrwxrwx 1 micha users   22 Mär 22 02:32 test -> /home/micha/test


Now dired "~", and copy "~/test" to "~/test2".  You get a hierarchy

  ~/test2/dir1/test/dir1/test/...

again (the command terminates without error, btw).  And all these
are real directories, and _not_ symlinks!


I also wonder why dired doesn't copy the symlink itself, but copies the
target instead?  This seems to be the case also in other examples.  If I
copy a directory containing any symlinks with dired, copying always
copies the targets of the symlinks.


Michael
--8<---------------cut here---------------end--------------->8---

-- 
  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.