unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Re: [Emacs-diffs] trunk r117274: * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's.
       [not found] <E1WsbCj-0006W7-Hk@vcs.savannah.gnu.org>
@ 2014-06-05 21:02 ` Stefan Monnier
  2014-06-05 23:03   ` Leo Liu
  0 siblings, 1 reply; 2+ messages in thread
From: Stefan Monnier @ 2014-06-05 21:02 UTC (permalink / raw)
  To: Leo Liu; +Cc: emacs-devel

> +    (let ((progn-maybe (lambda (body)
> +			 (if (cdr body) (cons 'progn body) (car body)))))

This is called macroexp-progn.

And instead of

   (let ((foo (lambda ...)))
     ... (funcall foo body) ...
     ... (funcall foo body) ...)

better do

   (let ((body-exp ...))
     ... body-exp ...
     ... body-exp ...)


-- Stefan



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [Emacs-diffs] trunk r117274: * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's.
  2014-06-05 21:02 ` [Emacs-diffs] trunk r117274: * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's Stefan Monnier
@ 2014-06-05 23:03   ` Leo Liu
  0 siblings, 0 replies; 2+ messages in thread
From: Leo Liu @ 2014-06-05 23:03 UTC (permalink / raw)
  To: Stefan Monnier; +Cc: emacs-devel

On 2014-06-05 17:02 -0400, Stefan Monnier wrote:
> This is called macroexp-progn.

Knew about this but forgot.

> And instead of
>
>    (let ((foo (lambda ...)))
>      ... (funcall foo body) ...
>      ... (funcall foo body) ...)
>
> better do
>
>    (let ((body-exp ...))
>      ... body-exp ...
>      ... body-exp ...)

Was too tired last night :( Thanks for pointing this out.

Leo



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-06-05 23:03 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1WsbCj-0006W7-Hk@vcs.savannah.gnu.org>
2014-06-05 21:02 ` [Emacs-diffs] trunk r117274: * emacs-lisp/cl-macs.el (cl-macrolet): Avoid excessive progn's Stefan Monnier
2014-06-05 23:03   ` Leo Liu

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).