[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: question about Qnil representation
From: |
Eli Zaretskii |
Subject: |
Re: question about Qnil representation |
Date: |
Wed, 26 Oct 2022 19:45:10 +0300 |
> Date: Wed, 26 Oct 2022 10:22:54 -0600
> From: Troy Hinckley <troyhinckley@gmail.com>
>
> Let me try again. As I understand it, every Symbol is an instance if
> Lisp_Symbol. The Lisp_Object is an
> integer that can represent multiple types with tags defined by Lisp_Type. If
> the tag is 0, then the type is a
> symbol. In that case you would treat the rest of the bytes in the Lisp_Object
> as pointer to a Lisp_Symbol
> instance. However if the symbol nil is defined as 0, then it is not a pointer
> to anything. How then do you access
> that symbol? Is there special case code to handle the null pointer?
See make_lisp_symbol and builtin_lisp_symbol, and I think you will
understand what's going on here. Also see the value stored in
lispsym[0].