changeset 109410:8d7eaaac8fbe

Merge from mainline.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 17 Jun 2010 00:23:17 +0000
parents ff42e5c5f789 (current diff) 6807b98d5522 (diff)
children d654ebf81f14
files
diffstat 3 files changed, 16 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- 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  <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
+	constants aren't distributed after they are factored out.
+
 2010-06-16  Juri Linkov  <juri@jurta.org>
 
 	* facemenu.el (list-colors-display): Call `pop-to-buffer' before
--- 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)
--- 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