* lisp/emacs-lisp/cl-macs.el (cl-flet): Optimize a bit more

Also optimize the case where we use `cl-flet` to introduce a local alias.
This commit is contained in:
Stefan Monnier 2022-12-02 19:15:46 -05:00
parent 64044f545a
commit 73d169c7db

View file

@ -2052,7 +2052,8 @@ info node `(cl) Function Bindings' for details.
(dolist (binding bindings)
(let ((var (make-symbol (format "--cl-%s--" (car binding))))
(args-and-body (cdr binding)))
(if (and (= (length args-and-body) 1) (symbolp (car args-and-body)))
(if (and (= (length args-and-body) 1)
(macroexp-copyable-p (car args-and-body)))
;; Optimize (cl-flet ((fun var)) body).
(setq var (car args-and-body))
(push (list var (if (= (length args-and-body) 1)