]> git.eshelyaron.com Git - emacs.git/commitdiff
Revert "Fix tempfile creation when byte compiling"
authorEli Zaretskii <eliz@gnu.org>
Sat, 20 Jan 2018 07:48:22 +0000 (09:48 +0200)
committerEli Zaretskii <eliz@gnu.org>
Sat, 20 Jan 2018 07:48:22 +0000 (09:48 +0200)
This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
* lisp/emacs-lisp/bytecomp.el (byte-compile-file):
Put tempfile next to the target file, as was the original intent.

lisp/emacs-lisp/bytecomp.el

index f6d259ba9da611d017e5daef2d543a8cfd0011e5..700a7c16b587ac3566b4aad6db884403cd0596d7 100644 (file)
@@ -1933,7 +1933,17 @@ The value is non-nil if there were no errors, nil if errors."
                       ;; parallel bootstrap), it does not risk getting a
                       ;; half-finished file.  (Bug#4196)
                       (tempfile
-                       (make-temp-file (expand-file-name target-file)))
+                        (if (file-name-absolute-p target-file)
+                            (make-temp-file 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.
+                          (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))