From 3d7427ff59e901872fe7f34d1c28f77e48d86c03 Mon Sep 17 00:00:00 2001 From: Stefan Kangas Date: Thu, 19 Nov 2020 22:18:50 +0100 Subject: [PATCH 4/4] Make load argument of native-compile-async internal * lisp/emacs-lisp/comp.el (native--compile-async-internal): New defun extracted from native-compile-async. (native-compile-async): Remove load argument and use above new defun. * src/comp.c (maybe_defer_native_compilation): Use above new defun. (Bug#44676) --- lisp/emacs-lisp/comp.el | 18 ++++++++++++++++-- src/comp.c | 6 +++--- 2 files changed, 19 insertions(+), 5 deletions(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index e48a1cfc18..6cdfd60c04 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -3485,8 +3485,7 @@ batch-byte-native-compile-for-bootstrap (`(,tempfile . ,target-file) (rename-file tempfile target-file t)))))) -;;;###autoload -(defun native-compile-async (paths &optional recursively load) +(defun native--compile-async-internal (paths &optional recursively load) "Compile PATHS asynchronously. PATHS is one path or a list of paths to files or directories. @@ -3553,6 +3552,21 @@ native-compile-async (when (zerop (comp-async-runnings)) (comp-run-async-workers)))) +;;;###autoload +(defun native-compile-async (paths &optional recursively) + "Compile PATHS asynchronously. +PATHS is one path or a list of paths to files or directories. + +If optional argument RECURSIVELY is non-nil, recurse into +subdirectories of given directories. + +If optional argument LOAD is non-nil, request to load the file +after compiling. + +The variable `comp-async-jobs-number' specifies the number +of (commands) to run simultaneously. " + (native--compile-async-internal paths recursively)) + (provide 'comp) ;;; comp.el ends here diff --git a/src/comp.c b/src/comp.c index 5b0f58b1a4..8145db8b9f 100644 --- a/src/comp.c +++ b/src/comp.c @@ -4669,13 +4669,13 @@ maybe_defer_native_compilation (Lisp_Object function_name, /* Comp already loaded. */ if (!NILP (delayed_sources)) { - CALLN (Ffuncall, intern_c_string ("native-compile-async"), + CALLN (Ffuncall, intern_c_string ("native--compile-async-internal"), delayed_sources, Qnil, Qlate); delayed_sources = Qnil; } Fputhash (function_name, definition, Vcomp_deferred_pending_h); - CALLN (Ffuncall, intern_c_string ("native-compile-async"), src, Qnil, - Qlate); + CALLN (Ffuncall, intern_c_string ("native--compile-async-internal"), + src, Qnil, Qlate); } else { -- 2.29.2