# HG changeset patch # User Karl Heuer # Date 784865080 0 # Node ID 2a9f99682f82a9e12dca87736cd111ebe4fb707a # Parent b039e4156d7430541c0f9d3f71423fc155a2a815 (mark_object, gc_sweep): Use new overlay substructure. diff -r b039e4156d74 -r 2a9f99682f82 src/alloc.c --- a/src/alloc.c Tue Nov 15 02:04:23 1994 +0000 +++ b/src/alloc.c Tue Nov 15 02:04:40 1994 +0000 @@ -1671,13 +1671,26 @@ are protected with staticpro. */ break; + case Lisp_Misc_Overlay: + { + struct Lisp_Overlay *ptr = XOVERLAY (obj); + if (!XMARKBIT (ptr->plist)) + { + XMARK (ptr->plist); + mark_object (&ptr->start); + mark_object (&ptr->end); + objptr = &ptr->plist; + goto loop; + } + } + break; + default: abort (); } break; case Lisp_Cons: - case Lisp_Overlay: { register struct Lisp_Cons *ptr = XCONS (obj); if (XMARKBIT (ptr->car)) break; @@ -1912,8 +1925,12 @@ case Lisp_Misc_Some_Buffer_Local_Value: markword = &mblk->markers[i].u_buffer_local_value.car; break; + case Lisp_Misc_Overlay: + markword = &mblk->markers[i].u_overlay.plist; + break; default: markword = 0; + break; } if (markword && !XMARKBIT (*markword)) {