GNU bug report logs - #5982
23.1.96; Dired regression - recursive copies turn symlinks into regular files

Previous Next

Package: emacs;

Reported by: Sven Joachim <svenjoac <at> gmx.de>

Date: Tue, 20 Apr 2010 09:27:02 UTC

Severity: serious

Done: Chong Yidong <cyd <at> stupidchicken.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 5982 in the body.
You can then email your comments to 5982 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to owner <at> debbugs.gnu.org, svenjoac <at> gmx.de, bug-gnu-emacs <at> gnu.org:
bug#5982; Package emacs. (Tue, 20 Apr 2010 09:27:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Sven Joachim <svenjoac <at> gmx.de>:
New bug report received and forwarded. Copy sent to svenjoac <at> gmx.de, bug-gnu-emacs <at> gnu.org. (Tue, 20 Apr 2010 09:27:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Sven Joachim <svenjoac <at> gmx.de>
To: bug-gnu-emacs <at> gnu.org
Subject: 23.1.96;
	Dired regression - recursive copies turn symlinks into regular files
Date: Tue, 20 Apr 2010 11:26:00 +0200
Suppose we have the following directory in dired:

,----
|   /tmp/foo:
|   total used in directory 4 available 1674380
|   drwxr-xr-x  2 sven sven  80 Apr 20 11:12 .
|   drwxrwxrwt 14 root root 300 Apr 20 11:12 ..
|   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar
|   lrwxrwxrwx  1 sven sven   3 Apr 20 11:12 bar2 -> bar
`----

Now type ^ to cd to the parent directory, move to the "foo" line and
press "C /tmp/foo2 RET yes" (confirming the recursive copy and creating
/tmp/foo2) and switch to the new directory.  It looks like this:

,----
|   /tmp/foo2:
|   total used in directory 8 available 1674380
|   drwxr-xr-x  2 sven sven  80 Apr 20 11:12 .
|   drwxrwxrwt 14 root root 300 Apr 20 11:12 ..
|   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar
|   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar2
`----

This is a regression from Emacs 23.1 and 22.3 where the symlink would be
copied as such instead of turning into a regular file.


In GNU Emacs 23.1.96.1 (i486-pc-linux-gnu, GTK+ Version 2.20.0)
 of 2010-04-20 on turtle, modified by Debian
Windowing system distributor `The X.Org Foundation', version 11.0.10706901
configured using `configure  '--build' 'i486-linux-gnu' '--host' 'i486-linux-gnu' '--prefix=/usr' '--sharedstatedir=/var/lib' '--libexecdir=/usr/lib' '--localstatedir=/var' '--infodir=/usr/share/info' '--mandir=/usr/share/man' '--with-pop=yes' '--enable-locallisppath=/etc/emacs-snapshot:/etc/emacs:/usr/local/share/emacs/23.1.96/site-lisp:/usr/local/share/emacs/site-lisp:/usr/share/emacs/23.1.96/site-lisp:/usr/share/emacs/site-lisp' '--with-x=yes' '--with-x-toolkit=gtk' 'build_alias=i486-linux-gnu' 'host_alias=i486-linux-gnu' 'CFLAGS=-DDEBIAN -DSITELOAD_PURESIZE_EXTRA=5000 -g -O2' 'LDFLAGS=-g -Wl,--as-needed' 'CPPFLAGS=''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: C
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: de_DE.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default enable-multibyte-characters: t

Major mode: Group

Minor modes in effect:
  shell-dirtrack-mode: t
  gnus-undo-mode: t
  display-time-mode: t
  auto-image-file-mode: t
  show-paren-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  temp-buffer-resize-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<left> <left> <left> <left> <left> <left> <left> <left> 
m e s a / <return> <next> C-x 1 C-x d / t m <tab> <return> 
g U + f f o <left> <backspace> o <return> <return> 
<up> <return> <return> <escape> ! t o u c h SPC b a 
r <return> g <down> H C-g Y b a r 2 <return> g <up> 
<up> <return> C f o o 2 <return> y e s <return> <return> 
g <up> <return> g g <up> <return> <down> <down> <up> 
m m <up> <up> C . . <return> <up> <return> g <up> d 
d x y e s <return> g <down> <down> U <up> <return> 
U <down> <up> <down> <return> a b d <backspace> c d 
e SPC <backspace> <return> C-x C-s C-x k <return> g 
<up> <return> <down> D y s <backspace> e s <return> 
<up> <return> y g <up> H C-g C <up> <backspace> <backspace> 
<backspace> 2 <return> y e s <return> g g <up> <return> 
<down> <down> D y e s <return> <up> g Y b a r 2 <return> 
g <up> <up> <return> <down> D y e s <return> <up> <return> 
<up> <return> <return> C <up> <up> <return> y e s <return> 
<return> g <f7> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <down> <down> <down> 
<down> <down> <down> <down> <down> <return> M-x g n 
u s <return> <down> <down> <down> <down> <down> SPC 
<down> SPC q SPC q SPC <down> SPC <down> SPC <up> <up> 
SPC <down> SPC <down> SPC <down> SPC <up> SPC q SPC 
<down> <up> <up> <up> d SPC <down> SPC <down> SPC q 
SPC q SPC q SPC <down> SPC q SPC q SPC q SPC q SPC 
q M-x r e p o r t - e m <tab> b u <tab> <return>

Recent messages:
Fetching headers for gmane.linux.kernel...done
Retrieving newsgroup: gmane.comp.gnu.core-utils.bugs...
Fetching headers for gmane.comp.gnu.core-utils.bugs...done
Retrieving newsgroup: gmane.comp.gnu.grep.bugs...
Fetching headers for gmane.comp.gnu.grep.bugs...done
Retrieving newsgroup: gmane.comp.shells.zsh.user...
Fetching headers for gmane.comp.shells.zsh.user...done
Retrieving newsgroup: nntp+news.eternal-september.org:de.comp.editoren...
Opening nntp server on news.eternal-september.org...done
Fetching headers for nntp+news.eternal-september.org:de.comp.editoren...done

Load-path shadows:
~/elisp/po-mode hides /usr/share/emacs-snapshot/site-lisp/gettext/po-mode
~/elisp/debian-bts-control hides /usr/share/emacs-snapshot/site-lisp/dpkg-dev-el/debian-bts-control
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-fptex hides /usr/share/emacs/site-lisp/auctex/tex-fptex
/usr/share/emacs/23.1.96/site-lisp/auctex/tex hides /usr/share/emacs/site-lisp/auctex/tex
/usr/share/emacs/23.1.96/site-lisp/auctex/latex hides /usr/share/emacs/site-lisp/auctex/latex
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-fold hides /usr/share/emacs/site-lisp/auctex/tex-fold
/usr/share/emacs/23.1.96/site-lisp/auctex/texmathp hides /usr/share/emacs/site-lisp/auctex/texmathp
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-bar hides /usr/share/emacs/site-lisp/auctex/tex-bar
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-mik hides /usr/share/emacs/site-lisp/auctex/tex-mik
/usr/share/emacs/23.1.96/site-lisp/auctex/context hides /usr/share/emacs/site-lisp/auctex/context
/usr/share/emacs/23.1.96/site-lisp/auctex/context-nl hides /usr/share/emacs/site-lisp/auctex/context-nl
/usr/share/emacs/23.1.96/site-lisp/auctex/bib-cite hides /usr/share/emacs/site-lisp/auctex/bib-cite
/usr/share/emacs/23.1.96/site-lisp/auctex/multi-prompt hides /usr/share/emacs/site-lisp/auctex/multi-prompt
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-buf hides /usr/share/emacs/site-lisp/auctex/tex-buf
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-jp hides /usr/share/emacs/site-lisp/auctex/tex-jp
/usr/share/emacs/23.1.96/site-lisp/auctex/context-en hides /usr/share/emacs/site-lisp/auctex/context-en
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-font hides /usr/share/emacs/site-lisp/auctex/tex-font
/usr/share/emacs/23.1.96/site-lisp/auctex/toolbar-x hides /usr/share/emacs/site-lisp/auctex/toolbar-x
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-style hides /usr/share/emacs/site-lisp/auctex/tex-style
/usr/share/emacs/23.1.96/site-lisp/auctex/font-latex hides /usr/share/emacs/site-lisp/auctex/font-latex
/usr/share/emacs/23.1.96/site-lisp/auctex/tex-info hides /usr/share/emacs/site-lisp/auctex/tex-info
/usr/share/emacs-snapshot/site-lisp/bbdb/bbdb-pilot-jwz hides /usr/share/emacs/site-lisp/bbdb/bbdb-pilot-jwz
~/elisp/po-mode hides /usr/share/emacs/site-lisp/gettext/po-mode
/usr/share/emacs-snapshot/site-lisp/gettext/po-compat hides /usr/share/emacs/site-lisp/gettext/po-compat
/usr/share/emacs-snapshot/site-lisp/gnuplot-mode/gnuplot hides /usr/share/emacs/site-lisp/gnuplot-mode/gnuplot
/usr/share/emacs-snapshot/site-lisp/gnuplot-mode/info-look.20.3 hides /usr/share/emacs/site-lisp/gnuplot-mode/info-look.20.3
/usr/share/emacs-snapshot/site-lisp/gnuplot-mode/gnuplot-gui hides /usr/share/emacs/site-lisp/gnuplot-mode/gnuplot-gui
/usr/share/emacs/23.1.96/site-lisp/cmake/cmake-mode hides /usr/share/emacs/23.1.96/site-lisp/cmake-data/cmake-mode
/usr/share/emacs/23.1.96/site-lisp/cmake/cmake-mode hides /usr/share/emacs/site-lisp/cmake-mode
/usr/share/emacs/23.1.96/site-lisp/debian-startup hides /usr/share/emacs/site-lisp/debian-startup
/usr/share/emacs/23.1.96/site-lisp/magit hides /usr/share/emacs/site-lisp/magit
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-util hides /usr/share/emacs/site-lisp/w3m/w3m-util
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-dtree hides /usr/share/emacs/site-lisp/w3m/w3m-dtree
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-hist hides /usr/share/emacs/site-lisp/w3m/w3m-hist
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-weather hides /usr/share/emacs/site-lisp/w3m/w3m-weather
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-rss hides /usr/share/emacs/site-lisp/w3m/w3m-rss
/usr/share/emacs-snapshot/site-lisp/w3m/mew-w3m hides /usr/share/emacs/site-lisp/w3m/mew-w3m
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-filter hides /usr/share/emacs/site-lisp/w3m/w3m-filter
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-session hides /usr/share/emacs/site-lisp/w3m/w3m-session
/usr/share/emacs-snapshot/site-lisp/w3m/w3mhack hides /usr/share/emacs/site-lisp/w3m/w3mhack
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-search hides /usr/share/emacs/site-lisp/w3m/w3m-search
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-lnum hides /usr/share/emacs/site-lisp/w3m/w3m-lnum
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-proc hides /usr/share/emacs/site-lisp/w3m/w3m-proc
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-fb hides /usr/share/emacs/site-lisp/w3m/w3m-fb
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-favicon hides /usr/share/emacs/site-lisp/w3m/w3m-favicon
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-bug hides /usr/share/emacs/site-lisp/w3m/w3m-bug
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-perldoc hides /usr/share/emacs/site-lisp/w3m/w3m-perldoc
/usr/share/emacs-snapshot/site-lisp/w3m/mime-w3m hides /usr/share/emacs/site-lisp/w3m/mime-w3m
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-bookmark hides /usr/share/emacs/site-lisp/w3m/w3m-bookmark
/usr/share/emacs-snapshot/site-lisp/w3m/octet hides /usr/share/emacs/site-lisp/w3m/octet
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-ems hides /usr/share/emacs/site-lisp/w3m/w3m-ems
/usr/share/emacs-snapshot/site-lisp/w3m/w3m hides /usr/share/emacs/site-lisp/w3m/w3m
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-ccl hides /usr/share/emacs/site-lisp/w3m/w3m-ccl
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-mail hides /usr/share/emacs/site-lisp/w3m/w3m-mail
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-cookie hides /usr/share/emacs/site-lisp/w3m/w3m-cookie
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-image hides /usr/share/emacs/site-lisp/w3m/w3m-image
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-form hides /usr/share/emacs/site-lisp/w3m/w3m-form
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-antenna hides /usr/share/emacs/site-lisp/w3m/w3m-antenna
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-symbol hides /usr/share/emacs/site-lisp/w3m/w3m-symbol
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-tabmenu hides /usr/share/emacs/site-lisp/w3m/w3m-tabmenu
/usr/share/emacs-snapshot/site-lisp/w3m/w3m-namazu hides /usr/share/emacs/site-lisp/w3m/w3m-namazu

Features:
(shadow emacsbug compile multi-isearch woman man assoc compface gnus-fun
debian-bts-control ispell nndoc url-cache url-http tls url-gw url-auth
url url-proxy url-privacy url-expand url-methods url-history url-cookie
url-util url-handlers url-parse url-vars thingatpt shell comint ring
imenu debian-bug debian-changelog-mode add-log view ffap w3m-form
mule-util w3m-bookmark w3m-tabmenu w3m-session w3m doc-view image-mode
w3m-hist w3m-fb w3m-ems w3m-ccl ccl w3m-favicon w3m-image w3m-proc
w3m-util browse-url flow-fill jka-compr sort gnus-cite smiley ansi-color
mail-extr gnus-async gnus-bcklg gnus-ml disp-table parse-time timezone
byte-opt bytecomp byte-compile nnfolder nndraft nnmh auth-source
gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art
mm-uu mml2015 epg-config mm-view smime dig nntp gnus-cache gnus-sum nnoo
gnus-group gnus-undo nnmail mail-source format-spec gnus-start gnus-spec
gnus-int gnus-range message idna sendmail ecomplete rfc822 mml easymenu
mml-sec password-cache mm-decode mm-bodies mm-encode mailcap mail-parse
rfc2231 rfc2047 rfc2045 qp ietf-drums mailabbrev gmm-utils mailheader
canlock sha1 hex-util hashcash gnus-win gnus gnus-ems nnheader gnus-util
netrc time-date mail-utils mm-util mail-prsvr wid-edit kmacro bookmark
pp vc-git conf-mode newcomment tar-mode deb-view dired-x dired-aux dired
time server uniquify advice help-fns advice-preload po generic-x
regexp-opt image-file paren add-ons bitmap bitmap-ci poem poem-e20
poem-e20_3 pces pces-e20 pces-20 broken pcustom poe pym static apel-ver
product debian-el debian-el-loaddefs w3m-load emacs-goodies-el
emacs-goodies-custom emacs-goodies-loaddefs easy-mmode dpkg-dev-el
dpkg-dev-el-loaddefs bbdb-autoloads preview-latex tex-site auto-loads
tooltip ediff-hook vc-hooks lisp-float-type mwheel x-win x-dnd
font-setting tool-bar dnd fontset image fringe lisp-mode register page
menu-bar rfn-eshadow timer select scroll-bar mldrag mouse jit-lock
font-lock syntax facemenu font-core frame cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese hebrew
greek romanian slovak czech european ethiopic indian cyrillic chinese
case-table epa-hook jka-cmpr-hook help simple abbrev loaddefs button
minibuffer faces cus-face files text-properties overlay md5 base64
format env code-pages mule custom widget hashtable-print-readable
backquote make-network-process dbusbind font-render-setting gtk
x-toolkit x multi-tty emacs)





Severity set to 'serious' from 'normal' Request was from Chong Yidong <cyd <at> stupidchicken.com> to control <at> debbugs.gnu.org. (Tue, 20 Apr 2010 12:56:02 GMT) Full text and rfc822 format available.

Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5982; Package emacs. (Tue, 20 Apr 2010 13:50:03 GMT) Full text and rfc822 format available.

Message #10 received at 5982 <at> debbugs.gnu.org (full text, mbox):

From: Sven Joachim <svenjoac <at> gmx.de>
To: 5982 <at> debbugs.gnu.org
Subject: Re: bug#5982: 23.1.96;
	Dired regression - recursive copies turn symlinks into regular files
Date: Tue, 20 Apr 2010 15:49:33 +0200
On 2010-04-20 11:26 +0200, Sven Joachim wrote:

> Suppose we have the following directory in dired:
>
> ,----
> |   /tmp/foo:
> |   total used in directory 4 available 1674380
> |   drwxr-xr-x  2 sven sven  80 Apr 20 11:12 .
> |   drwxrwxrwt 14 root root 300 Apr 20 11:12 ..
> |   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar
> |   lrwxrwxrwx  1 sven sven   3 Apr 20 11:12 bar2 -> bar
> `----
>
> Now type ^ to cd to the parent directory, move to the "foo" line and
> press "C /tmp/foo2 RET yes" (confirming the recursive copy and creating
> /tmp/foo2) and switch to the new directory.  It looks like this:
>
> ,----
> |   /tmp/foo2:
> |   total used in directory 8 available 1674380
> |   drwxr-xr-x  2 sven sven  80 Apr 20 11:12 .
> |   drwxrwxrwt 14 root root 300 Apr 20 11:12 ..
> |   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar
> |   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar2
> `----
>
> This is a regression from Emacs 23.1 and 22.3 where the symlink would be
> copied as such instead of turning into a regular file.

Bisecting shows that this problem first occured in revision 97979 when
dired-copy-file-recursive started to use the new copy-directory command
(added in revision 97978).  The latter just calls copy-file for
non-directories, and copy-file has no option to preserve symlinks.

Sven




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5982; Package emacs. (Tue, 20 Apr 2010 14:55:02 GMT) Full text and rfc822 format available.

Message #13 received at 5982 <at> debbugs.gnu.org (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Michael Albinus  <michael.albinus <at> gmx.de>
Cc: 5982 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>
Subject: Re: bug#5982: 23.1.96;
	Dired regression - recursive copies turn symlinks into regular files
Date: Tue, 20 Apr 2010 10:54:27 -0400
Sven Joachim <svenjoac <at> gmx.de> writes:

> On 2010-04-20 11:26 +0200, Sven Joachim wrote:
>
>> Suppose we have the following directory in dired:
>>
>> ,----
>> |   /tmp/foo:
>> |   total used in directory 4 available 1674380
>> |   drwxr-xr-x  2 sven sven  80 Apr 20 11:12 .
>> |   drwxrwxrwt 14 root root 300 Apr 20 11:12 ..
>> |   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar
>> |   lrwxrwxrwx  1 sven sven   3 Apr 20 11:12 bar2 -> bar
>> `----
>>
>> Now type ^ to cd to the parent directory, move to the "foo" line and
>> press "C /tmp/foo2 RET yes" (confirming the recursive copy and creating
>> /tmp/foo2) and switch to the new directory.  It looks like this:
>>
>> ,----
>> |   /tmp/foo2:
>> |   total used in directory 8 available 1674380
>> |   drwxr-xr-x  2 sven sven  80 Apr 20 11:12 .
>> |   drwxrwxrwt 14 root root 300 Apr 20 11:12 ..
>> |   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar
>> |   -rw-r--r--  1 sven sven   6 Apr 20 11:09 bar2
>> `----
>>
>> This is a regression from Emacs 23.1 and 22.3 where the symlink would be
>> copied as such instead of turning into a regular file.
>
> Bisecting shows that this problem first occured in revision 97979 when
> dired-copy-file-recursive started to use the new copy-directory command
> (added in revision 97978).  The latter just calls copy-file for
> non-directories, and copy-file has no option to preserve symlinks.

The following patch would add symlink copying to `copy-directory'.
Michael, could you review the patch carefully, or suggest some other
solution?


*** lisp/files.el	2010-03-11 16:25:46 +0000
--- lisp/files.el	2010-04-20 14:50:35 +0000
***************
*** 4735,4744 ****
        (mapc
         (lambda (file)
  	 (let ((target (expand-file-name
! 			(file-name-nondirectory file) newname)))
! 	   (if (file-directory-p file)
! 	       (copy-directory file target keep-time parents)
! 	     (copy-file file target t keep-time))))
         ;; We do not want to copy "." and "..".
         (directory-files	directory 'full directory-files-no-dot-files-regexp))
  
--- 4735,4748 ----
        (mapc
         (lambda (file)
  	 (let ((target (expand-file-name
! 			(file-name-nondirectory file) newname))
! 	       (attrs (file-attributes file)))
! 	   (cond ((file-directory-p file)
! 		  (copy-directory file target keep-time parents))
! 		 ((stringp (car attrs)) ; Symbolic link
! 		  (make-symbolic-link (car attrs) target t))
! 		 (t
! 		  (copy-file file target t keep-time)))))
         ;; We do not want to copy "." and "..".
         (directory-files	directory 'full directory-files-no-dot-files-regexp))
  





Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5982; Package emacs. (Tue, 20 Apr 2010 15:12:02 GMT) Full text and rfc822 format available.

Message #16 received at 5982 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: "5982 <at> debbugs.gnu.org" <5982 <at> debbugs.gnu.org>,
	Sven Joachim <svenjoac <at> gmx.de>
Subject: Re: bug#5982: 23.1.96;
	Dired regression - recursive copies turn symlinks into regular files
Date: Tue, 20 Apr 2010 17:10:57 +0200
Chong Yidong <cyd <at> stupidchicken.com> writes:

> The following patch would add symlink copying to `copy-directory'.
> Michael, could you review the patch carefully, or suggest some other
> solution?

I've started already to check the problem. I'll review the patch later
tonight, let you know then (just being too busy @work).

Best regards, Michael.




Information forwarded to owner <at> debbugs.gnu.org, bug-gnu-emacs <at> gnu.org:
bug#5982; Package emacs. (Tue, 20 Apr 2010 22:18:02 GMT) Full text and rfc822 format available.

Message #19 received at 5982 <at> debbugs.gnu.org (full text, mbox):

From: Michael Albinus <michael.albinus <at> gmx.de>
To: Chong Yidong <cyd <at> stupidchicken.com>
Cc: 5982 <at> debbugs.gnu.org, Sven Joachim <svenjoac <at> gmx.de>
Subject: Re: bug#5982: 23.1.96;
	Dired regression - recursive copies turn symlinks into regular files
Date: Wed, 21 Apr 2010 00:16:55 +0200
Chong Yidong <cyd <at> stupidchicken.com> writes:

> The following patch would add symlink copying to `copy-directory'.
> Michael, could you review the patch carefully, or suggest some other
> solution?

Looks good. It works also for remote files.

Best regards, Michael.




Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. (Tue, 20 Apr 2010 22:30:03 GMT) Full text and rfc822 format available.

Notification sent to Sven Joachim <svenjoac <at> gmx.de>:
bug acknowledged by developer. (Tue, 20 Apr 2010 22:30:03 GMT) Full text and rfc822 format available.

Message #24 received at 5982-done <at> debbugs.gnu.org (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Michael Albinus <michael.albinus <at> gmx.de>
Cc: Sven Joachim <svenjoac <at> gmx.de>, 5982-done <at> debbugs.gnu.org
Subject: Re: bug#5982: 23.1.96;
	Dired regression - recursive copies turn symlinks into regular files
Date: Tue, 20 Apr 2010 18:29:03 -0400
Michael Albinus <michael.albinus <at> gmx.de> writes:

> Chong Yidong <cyd <at> stupidchicken.com> writes:
>
>> The following patch would add symlink copying to `copy-directory'.
>> Michael, could you review the patch carefully, or suggest some other
>> solution?
>
> Looks good. It works also for remote files.

Thanks for checking.  I've committed it to the branch.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 May 2010 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 15 years and 37 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.