emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/native-comp 271fb8a 5/5: * Fix `byte-compile-file' for native co


From: Andrea Corallo
Subject: feature/native-comp 271fb8a 5/5: * Fix `byte-compile-file' for native compilation (bug#45442)
Date: Sat, 26 Dec 2020 14:52:49 -0500 (EST)

branch: feature/native-comp
commit 271fb8a269aff924070b188f23355d0c368356dd
Author: Andrea Corallo <akrl@sdf.org>
Commit: Andrea Corallo <akrl@sdf.org>

    * Fix `byte-compile-file' for native compilation (bug#45442)
    
        * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Fix logic for
        native compilation.
---
 lisp/emacs-lisp/bytecomp.el | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)

diff --git a/lisp/emacs-lisp/bytecomp.el b/lisp/emacs-lisp/bytecomp.el
index 620f15c..9f5d121 100644
--- a/lisp/emacs-lisp/bytecomp.el
+++ b/lisp/emacs-lisp/bytecomp.el
@@ -2020,16 +2020,16 @@ See also `emacs-lisp-byte-compile-and-load'."
          (insert "\n")                 ; aaah, unix.
          (cond
           ((null target-file) nil)     ;We only wanted the warnings!
-          ((and (or (file-writable-p target-file)
-                    byte-native-compiling)
-                 ;; We attempt to create a temporary file in the
-                 ;; target directory, so the target directory must be
-                 ;; writable.
-                 (file-writable-p
-                  (file-name-directory
-                   ;; Need to expand in case TARGET-FILE doesn't
-                   ;; include a directory (Bug#45287).
-                   (expand-file-name target-file))))
+          ((or byte-native-compiling
+               (and (file-writable-p target-file)
+                    ;; We attempt to create a temporary file in the
+                    ;; target directory, so the target directory must be
+                    ;; writable.
+                    (file-writable-p
+                     (file-name-directory
+                      ;; Need to expand in case TARGET-FILE doesn't
+                      ;; include a directory (Bug#45287).
+                      (expand-file-name target-file)))))
            ;; We must disable any code conversion here.
            (let* ((coding-system-for-write 'no-conversion)
                   ;; Write to a tempfile so that if another Emacs
@@ -2037,7 +2037,8 @@ See also `emacs-lisp-byte-compile-and-load'."
                   ;; parallel bootstrap), it does not risk getting a
                   ;; half-finished file.  (Bug#4196)
                   (tempfile
-                   (make-temp-file (expand-file-name target-file)))
+                   (make-temp-file (when (file-writable-p target-file)
+                                      (expand-file-name target-file))))
                   (default-modes (default-file-modes))
                   (temp-modes (logand default-modes #o600))
                   (desired-modes (logand default-modes #o666))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]