summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/startup.el16
1 files changed, 10 insertions, 6 deletions
diff --git a/lisp/startup.el b/lisp/startup.el
index d90e7a7d26e..05d829396d6 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -525,12 +525,16 @@ DIRS are relative."
(files &optional recursively load selector))
(defun startup--honor-delayed-native-compilations ()
"Honor pending delayed deferred native compilations."
- (when (and (native-comp-available-p)
- comp--delayed-sources)
- (require 'comp)
- (setq comp--loadable t)
- (native--compile-async comp--delayed-sources nil 'late)
- (setq comp--delayed-sources nil)))
+ (if (and (native-comp-available-p)
+ comp--delayed-sources)
+ (progn
+ ;; Require comp before setting `comp--loadable' to break
+ ;; circularity.
+ (require 'comp)
+ (setq comp--loadable t)
+ (native--compile-async comp--delayed-sources nil 'late)
+ (setq comp--delayed-sources nil))
+ (setq comp--loadable t)))
(defvar native-comp-eln-load-path)
(defun normal-top-level ()