1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 14:30:50 -08:00

Do a deep-copy when installing a package from a local package

* lisp/emacs-lisp/package.el (package-unpack, package-dir-info):
Call 'directory-files-recursively' with appropriate arguments.

(Bug#78017)
This commit is contained in:
Philip Kaludercic 2025-04-27 17:28:57 +02:00
parent 766adfa8a7
commit b81f937e60
No known key found for this signature in database

View file

@ -1007,8 +1007,7 @@ untar into a directory named DIR; otherwise, signal an error."
('dir ('dir
(make-directory pkg-dir t) (make-directory pkg-dir t)
(let ((file-list (let ((file-list
(directory-files (directory-files-recursively default-directory "" nil)))
default-directory 'full "\\`[^.].*\\.el\\'" 'nosort)))
(dolist (source-file file-list) (dolist (source-file file-list)
(let ((target-el-file (let ((target-el-file
(expand-file-name (file-name-nondirectory source-file) pkg-dir))) (expand-file-name (file-name-nondirectory source-file) pkg-dir)))
@ -1252,7 +1251,7 @@ The return result is a `package-desc'."
(with-temp-buffer (with-temp-buffer
(insert-file-contents desc-file) (insert-file-contents desc-file)
(package--read-pkg-desc 'dir)) (package--read-pkg-desc 'dir))
(let ((files (directory-files default-directory t "\\.el\\'" t)) (let ((files (directory-files-recursively default-directory "\\.el\\'"))
info) info)
(while files (while files
(with-temp-buffer (with-temp-buffer