aboutsummaryrefslogtreecommitdiffstats
path: root/lisp/arc-mode.el
diff options
context:
space:
mode:
authorEli Zaretskii <[email protected]>2004-04-27 12:45:26 +0000
committerEli Zaretskii <[email protected]>2004-04-27 12:45:26 +0000
commitaecb322b96b1367bc19727118c11321b8b642056 (patch)
treea14a11f0f3676316633f3834c5e89c41510e0afa /lisp/arc-mode.el
parentc4c07982c1a6b3ddd9339ecdb9af1876f70d8792 (diff)
(archive-maybe-copy): If ARCHIVE includes leading
directories, make sure they exist under archive-tmpdir.
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r--lisp/arc-mode.el8
1 files changed, 8 insertions, 0 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index 7ac7a402c3..2cb20b4545 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -815,6 +815,14 @@ using `make-temp-file', and the generated name is returned."
(or (and archive-subfile-mode (aref archive-subfile-mode 0))
archive)))
(make-directory archive-tmpdir t)
+ ;; If ARCHIVE includes leading directories, make sure they
+ ;; exist under archive-tmpdir.
+ (let ((arch-dir (file-name-directory archive)))
+ (if arch-dir
+ (make-directory (concat
+ (file-name-as-directory archive-tmpdir)
+ arch-dir)
+ t)))
(setq archive-local-name
(archive-unique-fname archive-name archive-tmpdir))
(save-restriction