summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp-run.el
diff options
context:
space:
mode:
authorAndrea Corallo <acorallo@gnu.org>2023-10-25 17:58:43 +0200
committerAndrea Corallo <acorallo@gnu.org>2023-11-09 12:34:22 +0100
commit4bb186356734cce2d9c5f1d506deb0da1bb40770 (patch)
treecf2e5826a1e25d1c53d544be196aa17b77c540e6 /lisp/emacs-lisp/comp-run.el
parente6a955d2426875188f4ffdbc90d4861b917fd7bd (diff)
downloademacs-4bb186356734cce2d9c5f1d506deb0da1bb40770.tar.gz
emacs-4bb186356734cce2d9c5f1d506deb0da1bb40770.tar.bz2
emacs-4bb186356734cce2d9c5f1d506deb0da1bb40770.zip
comp: make comp-run don't require cl-lib at runtime
* lisp/emacs-lisp/comp-run.el (cl-lib): Require it only at compile time. (native-compile-async-skip-p): Use 'seq-some'. (native--compile-async): Don't use 'cl-substitute'.
Diffstat (limited to 'lisp/emacs-lisp/comp-run.el')
-rw-r--r--lisp/emacs-lisp/comp-run.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/emacs-lisp/comp-run.el b/lisp/emacs-lisp/comp-run.el
index bf54c64dd68..9ea770135c1 100644
--- a/lisp/emacs-lisp/comp-run.el
+++ b/lisp/emacs-lisp/comp-run.el
@@ -31,7 +31,7 @@
;;; Code:
-(require 'cl-lib)
+(eval-when-compile (require 'cl-lib))
(require 'warnings)
(defgroup comp-run nil
@@ -209,7 +209,7 @@ LOAD and SELECTOR work as described in `native--compile-async'."
;; any of the regexps in
;; `native-comp-jit-compilation-deny-list' matches.
(and (eq load 'late)
- (cl-some (lambda (re)
+ (seq-some (lambda (re)
(string-match-p re file))
native-comp-jit-compilation-deny-list))))
@@ -433,14 +433,18 @@ bytecode definition was not changed in the meantime)."
(t (signal 'native-compiler-error
(list "Not a file nor directory" file-or-dir)))))
(dolist (file file-list)
- (if-let ((entry (cl-find file comp-files-queue :key #'car :test #'string=)))
+ (if-let ((entry (seq-find (lambda (x) (string= file (car x))) comp-files-queue)))
;; Most likely the byte-compiler has requested a deferred
;; compilation, so update `comp-files-queue' to reflect that.
(unless (or (null load)
(eq load (cdr entry)))
(setf comp-files-queue
- (cl-substitute (cons file load) (car entry) comp-files-queue
- :key #'car :test #'string=)))
+ (cl-loop for i in comp-files-queue
+ with old = (car entry)
+ if (string= (car i) old)
+ collect (cons file load)
+ else
+ collect i)))
(unless (native-compile-async-skip-p file load selector)
(let* ((out-filename (comp-el-to-eln-filename file))