From bab36619fb26059e3ac7c794738be4314c681e08 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Sat, 25 Apr 2020 14:45:21 +0100 Subject: [PATCH] Fix deferred-compilation for double compilation (bug#40838). * lisp/emacs-lisp/comp.el (native-compile-async): Prevent double compilation (bug#40838). --- lisp/emacs-lisp/comp.el | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 1369dd115dd..42c40aaa43a 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2327,7 +2327,9 @@ LOAD can be nil t or 'late." nil "Trying to queue %s with LOAD %s but this is already \ queued with LOAD %" file load (cdr entry)) - (setf comp-files-queue (append comp-files-queue `((,file . ,load)))))) + ;; Make sure we are not already compiling `file' (bug#40838). + (unless (gethash file comp-async-compilations) + (setf comp-files-queue (append comp-files-queue `((,file . ,load))))))) (when (zerop (comp-async-runnings)) (comp-run-async-workers) (message "Compilation started.")))) -- 2.39.5