summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-07-08 14:23:09 +0100
committerAndrea Corallo <akrl@sdf.org>2020-07-09 16:23:34 +0100
commit9aaca828fc6a20d99e72c98e79a3b789827b25e1 (patch)
tree6ad48c0db0ada26ff6068d6af3251dfff95bf34a /lisp/emacs-lisp/comp.el
parent92e744d787551e339e6ddb4244008820e72b06ed (diff)
downloademacs-9aaca828fc6a20d99e72c98e79a3b789827b25e1.tar.gz
emacs-9aaca828fc6a20d99e72c98e79a3b789827b25e1.tar.bz2
emacs-9aaca828fc6a20d99e72c98e79a3b789827b25e1.zip
* Add `comp-disabled-passes'
* lisp/emacs-lisp/comp.el (comp-disabled-passes): New special variable. (native-compile): Make use of `comp-disabled-passes'.
Diffstat (limited to 'lisp/emacs-lisp/comp.el')
-rw-r--r--lisp/emacs-lisp/comp.el17
1 files changed, 11 insertions, 6 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 5ff2e098371..caa6613b893 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -173,6 +173,10 @@ Can be one of: 'd-default', 'd-impure' or 'd-ephemeral'. See `comp-ctxt'.")
comp-final)
"Passes to be executed in order.")
+(defvar comp-disabled-passes '()
+ "List of disabled passes.
+For internal use only by the testsuite.")
+
(defvar comp-post-pass-hooks ()
"Alist PASS FUNCTIONS.
Each function in FUNCTIONS is run after PASS.
@@ -2684,12 +2688,13 @@ Return the compilation unit file name."
(comp-log "\n \n" 1)
(condition-case err
(mapc (lambda (pass)
- (comp-log (format "(%s) Running pass %s:\n"
- function-or-file pass)
- 2)
- (setf data (funcall pass data))
- (cl-loop for f in (alist-get pass comp-post-pass-hooks)
- do (funcall f data)))
+ (unless (memq pass comp-disabled-passes)
+ (comp-log (format "(%s) Running pass %s:\n"
+ function-or-file pass)
+ 2)
+ (setf data (funcall pass data))
+ (cl-loop for f in (alist-get pass comp-post-pass-hooks)
+ do (funcall f data))))
comp-passes)
(native-compiler-error
;; Add source input.