diff options
author | Eli Zaretskii <eliz@gnu.org> | 2006-02-03 11:05:29 +0000 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2006-02-03 11:05:29 +0000 |
commit | b3985039555557d9017f57e941de4393dbc7baf2 (patch) | |
tree | 80d23618e28cbd53693dd640f3df692ba69af1d8 /lisp/arc-mode.el | |
parent | 67e5330555fc862cdf4099e57d440729dab7066f (diff) | |
download | emacs-b3985039555557d9017f57e941de4393dbc7baf2.tar.gz emacs-b3985039555557d9017f57e941de4393dbc7baf2.tar.bz2 emacs-b3985039555557d9017f57e941de4393dbc7baf2.zip |
(archive-maybe-copy): Fix the way directories in the archive are created
in archive-tmpdir.
Diffstat (limited to 'lisp/arc-mode.el')
-rw-r--r-- | lisp/arc-mode.el | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/lisp/arc-mode.el b/lisp/arc-mode.el index c376070ea3b..2d97c319c88 100644 --- a/lisp/arc-mode.el +++ b/lisp/arc-mode.el @@ -800,17 +800,13 @@ using `make-temp-file', and the generated name is returned." (archive-name (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)) + ;; Maked sure all the leading directories in + ;; archive-local-name exist under archive-tmpdir, so that + ;; the directory structure recorded in the archive is + ;; reconstructed in the temporary directory. + (make-directory (file-name-directory archive-local-name) t) (save-restriction (widen) (write-region start (point-max) archive-local-name nil 'nomessage)) |