all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Juanma Barranquero <lekktu@gmail.com>
To: Emanuel Berg <embe8573@student.uu.se>
Cc: Emacs Help List <help-gnu-emacs@gnu.org>
Subject: Re: obarray
Date: Sun, 15 Dec 2013 02:59:31 +0100	[thread overview]
Message-ID: <CAAeL0SRjrd2Lkna5AWUsU6hDuw8S8X7iGmbdHFJPYtCru39Ogg@mail.gmail.com> (raw)
In-Reply-To: <87bo0irj13.fsf@nl106-137-194.student.uu.se>

On Sun, Dec 15, 2013 at 2:37 AM, Emanuel Berg <embe8573@student.uu.se> wrote:

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

symbols. Symbols are primitive objects with some properties (pointer
to value and function, which can be null, a property list, etc.). Look
at the code for details

> 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)?

As the description says, it is "intern" and "read" which do insert
("intern") symbols into the standard obarray. It is possible to use
other obarrays (that's what the OBARRAY arg of `intern' is for), or
have non-interned symbols.

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

As said above, the symbol object has a slot for the variable value and
another one for the function value, IIRC.

    J



  parent reply	other threads:[~2013-12-15  1:59 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-15  0:54 obarray Emanuel Berg
2013-12-15  1:14 ` obarray Juanma Barranquero
     [not found] ` <mailman.9268.1387070101.10748.help-gnu-emacs@gnu.org>
2013-12-15  1:37   ` obarray Emanuel Berg
2013-12-15  1:56     ` obarray Michael Heerdegen
2013-12-15  1:59     ` Juanma Barranquero [this message]
     [not found]     ` <mailman.9271.1387072648.10748.help-gnu-emacs@gnu.org>
2013-12-15  4:17       ` obarray Emanuel Berg
2013-12-15  4:17     ` obarray Barry Margolin
2013-12-15  4:47       ` obarray Michael Heerdegen
2013-12-15  4:55       ` obarray Emanuel Berg
2013-12-15  6:04         ` obarray Barry Margolin
2013-12-15 17:43           ` obarray Emanuel Berg
2013-12-16 17:44             ` obarray Barry Margolin
2013-12-17  1:47               ` obarray Michael Heerdegen
     [not found]               ` <mailman.9442.1387244871.10748.help-gnu-emacs@gnu.org>
2013-12-17  2:11                 ` obarray Emanuel Berg
2013-12-17  2:55                   ` obarray Michael Heerdegen
     [not found]                   ` <mailman.9452.1387248989.10748.help-gnu-emacs@gnu.org>
2013-12-17  3:01                     ` obarray Emanuel Berg
2013-12-17 17:32                       ` obarray Barry Margolin
2013-12-17 17:42                         ` obarray Emanuel Berg
     [not found]       ` <mailman.9279.1387082898.10748.help-gnu-emacs@gnu.org>
2013-12-15  5:11         ` obarray Emanuel Berg
2013-12-15  5:36           ` obarray Emanuel Berg
2013-12-15  6:17             ` obarray Michael Heerdegen
     [not found]             ` <mailman.9283.1387088419.10748.help-gnu-emacs@gnu.org>
2013-12-15 17:51               ` obarray Emanuel Berg
2013-12-15  6:15           ` obarray Michael Heerdegen
     [not found]           ` <mailman.9282.1387088166.10748.help-gnu-emacs@gnu.org>
2013-12-15 17:47             ` obarray Emanuel Berg
2013-12-15  5:58         ` obarray Barry Margolin
2013-12-15 17:28           ` obarray Emanuel Berg
2013-12-17 14:38 ` obarray jack-mac

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CAAeL0SRjrd2Lkna5AWUsU6hDuw8S8X7iGmbdHFJPYtCru39Ogg@mail.gmail.com \
    --to=lekktu@gmail.com \
    --cc=embe8573@student.uu.se \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.