mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-16 09:14:18 +00:00
Ensure that directories exist when copying files from archive
* lisp/arc-mode.el (archive-copy-file): If the directory the file is being extracted to does not exist, then create it (bug#56603).
This commit is contained in:
parent
e51850297f
commit
407ee71c06
1 changed files with 6 additions and 3 deletions
|
|
@ -1073,13 +1073,16 @@ NEW-NAME."
|
|||
(user-error "Can't copy a list of files to a single file"))
|
||||
(save-excursion
|
||||
(dolist (file files)
|
||||
(let ((write-to (if (file-directory-p new-name)
|
||||
(expand-file-name file new-name)
|
||||
new-name)))
|
||||
(let* ((write-to (if (file-directory-p new-name)
|
||||
(expand-file-name file new-name)
|
||||
new-name))
|
||||
(write-to-dir (file-name-directory write-to)))
|
||||
(when (and (file-exists-p write-to)
|
||||
(not (yes-or-no-p (format "%s already exists; overwrite? "
|
||||
write-to))))
|
||||
(user-error "Not overwriting %s" write-to))
|
||||
(unless (file-directory-p write-to-dir)
|
||||
(make-directory write-to-dir t))
|
||||
(archive-goto-file file)
|
||||
(let* ((descr (archive-get-descr))
|
||||
(archive (buffer-file-name))
|
||||
|
|
|
|||
Loading…
Reference in a new issue