diff options
Diffstat (limited to 'lisp')
| -rw-r--r-- | lisp/emacs-lisp/bytecomp.el | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el index acba9e2df5e..3c9c62eb23d 100644 --- a/lisp/emacs-lisp/bytecomp.el +++ b/lisp/emacs-lisp/bytecomp.el | |||
| @@ -1933,7 +1933,17 @@ The value is non-nil if there were no errors, nil if errors." | |||
| 1933 | ;; parallel bootstrap), it does not risk getting a | 1933 | ;; parallel bootstrap), it does not risk getting a |
| 1934 | ;; half-finished file. (Bug#4196) | 1934 | ;; half-finished file. (Bug#4196) |
| 1935 | (tempfile | 1935 | (tempfile |
| 1936 | (make-temp-file (file-name-nondirectory target-file))) | 1936 | ;; If target-file is relative and includes |
| 1937 | ;; leading directories, make-temp-file will | ||
| 1938 | ;; assume those leading directories exist | ||
| 1939 | ;; under temporary-file-directory, which might | ||
| 1940 | ;; not be true. So strip leading directories | ||
| 1941 | ;; from relative file names before calling | ||
| 1942 | ;; make-temp-file. | ||
| 1943 | (if (file-name-absolute-p target-file) | ||
| 1944 | (make-temp-file target-file) | ||
| 1945 | (make-temp-file | ||
| 1946 | (file-name-nondirectory target-file)))) | ||
| 1937 | (default-modes (default-file-modes)) | 1947 | (default-modes (default-file-modes)) |
| 1938 | (temp-modes (logand default-modes #o600)) | 1948 | (temp-modes (logand default-modes #o600)) |
| 1939 | (desired-modes (logand default-modes #o666)) | 1949 | (desired-modes (logand default-modes #o666)) |