Fix new copy-directory bug with empty dirs
Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii (Bug#28483#34). This is another bug that I introduced in my recent copy-directory changes. * lisp/files.el (copy-directory): Work with empty subdirectories, too. * test/lisp/files-tests.el (files-tests--copy-directory): Test for this bug.
This commit is contained in:
parent
fbd15836af
commit
047f02f00f
2 changed files with 7 additions and 2 deletions
|
@ -5564,7 +5564,7 @@ into NEWNAME instead."
|
|||
(filetype (car (file-attributes file))))
|
||||
(cond
|
||||
((eq filetype t) ; Directory but not a symlink.
|
||||
(copy-directory file newname keep-time parents))
|
||||
(copy-directory file target keep-time parents t))
|
||||
((stringp filetype) ; Symbolic link
|
||||
(make-symbolic-link filetype target t))
|
||||
((copy-file file target t keep-time)))))
|
||||
|
|
|
@ -399,11 +399,16 @@ name (Bug#28412)."
|
|||
(dirname (file-name-as-directory dir))
|
||||
(source (concat dirname "source"))
|
||||
(dest (concat dirname "dest/new/directory/"))
|
||||
(file (concat (file-name-as-directory source) "file")))
|
||||
(file (concat (file-name-as-directory source) "file"))
|
||||
(source2 (concat dirname "source2"))
|
||||
(dest2 (concat dirname "dest/new2")))
|
||||
(make-directory source)
|
||||
(write-region "" nil file)
|
||||
(copy-directory source dest t t t)
|
||||
(should (file-exists-p (concat dest "file")))
|
||||
(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")))
|
||||
(delete-directory dir 'recursive)))
|
||||
|
||||
(provide 'files-tests)
|
||||
|
|
Loading…
Add table
Reference in a new issue