From 246d68bd2a5468bd428a0406402e7ad2b3005314 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Tue, 22 Oct 2024 17:46:44 +0200 Subject: Add 'native-compile-directory' (bug#73303) * lisp/emacs-lisp/comp.el (native-compile-directory): New function. * etc/NEWS (native-compile-directory): Add to NEWS. --- lisp/emacs-lisp/comp.el | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'lisp/emacs-lisp') diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index fc87014202c..8866f47aa66 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -3662,6 +3662,17 @@ the compilation was successful return the compiled function." (or native-comp-function string)))) (comp--native-compile function-or-file nil output)) +;;;###autoload +(defun native-compile-directory (directory) + "Native compile if necessary all the .el files present in DIRECTORY. +Each .el file is native compiled if the corresponding .eln file is not +found inside the current `native-comp-eln-load-path'. The search within +DIRECTORY is perfomed recursively." + (mapc (lambda (file) + (unless (comp-lookup-eln file) + (native-compile file))) + (directory-files-recursively directory ".+\\.el\\'"))) + ;;;###autoload (defun batch-native-compile (&optional for-tarball) "Perform batch native compilation of remaining command-line arguments. -- cgit v1.2.3