summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/cl-extra.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2005-12-19 02:17:38 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2005-12-19 02:17:38 +0000
commit61f03d6f8f37028c704c9129e82ecfd00bb42f4a (patch)
treed3105ffa4280280458fe8a6b2730f635ff9b2910 /lisp/emacs-lisp/cl-extra.el
parent0b0d984ecb71fc74a8bcb60c7cbb9b7b2455562b (diff)
downloademacs-61f03d6f8f37028c704c9129e82ecfd00bb42f4a.tar.gz
(cl-macroexpand-all): Fix code-walk for
lexical-let when encountering ((lambda (...) ...) ...).
Diffstat (limited to 'lisp/emacs-lisp/cl-extra.el')
-rw-r--r--lisp/emacs-lisp/cl-extra.el5
1 files changed, 5 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/cl-extra.el b/lisp/emacs-lisp/cl-extra.el
index 4ac1a72b0d7..c5a006912df 100644
--- a/lisp/emacs-lisp/cl-extra.el
+++ b/lisp/emacs-lisp/cl-extra.el
@@ -743,6 +743,11 @@ This also does some trivial optimizations to make the form prettier."
(let* ((args (cl-macroexpand-body (cdr form) env)) (p args))
(while (and p (symbolp (car p))) (setq p (cddr p)))
(if p (cl-macroexpand-all (cons 'setf args)) (cons 'setq args))))
+ ((consp (car form))
+ (cl-macroexpand-all (list* 'funcall
+ (list 'function (car form))
+ (cdr form))
+ env))
(t (cons (car form) (cl-macroexpand-body (cdr form) env)))))
(defun cl-macroexpand-body (body &optional env)