Fix eln files not being generated when native-comp-async runs
authorAndrea Corallo <akrl@sdf.org>
Wed, 19 Oct 2022 20:08:41 +0000 (22:08 +0200)
committerSean Whitton <spwhitton@spwhitton.name>
Tue, 8 Nov 2022 19:25:51 +0000 (12:25 -0700)
This upstream patch has been incorporated to fix the problem:

  * Fix async native compilation (bug#58637)

  * lisp/emacs-lisp/comp.el (comp--native-compile): Fix gate condition.
  (comp-run-async-workers): Add assetion.

Origin: upstream, commit: 56c63ca21b3e5e2d0bb05d3897ea287a754c5b29
Bug-Debian: https://bugs.debian.org/1023440
Forwarded: not-needed

lisp/emacs-lisp/comp.el

index fb0d3805da40085f017401fd7a7b457c3a17c624..8a3429c9b6753b96abd5c5d9bbfaa0fae7f5b596 100644 (file)
@@ -3916,6 +3916,7 @@ processes from `comp-async-compilations'"
   "Start compiling files from `comp-files-queue' asynchronously.
 When compilation is finished, run `native-comp-async-all-done-hook' and
 display a message."
+  (cl-assert (null comp-no-spawn))
   (if (or comp-files-queue
           (> (comp-async-runnings) 0))
       (unless (>= (comp-async-runnings) (comp-effective-async-max-jobs))
@@ -4022,7 +4023,7 @@ the deferred compilation mechanism."
               (stringp function-or-file))
     (signal 'native-compiler-error
             (list "Not a function symbol or file" function-or-file)))
-  (unless comp-no-spawn
+  (when (or (null comp-no-spawn) comp-async-compilation)
     (catch 'no-native-compile
       (let* ((data function-or-file)
              (comp-native-compiling t)