# HG changeset patch # User Stefan Monnier # Date 1276733842 14400 # Node ID 6807b98d55225b88ad44b77952620eb0efa99798 # Parent 8020ce418135657cd862ad57e1c7f788058eb23b * lisp/emacs-lisp/macroexp.el (macroexpand-all-1): Put back special handling for `lambda' (misunderstanding). diff -r 8020ce418135 -r 6807b98d5522 lisp/ChangeLog --- a/lisp/ChangeLog Wed Jun 16 18:27:20 2010 -0500 +++ b/lisp/ChangeLog Wed Jun 16 20:17:22 2010 -0400 @@ -1,3 +1,8 @@ +2010-06-17 Stefan Monnier + + * emacs-lisp/macroexp.el (macroexpand-all-1): Put back special + handling for `lambda' (misunderstanding). + 2010-06-16 Jay Belanger * calc/calc-poly.el: (math-accum-factors): Make sure that diff -r 8020ce418135 -r 6807b98d5522 lisp/emacs-lisp/macroexp.el --- a/lisp/emacs-lisp/macroexp.el Wed Jun 16 18:27:20 2010 -0500 +++ b/lisp/emacs-lisp/macroexp.el Wed Jun 16 20:17:22 2010 -0400 @@ -145,6 +145,11 @@ 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