Ah, thank you. So it is not a pointer but an index. Is lispsym array resizable or is there a static limit to the number of symbols? On Oct 26, 2022, 10:45 AM -0600, Eli Zaretskii , wrote: > > Date: Wed, 26 Oct 2022 10:22:54 -0600 > > From: Troy Hinckley > > > > 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]. >