]> git.eshelyaron.com Git - emacs.git/commitdiff
* Fix `comp-dry-run' effectiveness
authorAndrea Corallo <akrl@sdf.org>
Sun, 25 Oct 2020 09:41:56 +0000 (09:41 +0000)
committerAndrea Corallo <akrl@sdf.org>
Sun, 25 Oct 2020 10:56:18 +0000 (10:56 +0000)
* lisp/emacs-lisp/comp.el (comp-compile-ctxt-to-file): Remove
`comp-dry-run' guard.
(comp-final): And move it here so is effective for interactive
sessions and non.

lisp/emacs-lisp/comp.el

index 4967e8558b8b534eeaf230741181c469286ad233..a13b974b94de47fdbd5c034d3b0939633a7c391d 100644 (file)
@@ -2526,8 +2526,7 @@ Prepare every function for final compilation and drive the C back-end."
       ;; In case it's created in the meanwhile.
       (ignore-error 'file-already-exists
         (make-directory dir t)))
-    (unless comp-dry-run
-      (comp--compile-ctxt-to-file name))))
+    (comp--compile-ctxt-to-file name)))
 
 (defun comp-final1 ()
   (let (compile-result)
@@ -2540,44 +2539,45 @@ Prepare every function for final compilation and drive the C back-end."
 
 (defun comp-final (_)
   "Final pass driving the C back-end for code emission."
-  (if noninteractive
-      (comp-final1)
-    ;; Call comp-final1 in a child process.
-    (let* ((output (comp-ctxt-output comp-ctxt))
-           (print-escape-newlines t)
-           (print-length nil)
-           (print-level nil)
-           (print-quoted t)
-           (print-gensym t)
-           (print-circle t)
-           (expr `(progn
-                    (require 'comp)
-                    (setf comp-speed ,comp-speed
-                          comp-debug ,comp-debug
-                          comp-verbose ,comp-verbose
-                          comp-ctxt ,comp-ctxt
-                          comp-eln-load-path ',comp-eln-load-path
-                          comp-native-driver-options
-                          ',comp-native-driver-options
-                          load-path ',load-path)
-                    ,comp-async-env-modifier-form
-                    (message "Compiling %s..." ',output)
-                    (comp-final1)))
-           (temp-file (make-temp-file
-                       (concat "emacs-int-comp-"
-                               (file-name-base output) "-")
-                       nil ".el")))
-      (with-temp-file temp-file
-        (insert (prin1-to-string expr)))
-      (with-temp-buffer
-        (unwind-protect
-            (if (zerop
-                 (call-process (expand-file-name invocation-name
-                                                 invocation-directory)
-                               nil t t "--batch" "-l" temp-file))
-                output
-              (signal 'native-compiler-error (buffer-string)))
-          (comp-log-to-buffer (buffer-string)))))))
+  (unless comp-dry-run
+    (if noninteractive
+       (comp-final1)
+      ;; Call comp-final1 in a child process.
+      (let* ((output (comp-ctxt-output comp-ctxt))
+             (print-escape-newlines t)
+             (print-length nil)
+             (print-level nil)
+             (print-quoted t)
+             (print-gensym t)
+             (print-circle t)
+             (expr `(progn
+                      (require 'comp)
+                      (setf comp-speed ,comp-speed
+                            comp-debug ,comp-debug
+                            comp-verbose ,comp-verbose
+                            comp-ctxt ,comp-ctxt
+                            comp-eln-load-path ',comp-eln-load-path
+                            comp-native-driver-options
+                            ',comp-native-driver-options
+                            load-path ',load-path)
+                      ,comp-async-env-modifier-form
+                      (message "Compiling %s..." ',output)
+                      (comp-final1)))
+             (temp-file (make-temp-file
+                        (concat "emacs-int-comp-"
+                                (file-name-base output) "-")
+                        nil ".el")))
+       (with-temp-file temp-file
+          (insert (prin1-to-string expr)))
+       (with-temp-buffer
+          (unwind-protect
+              (if (zerop
+                   (call-process (expand-file-name invocation-name
+                                                   invocation-directory)
+                                nil t t "--batch" "-l" temp-file))
+                  output
+               (signal 'native-compiler-error (buffer-string)))
+            (comp-log-to-buffer (buffer-string))))))))
 
 \f
 ;;; Compiler type hints.