Stefan Monnier <[EMAIL PROTECTED]> writes:

>> With the "capture" version, you can also do
>
>> (tla--lambda-with-capture (x y z)
>>   (... foo ... (capture foo) ... (capture (current-buffer))))
>
> Could you explain what this does?

It expands to something like

`(lambda (x y z)
   (let ((tla1 foo)
         (tla2 (current-buffer)))
     (funcall (lambda () (... foo ... tla1 ... tla2)))))

So, we still have the backquoted lambda, but containing only a let and
a funcall, the actual body being byte-compiled.

The translation from our backquote + comma version is roughly

s/`(lambda/(tla--lambda-with-capture/g
s/,.*/(capture \1)/

-- 
Matthieu
_______________________________________________
Help-gnu-emacs mailing list
Help-gnu-emacs@gnu.org
http://lists.gnu.org/mailman/listinfo/help-gnu-emacs

Reply via email to