]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/cl-macs.el (cl-flet): Optimize a bit more
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 3 Dec 2022 00:15:46 +0000 (19:15 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Sat, 3 Dec 2022 00:15:46 +0000 (19:15 -0500)
Also optimize the case where we use `cl-flet` to introduce a local alias.

lisp/emacs-lisp/cl-macs.el

index 43a2ed920595ec03d73d4910784bd7037757b8c7..95e78ceab6a1c0b4c2e7a88ab5d839789ec34e75 100644 (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)