Mercurial > emacs
changeset 9926:2a9f99682f82
(mark_object, gc_sweep): Use new overlay substructure.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Tue, 15 Nov 1994 02:04:40 +0000 |
parents | b039e4156d74 |
children | 05aa745fc829 |
files | src/alloc.c |
diffstat | 1 files changed, 18 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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)) {