Subject: bug#5982: closed (Re: bug#5982: 23.1.96; Dired regression - recursive copies turn symlinks into regular files)

From: [email-masked] (GNU bug Tracking System)
Date: Tue, 20 Apr 2010 22:30:03 +0000

Your bug report

#5982: 23.1.96; Dired regression - recursive copies turn symlinks into regular files

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
5982: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=5982
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#5982: 23.1.96; Dired regression - recursive copies turn symlinks into regular files
From: Chong Yidong <[email-masked]>
To: Michael Albinus <[email-masked]>
Cc: Sven Joachim <[email-masked]>, [email-masked]
Date: Tue, 20 Apr 2010 18:29:03 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

Michael Albinus <[email-masked]> writes:

> Chong Yidong <[email-masked]> 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.

Subject: 23.1.96; Dired regression - recursive copies turn symlinks into regular files
From: Sven Joachim <[email-masked]>
To: [email-masked]
Date: Tue, 20 Apr 2010 11:26:00 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

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)