# HG changeset patch # User Katsumi Yamaoka # Date 1276734197 0 # Node ID 8d7eaaac8fbeed0e58fa6d00fe10a73116768c3b # Parent ff42e5c5f78937328a84a425340f0efa85b43b54# Parent 6807b98d55225b88ad44b77952620eb0efa99798 Merge from mainline. diff -r ff42e5c5f789 -r 8d7eaaac8fbe lisp/ChangeLog --- a/lisp/ChangeLog Wed Jun 16 22:49:55 2010 +0000 +++ b/lisp/ChangeLog Thu Jun 17 00:23:17 2010 +0000 @@ -1,3 +1,13 @@ +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 + constants aren't distributed after they are factored out. + 2010-06-16 Juri Linkov * facemenu.el (list-colors-display): Call `pop-to-buffer' before diff -r ff42e5c5f789 -r 8d7eaaac8fbe lisp/calc/calc-poly.el --- a/lisp/calc/calc-poly.el Wed Jun 16 22:49:55 2010 +0000 +++ b/lisp/calc/calc-poly.el Thu Jun 17 00:23:17 2010 +0000 @@ -663,7 +663,7 @@ (cons 'vec (cons (nth 1 facs) (cons (list 'vec fac pow) (cdr (cdr facs))))) (cons 'vec (cons (list 'vec fac pow) (cdr facs)))))))) - (math-mul (math-pow fac pow) facs))) + (math-mul (math-pow fac pow) (math-factor-protect facs)))) (defun math-factor-poly-coefs (p &optional square-free) ; uses "x" (let (t1 t2 temp) diff -r ff42e5c5f789 -r 8d7eaaac8fbe lisp/emacs-lisp/macroexp.el --- a/lisp/emacs-lisp/macroexp.el Wed Jun 16 22:49:55 2010 +0000 +++ b/lisp/emacs-lisp/macroexp.el Thu Jun 17 00:23:17 2010 +0000 @@ -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