]> code.delx.au - gnu-emacs/commitdiff
(cl-macroexpand-all): Fix code-walk for
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 19 Dec 2005 02:17:38 +0000 (02:17 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 19 Dec 2005 02:17:38 +0000 (02:17 +0000)
lexical-let when encountering ((lambda (...) ...) ...).

lisp/emacs-lisp/cl-extra.el

index 4ac1a72b0d78d0995541100c9b62c933fe8805fa..c5a006912dfa1d88ad3bd92fd332b68d8fac178e 100644 (file)
@@ -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)