/[emacs]/emacs/src/alloc.c
ViewVC logotype

Diff of /emacs/src/alloc.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.271 by akochoi, Fri Apr 26 23:39:05 2002 UTC revision 1.272 by raeburn, Mon May 20 08:04:52 2002 UTC
# Line 2545  Its value and function definition are vo Line 2545  Its value and function definition are vo
2545      }      }
2546        
2547    p = XSYMBOL (val);    p = XSYMBOL (val);
2548    p->name = XSTRING (name);    p->xname = name;
2549    p->plist = Qnil;    p->plist = Qnil;
2550    p->value = Qunbound;    p->value = Qunbound;
2551    p->function = Qunbound;    p->function = Qunbound;
# Line 4690  mark_object (argptr) Line 4690  mark_object (argptr)
4690          mark_object (&ptr->function);          mark_object (&ptr->function);
4691          mark_object (&ptr->plist);          mark_object (&ptr->plist);
4692    
4693          if (!PURE_POINTER_P (ptr->name))          if (!PURE_POINTER_P (XSTRING (ptr->xname)))
4694            MARK_STRING (ptr->name);            MARK_STRING (XSTRING (ptr->xname));
4695          MARK_INTERVAL_TREE (ptr->name->intervals);          MARK_INTERVAL_TREE (XSTRING (ptr->xname)->intervals);
4696                    
4697          /* Note that we do not mark the obarray of the symbol.          /* Note that we do not mark the obarray of the symbol.
4698             It is safe not to do so because nothing accesses that             It is safe not to do so because nothing accesses that
# Line 5163  gc_sweep () Line 5163  gc_sweep ()
5163              /* Check if the symbol was created during loadup.  In such a case              /* Check if the symbol was created during loadup.  In such a case
5164                 it might be pointed to by pure bytecode which we don't trace,                 it might be pointed to by pure bytecode which we don't trace,
5165                 so we conservatively assume that it is live.  */                 so we conservatively assume that it is live.  */
5166              int pure_p = PURE_POINTER_P (sym->name);              int pure_p = PURE_POINTER_P (XSTRING (sym->xname));
5167                            
5168              if (!XMARKBIT (sym->plist) && !pure_p)              if (!XMARKBIT (sym->plist) && !pure_p)
5169                {                {
# Line 5178  gc_sweep () Line 5178  gc_sweep ()
5178                {                {
5179                  ++num_used;                  ++num_used;
5180                  if (!pure_p)                  if (!pure_p)
5181                    UNMARK_STRING (sym->name);                    UNMARK_STRING (XSTRING (sym->xname));
5182                  XUNMARK (sym->plist);                  XUNMARK (sym->plist);
5183                }                }
5184            }            }

Legend:
Removed from v.1.271  
changed lines
  Added in v.1.272

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26