summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2025-02-15 00:40:52 +0100
committerStefan Kangas <stefankangas@gmail.com>2025-02-15 00:40:52 +0100
commitdc86f59e926f618d4e3568a332b42ea0647a08ba (patch)
treece125d5cb7e7a6fa95bc09c9c843601dc3b549a8 /lisp/emacs-lisp
parentf05ce9e6bbe7202060580c122e033f5e4ac98e90 (diff)
downloademacs-dc86f59e926f618d4e3568a332b42ea0647a08ba.tar.gz
emacs-dc86f59e926f618d4e3568a332b42ea0647a08ba.tar.bz2
emacs-dc86f59e926f618d4e3568a332b42ea0647a08ba.zip
Prefer `(defsubst A ...)` to `(cl-proclaim (inline A))`
* lisp/emacs-lisp/cl-macs.el: Remove cl-proclaim... * lisp/emacs-lisp/cl-extra.el (cl-map, cl-notany, cl-notevery) (cl-revappend, cl-nreconc): * lisp/emacs-lisp/cl-lib.el (cl-acons): ...and use defsubst instead. (Bug#76294)
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-extra.el10
-rw-r--r--lisp/emacs-lisp/cl-lib.el2
-rw-r--r--lisp/emacs-lisp/cl-macs.el4
3 files changed, 6 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
index 62e12217e0d..09470457d93 100644
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -127,7 +127,7 @@ strings case-insensitively."
(and acc (nreverse cl-res)))))
;;;###autoload
-(defun cl-map (cl-type cl-func cl-seq &rest cl-rest)
+(defsubst cl-map (cl-type cl-func cl-seq &rest cl-rest)
"Map a FUNCTION across one or more SEQUENCEs, returning a sequence.
TYPE is the sequence type to return.
\n(fn TYPE FUNCTION SEQUENCE...)"
@@ -239,14 +239,14 @@ non-nil value.
(null cl-seq)))
;;;###autoload
-(defun cl-notany (cl-pred cl-seq &rest cl-rest)
+(defsubst cl-notany (cl-pred cl-seq &rest cl-rest)
"Return true if PREDICATE is false of every element of SEQ or SEQs.
\n(fn PREDICATE SEQ...)"
(declare (important-return-value t))
(not (apply #'cl-some cl-pred cl-seq cl-rest)))
;;;###autoload
-(defun cl-notevery (cl-pred cl-seq &rest cl-rest)
+(defsubst cl-notevery (cl-pred cl-seq &rest cl-rest)
"Return true if PREDICATE is false of some element of SEQ or SEQs.
\n(fn PREDICATE SEQ...)"
(declare (important-return-value t))
@@ -589,13 +589,13 @@ too large if positive or too small if negative)."
;;; List functions.
;;;###autoload
-(defun cl-revappend (x y)
+(defsubst cl-revappend (x y)
"Equivalent to (append (reverse X) Y)."
(declare (side-effect-free t))
(nconc (reverse x) y))
;;;###autoload
-(defun cl-nreconc (x y)
+(defsubst cl-nreconc (x y)
"Equivalent to (nconc (nreverse X) Y)."
(declare (important-return-value t))
(nconc (nreverse x) y))
diff --git a/lisp/emacs-lisp/cl-lib.el b/lisp/emacs-lisp/cl-lib.el
index 883a13e3244..dba01b28325 100644
--- a/lisp/emacs-lisp/cl-lib.el
+++ b/lisp/emacs-lisp/cl-lib.el
@@ -535,7 +535,7 @@ Return a copy of TREE with all elements `eql' to OLD replaced by NEW.
cl-tree (cons a d))))
(t cl-tree)))
-(defun cl-acons (key value alist)
+(defsubst cl-acons (key value alist)
"Add KEY and VALUE to ALIST.
Return a new list with (cons KEY VALUE) as car and ALIST as cdr."
(declare (side-effect-free error-free))
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index 44fe67b6c85..caaffcf19be 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -3725,10 +3725,6 @@ macro that returns its `&whole' argument."
`(cl-getf (symbol-plist ,sym) ,prop ,def)
`(get ,sym ,prop)))
-;;; Things that are inline.
-(cl-proclaim '(inline cl-acons cl-map cl-notany cl-notevery cl-revappend
- cl-nreconc))
-
;;; Types and assertions.
;;;###autoload