]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Use macroexp-progn.
authorStefan Monnier <monnier@iro.umontreal.ca>
Thu, 7 Nov 2013 19:30:43 +0000 (14:30 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Thu, 7 Nov 2013 19:30:43 +0000 (14:30 -0500)
(cl--block-wrapper): Fix last accidental change.

lisp/ChangeLog
lisp/emacs-lisp/cl-macs.el

index e8bebb17c4f6433c462e86c62c17add6555cdf10..43e48cacd0618d485e9d735e2e323fafab079375 100644 (file)
@@ -1,3 +1,8 @@
+2013-11-07  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+       * emacs-lisp/cl-macs.el (cl-symbol-macrolet): Use macroexp-progn.
+       (cl--block-wrapper): Fix last accidental change.
+
 2013-11-07  Michael Albinus  <michael.albinus@gmx.de>
 
        * net/tramp-sh.el (tramp-set-remote-path, tramp-get-ls-command):
index bd97bcb585ca838e9e86362d679624ad0fdad227..2209297d553c6663f3eae6d67ed1687d6b2476c6 100644 (file)
@@ -1993,9 +1993,8 @@ by EXPANSION, and (setq NAME ...) will act like (setf EXPANSION ...).
           (progn
             (fset 'macroexpand #'cl--sm-macroexpand)
             (let ((expansion
-                   ;; FIXME: For N bindings, this will traverse `body'
-                   ;; N times!
-                   (macroexpand-all (cons 'progn body)
+                   ;; FIXME: For N bindings, this will traverse `body' N times!
+                   (macroexpand-all (macroexp-progn body)
                                     (cons (list (symbol-name (caar bindings))
                                                 (cl-cadar bindings))
                                           macroexpand-all-environment))))
@@ -2739,7 +2738,7 @@ macro that returns its `&whole' argument."
     ;; FIXME: To avoid re-applying macroexpand-all, we'd like to be able
     ;; to indicate that this return value is already fully expanded.
     (if (cdr cl-entry)
-        `(catch ,(nth 1 cl-form) ,@(cdr cl-body))
+        `(catch ,(nth 1 cl-form) ,@(macroexp-unprogn cl-body))
       cl-body)))
 
 (cl-define-compiler-macro cl--block-throw (cl-tag cl-value)