help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: nested backquotes


From: Matthieu Moy
Subject: Re: nested backquotes
Date: Sat, 21 May 2005 11:51:05 +0200
User-agent: Gnus/5.1002 (Gnus v5.10.2) Emacs/21.4 (gnu/linux)

Stefan Monnier <monnier@iro.umontreal.ca> 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


reply via email to

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