[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
- nested backquotes, Matthieu Moy, 2005/05/18
- Re: nested backquotes, rgb, 2005/05/18
- Re: nested backquotes, Matthieu Moy, 2005/05/18
- Re: nested backquotes, Thierry Emery, 2005/05/18
- Re: nested backquotes, Stefan Monnier, 2005/05/20
- Re: nested backquotes, Stefan Monnier, 2005/05/20
- Re: nested backquotes, Matthieu Moy, 2005/05/20
- Re: nested backquotes, Stefan Monnier, 2005/05/20
- Re: nested backquotes,
Matthieu Moy <=
- Re: nested backquotes, Matthieu Moy, 2005/05/21