1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-06 06:20:55 -08:00

Declare caar, cadr, etc. as side-effect-free

* lisp/subr.el (caar, cadr, cdar, cddr, caaar, caadr, cadar, caddr)
(cdaar, cdadr, cddar, cdddr, caaaar, caaadr, caadar, caaddr, cadaar)
(cadadr, caddar, cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar)
(cddadr, cdddar, cddddr): Declare side-effect-free.
* lisp/emacs-lisp/cl-macs.el: Remove redundant declarations of
compatibility aliases for the above functions as side-effect-free.
This commit is contained in:
Stefan Kangas 2025-02-12 18:05:11 +01:00
parent 31381f982d
commit f478d2d1b9
2 changed files with 57 additions and 37 deletions

View file

@ -3731,15 +3731,7 @@ macro that returns its `&whole' argument."
(dolist (y '(cl-first cl-second cl-third cl-fourth
cl-fifth cl-sixth cl-seventh
cl-eighth cl-ninth cl-tenth
cl-rest cl-endp cl-plusp cl-minusp
cl-caaar cl-caadr cl-cadar
cl-caddr cl-cdaar cl-cdadr
cl-cddar cl-cdddr cl-caaaar
cl-caaadr cl-caadar cl-caaddr
cl-cadaar cl-cadadr cl-caddar
cl-cadddr cl-cdaaar cl-cdaadr
cl-cdadar cl-cdaddr cl-cddaar
cl-cddadr cl-cdddar cl-cddddr))
cl-rest cl-endp cl-plusp cl-minusp))
(put y 'side-effect-free t))
;;; Things that are inline.