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

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

Re: obarray


From: Emanuel Berg
Subject: Re: obarray
Date: Sun, 15 Dec 2013 02:37:19 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Juanma Barranquero <lekktu@gmail.com> writes:

> I think it's pretty clear: is a symbol table for
> (most) symbols. It is implemented as a vector, of
> prime length because of the way the hashing is done,
> and it does not make sense to examine it from Lisp
> *as a vector*, because its elements are not symbols,
> but have a more complex structure (basically, they
> implemented some kind of hash table). So the way to
> process all elements of that symbol table is to use
> mapatoms; looping over the vector won't give the
> symbols stored in the table.

Well, that description was a lot better.

So it is a hash table of symbols: variables, constants,
:keywords, functions, ...?

And when you do `defvar', is the symbol name inserted
into this data structure based on some property -
perhaps the name itself, or type (if a "symbol" isn't
atomic)?

Is the value inserted as well or do they use some sort
of pointer scheme?

-- 
Emanuel Berg, programmer-for-rent. CV, projects, etc at uXu
underground experts united:  http://user.it.uu.se/~embe8573


reply via email to

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