From 40f655e0505d954e507ead5f5bda7dc7113adc06 Mon Sep 17 00:00:00 2001 From: Andrea Corallo Date: Sat, 9 May 2020 13:52:30 +0100 Subject: [PATCH] * Add 'comp-deferred-compilation-black-list' customize * lisp/emacs-lisp/comp.el (comp-deferred-compilation-black-list): New customize. (native-compile-async): Make use of 'comp-deferred-compilation-black-list'. --- lisp/emacs-lisp/comp.el | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 616410375ed..e6a43b85afb 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -84,6 +84,13 @@ This intended for debugging the compiler itself. :type 'boolean :group 'comp) +(defcustom comp-deferred-compilation-black-list + '() + "List of regexps to exclude files from deferred native compilation. +Skip if any is matching." + :type 'list + :group 'comp) + (defcustom comp-bootstrap-black-list '("^leim/") "List of regexps to exclude files from native compilation during bootstrap. @@ -2369,7 +2376,12 @@ LOAD can be nil t or 'late." queued with LOAD %" file load (cdr entry)) ;; Make sure we are not already compiling `file' (bug#40838). - (unless (gethash file comp-async-compilations) + (unless (and (gethash file comp-async-compilations) + ;; Exclude some file from deferred compilation if + ;; `comp-deferred-compilation-black-list' says so. + (or (not (eq load 'late)) + (cl-notany (lambda (re) (string-match re file)) + comp-deferred-compilation-black-list))) (let ((out-dir (comp-output-directory file)) (out-filename (comp-output-filename file))) (if (or (file-writable-p out-filename) -- 2.39.5