summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2013-11-07 14:30:43 -0500
committerStefan Monnier <monnier@iro.umontreal.ca>2013-11-07 14:30:43 -0500
commit3220d5279d488e51afb3a49cda5c48fa9ca4e36c (patch)
tree40b3ac741ea2e9699843feaed5f77de0161cdf4a /lisp/emacs-lisp
parent1eb1f9e08272246c5ac5533622bf069249cc73b4 (diff)
downloademacs-3220d5279d488e51afb3a49cda5c48fa9ca4e36c.tar.gz
emacs-3220d5279d488e51afb3a49cda5c48fa9ca4e36c.tar.bz2
emacs-3220d5279d488e51afb3a49cda5c48fa9ca4e36c.zip
* lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Use macroexp-progn.
(cl--block-wrapper): Fix last accidental change.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/cl-macs.el7
1 files changed, 3 insertions, 4 deletions
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el
index bd97bcb585c..2209297d553 100644
--- a/lisp/emacs-lisp/cl-macs.el
+++ b/lisp/emacs-lisp/cl-macs.el
@@ -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)