mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-01 11:20:41 -08:00
(mark_object): Mark the new `next' field of overlays.
(mark_buffer): Manually mark the overlays_(after|before) fields.
This commit is contained in:
parent
d2394df5b5
commit
f54253ec86
1 changed files with 18 additions and 3 deletions
21
src/alloc.c
21
src/alloc.c
|
|
@ -5007,8 +5007,12 @@ mark_object (arg)
|
|||
struct Lisp_Overlay *ptr = XOVERLAY (obj);
|
||||
mark_object (ptr->start);
|
||||
mark_object (ptr->end);
|
||||
obj = ptr->plist;
|
||||
goto loop;
|
||||
mark_object (ptr->plist);
|
||||
if (ptr->next)
|
||||
{
|
||||
XSETMISC (obj, ptr->next);
|
||||
goto loop;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -5062,7 +5066,7 @@ mark_buffer (buf)
|
|||
Lisp_Object buf;
|
||||
{
|
||||
register struct buffer *buffer = XBUFFER (buf);
|
||||
register Lisp_Object *ptr;
|
||||
register Lisp_Object *ptr, tmp;
|
||||
Lisp_Object base_buffer;
|
||||
|
||||
VECTOR_MARK (buffer);
|
||||
|
|
@ -5105,6 +5109,17 @@ mark_buffer (buf)
|
|||
else
|
||||
mark_object (buffer->undo_list);
|
||||
|
||||
if (buffer->overlays_before)
|
||||
{
|
||||
XSETMISC (tmp, buffer->overlays_before);
|
||||
mark_object (tmp);
|
||||
}
|
||||
if (buffer->overlays_after)
|
||||
{
|
||||
XSETMISC (tmp, buffer->overlays_after);
|
||||
mark_object (tmp);
|
||||
}
|
||||
|
||||
for (ptr = &buffer->name;
|
||||
(char *)ptr < (char *)buffer + sizeof (struct buffer);
|
||||
ptr++)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue