From e202fa3405af38c0dd70f4146d8b796c86df3328 Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Tue, 15 Nov 1994 02:04:40 +0000 Subject: [PATCH] (mark_object, gc_sweep): Use new overlay substructure. --- src/alloc.c | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/alloc.c b/src/alloc.c index 4ff5bcfb4e7..bd62b95fc5e 100644 --- a/src/alloc.c +++ b/src/alloc.c @@ -1671,13 +1671,26 @@ mark_object (objptr) 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 @@ gc_sweep () 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)) { -- 2.39.5