emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r117277: * emacs-lisp/cl-macs.el (cl-macrolet): Simp


From: Leo Liu
Subject: [Emacs-diffs] trunk r117277: * emacs-lisp/cl-macs.el (cl-macrolet): Simplify last change.
Date: Thu, 05 Jun 2014 23:10:38 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 117277
revision-id: address@hidden
parent: address@hidden
committer: Leo Liu <address@hidden>
branch nick: trunk
timestamp: Fri 2014-06-06 07:08:59 +0800
message:
  * emacs-lisp/cl-macs.el (cl-macrolet): Simplify last change.
modified:
  lisp/emacs-lisp/cl-macs.el     clmacs.el-20091113204419-o5vbwnq5f7feedwu-612
=== modified file 'lisp/emacs-lisp/cl-macs.el'
--- a/lisp/emacs-lisp/cl-macs.el        2014-06-05 17:08:18 +0000
+++ b/lisp/emacs-lisp/cl-macs.el        2014-06-05 23:08:59 +0000
@@ -1886,15 +1886,13 @@
              cl-declarations body)))
   (if (cdr bindings)
       `(cl-macrolet (,(car bindings)) (cl-macrolet ,(cdr bindings) ,@body))
-    (let ((progn-maybe (lambda (body)
-                        (if (cdr body) (cons 'progn body) (car body)))))
-      (if (null bindings) (funcall progn-maybe body)
-       (let* ((name (caar bindings))
-              (res (cl--transform-lambda (cdar bindings) name)))
-         (eval (car res))
-         (macroexpand-all (funcall progn-maybe body)
-                          (cons (cons name `(lambda ,@(cdr res)))
-                                macroexpand-all-environment)))))))
+    (if (null bindings) (macroexp-progn body)
+      (let* ((name (caar bindings))
+            (res (cl--transform-lambda (cdar bindings) name)))
+       (eval (car res))
+       (macroexpand-all (macroexp-progn body)
+                        (cons (cons name `(lambda ,@(cdr res)))
+                              macroexpand-all-environment))))))
 
 (defconst cl--old-macroexpand
   (if (and (boundp 'cl--old-macroexpand)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]