diff options
Diffstat (limited to 'lisp/progmodes/cc-bytecomp.el')
-rw-r--r-- | lisp/progmodes/cc-bytecomp.el | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/progmodes/cc-bytecomp.el b/lisp/progmodes/cc-bytecomp.el index 3f7caf3c2e9..89ea1dca3b0 100644 --- a/lisp/progmodes/cc-bytecomp.el +++ b/lisp/progmodes/cc-bytecomp.el @@ -97,6 +97,8 @@ ;; compilation can trigger loading (various `require' type forms) ;; and loading can trigger compilation (the package manager does ;; this). We walk the lisp stack if necessary. + ;; Never native compile to allow cc-defs.el:2345 hack. + (declare (speed -1)) (cond ((and load-in-progress (boundp 'byte-compile-dest-file) @@ -108,14 +110,15 @@ (memq (cadr elt) '(load require byte-compile-file byte-recompile-directory - batch-byte-compile))))) + batch-byte-compile batch-native-compile))))) (setq n (1+ n))) (cond ((memq (cadr elt) '(load require)) 'loading) ((memq (cadr elt) '(byte-compile-file byte-recompile-directory - batch-byte-compile)) + batch-byte-compile + batch-native-compile)) 'compiling) (t ; Can't happen. (message "cc-bytecomp-compiling-or-loading: System flags spuriously set") @@ -284,7 +287,9 @@ perhaps a `cc-bytecomp-restore-environment' is forgotten somewhere")) (cons cc-file cc-bytecomp-loaded-files)) (cc-bytecomp-debug-msg "cc-bytecomp-load: Loading %S" cc-file) - (load cc-file nil t t) + ;; native-comp may async compile also intalled el.gz + ;; files therefore we may have to load here other el.gz. + (load cc-part nil t) (cc-bytecomp-debug-msg "cc-bytecomp-load: Loaded %S" cc-file))) (cc-bytecomp-setup-environment) |