*** /tmp/ediff5666akT 2009-11-15 14:56:12.000000000 +0100 --- /home/albinus/src/emacs/lisp/arc-mode.el 2009-11-15 14:43:00.000000000 +0100 *************** *** 818,832 **** 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 (expand-file-name (if (if (fboundp 'msdos-long-file-names) (not (msdos-long-file-names))) "am" "arc-mode.") ! dir)) fullname))) (defun archive-maybe-copy (archive) --- 818,839 ---- 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)) ! (tmpfile (expand-file-name (if (if (fboundp 'msdos-long-file-names) (not (msdos-long-file-names))) "am" "arc-mode.") ! 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,853 **** 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)) --- 850,855 ----