mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-23 04:53:12 -08:00
Fix copy-directory bug when dest dir exists
* lisp/files.el (copy-directory): Set ‘follow’ depending on whether we made the directory, not based on a guess that is sometimes wrong. When NEWNAME is a directory name and COPY-CONTENTS is nil, do not object merely because the adjusted NEWNAME is already a directory. (Bug#58919). * test/lisp/files-tests.el (files-tests-copy-directory): Test for the bug.
This commit is contained in:
parent
bef1edc9ca
commit
44c83b239d
2 changed files with 20 additions and 8 deletions
|
|
@ -1346,7 +1346,9 @@ name (Bug#28412)."
|
|||
(dest (concat dirname "dest/new/directory/"))
|
||||
(file (concat (file-name-as-directory source) "file"))
|
||||
(source2 (concat dirname "source2"))
|
||||
(dest2 (concat dirname "dest/new2")))
|
||||
(dest2 (concat dirname "dest/new2"))
|
||||
(source3 (concat dirname "source3/d"))
|
||||
(dest3 (concat dirname "dest3/d")))
|
||||
(make-directory source)
|
||||
(write-region "" nil file)
|
||||
(copy-directory source dest t t t)
|
||||
|
|
@ -1354,6 +1356,11 @@ name (Bug#28412)."
|
|||
(make-directory (concat (file-name-as-directory source2) "a") t)
|
||||
(copy-directory source2 dest2)
|
||||
(should (file-directory-p (concat (file-name-as-directory dest2) "a")))
|
||||
(make-directory source3 t)
|
||||
(write-region "x\n" nil (concat (file-name-as-directory source3) "file"))
|
||||
(make-directory dest3 t)
|
||||
(write-region "y\n" nil (concat (file-name-as-directory dest3) "file"))
|
||||
(copy-directory source3 (file-name-directory dest3) t)
|
||||
(delete-directory dir 'recursive))))
|
||||
|
||||
(ert-deftest files-tests-abbreviate-file-name-homedir ()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue