projects
/
emacs.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
64044f5
)
* lisp/emacs-lisp/cl-macs.el (cl-flet): Optimize a bit more
author
Stefan Monnier
<monnier@iro.umontreal.ca>
Sat, 3 Dec 2022 00:15:46 +0000
(19:15 -0500)
committer
Stefan 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
patch
|
blob
|
history
diff --git
a/lisp/emacs-lisp/cl-macs.el
b/lisp/emacs-lisp/cl-macs.el
index 43a2ed920595ec03d73d4910784bd7037757b8c7..95e78ceab6a1c0b4c2e7a88ab5d839789ec34e75 100644
(file)
--- a/
lisp/emacs-lisp/cl-macs.el
+++ b/
lisp/emacs-lisp/cl-macs.el
@@
-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)