[Top][All Lists]

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

Re: Should let symbols be interned?

From: Lennart Borgman (gmail)
Subject: Re: Should let symbols be interned?
Date: Mon, 22 Jan 2007 01:31:40 +0100
User-agent: Thunderbird (Windows/20061207)

Juanma Barranquero wrote:
On 1/22/07, Lennart Borgman (gmail) <address@hidden> wrote:

However the real question was of course if the same obarray is used for
symbols created by let variable declarations (did I get everything right
now?;-) as for symbols created by "defvar" variables.

 (defvar my-sym t)
 (put 'my-sym 'my-prop t)
 (let (my-sym)
   (message "symbol: %S -- property: %S" my-sym (get 'my-sym 'my-prop))))

=> "symbol: nil -- property: t"

If `let' interned a new symbol in another obarray, the above would
answer: "symbol: nil -- property: nil". That would be very surprising.
A function call at arbitrary deep doesn't usually care whether a
symbol it's using was let-bound or not, only its value and other
properties. `let' is not advertised as binding anything other than a
symbol's value...


Thanks, but I did not mean on this level. On this level I would expect it to be transparent to the user/programmer. However in intern-soft it might be more visible if another obarray was used for let style variable symbols.

But it is clear to me now that the same obarray is used. As I slightly suggested in the answer to Stefan handling insertion in the big obarray 'obarray may take long time and that was what made me believe that there migt be a special obarray for let. I know however nothing about the time required for insertion in a smaller obarray versus the big one. (And I do not know how small "small" in avarage is.)

reply via email to

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