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)
This commit is contained in:
Stefan Kangas 2025-02-15 00:40:52 +01:00
parent f05ce9e6bb
commit dc86f59e92
3 changed files with 6 additions and 10 deletions

View file

@ -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))

View file

@ -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))

View file

@ -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