Fix bug in GC_CHECK_MARKED_OBJECTS check

* src/alloc.c (mark_object): Fix bug in checking code.
When GC_CHECK_MARKED_OBJECTS is defined, the bug caused
CHECK_ALLOCATED_AND_LIVE_SYMBOL to repeatedly do the
CHECK_ALLOCATED and CHECK_LIVE tests for the first symbol in each
bucket.  The bug did not affect behavior either in the normal case
where GC_CHECK_MARKED_OBJECTS is not defined, or where Emacs does
not have an internal error that a properly-written
CHECK_ALLOCATED_AND_LIVE_SYMBOL would detect.
This commit is contained in:
Paul Eggert 2015-10-06 13:33:50 -07:00
parent a4a98a1b25
commit 3b4d119c40

View file

@ -6217,7 +6217,7 @@ mark_object (Lisp_Object arg)
MARK_STRING (XSTRING (ptr->name));
MARK_INTERVAL_TREE (string_intervals (ptr->name));
/* Inner loop to mark next symbol in this bucket, if any. */
ptr = ptr->next;
po = ptr = ptr->next;
if (ptr)
goto nextsym;
}