emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r99308: * files.el (copy-directory):


From: Michael Albinus
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r99308: * files.el (copy-directory): Compute target for recursive
Date: Tue, 12 Jan 2010 22:59:05 +0100
User-agent: Bazaar (2.0.2)

------------------------------------------------------------
revno: 99308
committer: Michael Albinus <address@hidden>
branch nick: trunk
timestamp: Tue 2010-01-12 22:59:05 +0100
message:
  * files.el (copy-directory): Compute target for recursive
  directories with identical names.  (Bug#5343)
modified:
  lisp/ChangeLog
  lisp/files.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2010-01-12 05:11:05 +0000
+++ b/lisp/ChangeLog    2010-01-12 21:59:05 +0000
@@ -1,3 +1,8 @@
+2010-01-12  Michael Albinus  <address@hidden>
+
+       * files.el (copy-directory): Compute target for recursive
+       directories with identical names.  (Bug#5343)
+
 2010-01-12  Glenn Morris  <address@hidden>
 
        * mail/emacsbug.el (report-emacs-bug-pretest-address): Set

=== modified file 'lisp/files.el'
--- a/lisp/files.el     2010-01-04 05:35:18 +0000
+++ b/lisp/files.el     2010-01-12 21:59:05 +0000
@@ -4714,20 +4714,17 @@
       ;; Compute target name.
       (setq directory (directory-file-name (expand-file-name directory))
            newname   (directory-file-name (expand-file-name newname)))
-      (if (and (file-directory-p newname)
-              (not (string-equal (file-name-nondirectory directory)
-                                 (file-name-nondirectory newname))))
-         (setq newname
-               (expand-file-name (file-name-nondirectory directory) newname)))
       (if (not (file-directory-p newname)) (make-directory newname parents))
 
       ;; Copy recursively.
       (mapc
        (lambda (file)
-        (if (file-directory-p file)
-            (copy-directory file newname keep-time parents)
-          (copy-file file newname t keep-time)))
-       ;; We do not want to delete "." and "..".
+        (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))
 
       ;; Set directory attributes.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]