;; parallel bootstrap), it does not risk getting a
;; half-finished file. (Bug#4196)
(tempfile
- (make-temp-file (file-name-nondirectory target-file)))
+ ;; If target-file is relative and includes
+ ;; leading directories, make-temp-file will
+ ;; assume those leading directories exist
+ ;; under temporary-file-directory, which might
+ ;; not be true. So strip leading directories
+ ;; from relative file names before calling
+ ;; make-temp-file.
+ (if (file-name-absolute-p target-file)
+ (make-temp-file target-file)
+ (make-temp-file
+ (file-name-nondirectory target-file))))
(default-modes (default-file-modes))
(temp-modes (logand default-modes #o600))
(desired-modes (logand default-modes #o666))