Symbol Allocation
***********************************************************************/
-static void
-set_symbol_name (Lisp_Object sym, Lisp_Object name)
-{
- XSYMBOL (sym)->name = name;
-}
-
void
initialize_symbol (Lisp_Object val, Lisp_Object name)
{
scm_module_define (symbol_module, val, scm_from_pointer (p, NULL));
p = XSYMBOL (val);
p->self = val;
- set_symbol_name (val, name);
scm_module_define (plist_module, val, Qnil);
p->redirect = SYMBOL_PLAINVAL;
SET_SYMBOL_VAL (p, Qunbound);
/* True if pointed to from purespace and hence can't be GC'd. */
bool_bf pinned : 1;
- /* The symbol's name, as a Lisp string. */
- Lisp_Object name;
-
/* Value of the symbol or Qunbound if unbound. Which alternative of the
union is used depends on the `redirect' field above. */
union {
INLINE Lisp_Object
SYMBOL_NAME (Lisp_Object sym)
{
- return XSYMBOL (sym)->name;
+ return build_string (scm_to_locale_string (scm_symbol_to_string (sym)));
}
/* Value is true if SYM is an interned symbol. */