diff options
author | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-06-16 20:17:22 -0400 |
---|---|---|
committer | Stefan Monnier <monnier@iro.umontreal.ca> | 2010-06-16 20:17:22 -0400 |
commit | e20f04215a264939f74306fa7a29deb97bad3f1c (patch) | |
tree | 478968055592798cf1a4b1c7b56ce8b0cce09b82 | |
parent | fb3e306a4f7d229bce20e36afe8a128146c0932a (diff) | |
download | emacs-e20f04215a264939f74306fa7a29deb97bad3f1c.tar.gz |
* lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Put back special
handling for `lambda' (misunderstanding).
-rw-r--r-- | lisp/ChangeLog | 5 | ||||
-rw-r--r-- | lisp/emacs-lisp/macroexp.el | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ce2560ffa8e..479d8673bf1 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2010-06-17 Stefan Monnier <monnier@iro.umontreal.ca> + + * emacs-lisp/macroexp.el (macroexpand-all-1): Put back special + handling for `lambda' (misunderstanding). + 2010-06-16 Jay Belanger <jay.p.belanger@gmail.com> * calc/calc-poly.el: (math-accum-factors): Make sure that diff --git a/lisp/emacs-lisp/macroexp.el b/lisp/emacs-lisp/macroexp.el index aabf940964b..876b9a468ac 100644 --- a/lisp/emacs-lisp/macroexp.el +++ b/lisp/emacs-lisp/macroexp.el @@ -145,6 +145,11 @@ Assumes the caller has bound `macroexpand-all-environment'." form)) ((eq fun 'quote) form) + ((and (consp fun) (eq (car fun) 'lambda)) + ;; Embedded lambda in function position. + (maybe-cons (macroexpand-all-forms fun 2) + (macroexpand-all-forms (cdr form)) + form)) ;; The following few cases are for normal function calls that ;; are known to funcall one of their arguments. The byte ;; compiler has traditionally handled these functions specially |