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

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

Re: Lexical binding and macros.


From: Elena
Subject: Re: Lexical binding and macros.
Date: Wed, 15 Dec 2010 09:54:49 -0800 (PST)
User-agent: G2/1.0

On Dec 15, 5:16 pm, David Kastrup <d...@gnu.org> wrote:
> Stefan Monnier <monn...@iro.umontreal.ca> writes:
> >> Do they still leak memory?  Fromhttp://c2.com/cgi/wiki?EmacsLisp:
>
> >> "Note that variables bound with lexical-let are never released, even
> >> if they are never used. Try
>
> >>  (loop for i from 1 to 100000 collect (lexical-let ((x i)) '()))
>
> >> and watch it eat memory. So making infinity (ZeroOneInfinity) lexical
> >> variables is out of the question except for very small values of
> >> infinity."
>
> > Additionally to what Pascal already explained, I'll add that,
> > lexical-let, like `loop' are relatively heavy macros, so you definitely
> > don't want to run them interpreted (where the macro is re-expanded each
> > time).
>
> Why would they be reexpanded each time?  They are macros.  Their
> expansion is done once and merely evalled each time.

Macros expansion can change if such macros depend on some other macros
which have been redefined after last expansion.


reply via email to

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