1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-02-14 11:42:29 -08:00

* arc-mode.el (archive-maybe-copy): Move creation of directory ...

(archive-unique-fname): ... here.  (Bug#4929)
This commit is contained in:
Michael Albinus 2009-11-15 13:52:37 +00:00
parent f779e38554
commit f5fce4ec56
2 changed files with 16 additions and 9 deletions

View file

@ -1,3 +1,8 @@
2009-11-15 Michael Albinus <michael.albinus@gmx.de>
* arc-mode.el (archive-maybe-copy): Move creation of directory ...
(archive-unique-fname): ... here. (Bug#4929)
2009-11-15 Stefan Monnier <monnier@iro.umontreal.ca>
* help-mode.el (help-make-xrefs): Undo the last revert, and replace it

View file

@ -818,15 +818,22 @@ If FNAME is something our underlying filesystem can't grok, or if another
file by that name already exists in DIR, a unique new name is generated
using `make-temp-file', and the generated name is returned."
(let ((fullname (expand-file-name fname dir))
(alien (string-match file-name-invalid-regexp fname)))
(if (or alien (file-exists-p fullname))
(make-temp-file
(alien (string-match file-name-invalid-regexp fname))
(tmpfile
(expand-file-name
(if (if (fboundp 'msdos-long-file-names)
(not (msdos-long-file-names)))
"am"
"arc-mode.")
dir))
dir)))
(if (or alien (file-exists-p fullname))
(progn
;; 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 tmpfile) t)
(make-temp-file tmpfile))
fullname)))
(defun archive-maybe-copy (archive)
@ -843,11 +850,6 @@ using `make-temp-file', and the generated name is returned."
archive)))
(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))