# HG changeset patch # User Ken Raeburn # Date 1021881892 0 # Node ID f3d7ab65641ff6740c7f2dddd68ab590db955d48 # Parent 6c875925d507f114d71cce0fba1bd2035d5d898b * alloc.c (Fmake_symbol): Set symbol xname field instead of name. (mark_object, gc_sweep): Use symbol xname field and XSTRING instead of name field. diff -r 6c875925d507 -r f3d7ab65641f src/alloc.c --- a/src/alloc.c Mon May 20 08:04:46 2002 +0000 +++ b/src/alloc.c Mon May 20 08:04:52 2002 +0000 @@ -2545,7 +2545,7 @@ } p = XSYMBOL (val); - p->name = XSTRING (name); + p->xname = name; p->plist = Qnil; p->value = Qunbound; p->function = Qunbound; @@ -4690,9 +4690,9 @@ mark_object (&ptr->function); mark_object (&ptr->plist); - if (!PURE_POINTER_P (ptr->name)) - MARK_STRING (ptr->name); - MARK_INTERVAL_TREE (ptr->name->intervals); + if (!PURE_POINTER_P (XSTRING (ptr->xname))) + MARK_STRING (XSTRING (ptr->xname)); + MARK_INTERVAL_TREE (XSTRING (ptr->xname)->intervals); /* Note that we do not mark the obarray of the symbol. It is safe not to do so because nothing accesses that @@ -5163,7 +5163,7 @@ /* Check if the symbol was created during loadup. In such a case it might be pointed to by pure bytecode which we don't trace, so we conservatively assume that it is live. */ - int pure_p = PURE_POINTER_P (sym->name); + int pure_p = PURE_POINTER_P (XSTRING (sym->xname)); if (!XMARKBIT (sym->plist) && !pure_p) { @@ -5178,7 +5178,7 @@ { ++num_used; if (!pure_p) - UNMARK_STRING (sym->name); + UNMARK_STRING (XSTRING (sym->xname)); XUNMARK (sym->plist); } }