summaryrefslogtreecommitdiff
path: root/lisp/arc-mode.el
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2010-02-12 21:35:45 +0200
committerJuri Linkov <juri@jurta.org>2010-02-12 21:35:45 +0200
commitf5952338f46ba62c42054a64c4b8b75ec6dfb51f (patch)
treed611f498ab6ceafaab0b21d150b5328bbe46efaa /lisp/arc-mode.el
parent918fe50f3084a74dc88b0f019347bd52cc812a33 (diff)
downloademacs-f5952338f46ba62c42054a64c4b8b75ec6dfb51f.tar.gz
emacs-f5952338f46ba62c42054a64c4b8b75ec6dfb51f.tar.bz2
emacs-f5952338f46ba62c42054a64c4b8b75ec6dfb51f.zip
* arc-mode.el (archive-unique-fname): Make directories for nested
archives. (Bug#5540)
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r--lisp/arc-mode.el5
1 files changed, 5 insertions, 0 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el
index ee32d893654..5942e920a65 100644
--- a/lisp/arc-mode.el
+++ b/lisp/arc-mode.el
@@ -834,6 +834,11 @@ using `make-temp-file', and the generated name is returned."
;; reconstructed in the temporary directory.
(make-directory (file-name-directory tmpfile) t)
(make-temp-file tmpfile))
+ ;; Maked sure all the leading directories in `fullname' exist
+ ;; under archive-tmpdir. This is necessary for nested archives
+ ;; (`archive-extract' sets `archive-remote' to t in case
+ ;; an archive occurs inside another archive).
+ (make-directory (file-name-directory fullname) t)
fullname)))
(defun archive-maybe-copy (archive)