diff options
| author | Paul Eggert | 2015-10-06 13:33:50 -0700 |
|---|---|---|
| committer | Paul Eggert | 2015-10-06 13:34:18 -0700 |
| commit | 3b4d119c40817a528be5ad2bb994521a947dc443 (patch) | |
| tree | 083ec896b041d3fc772a3614d4bb33f8c9ae53b0 /src/alloc.c | |
| parent | a4a98a1b2568793ead43e824ecf227768759df12 (diff) | |
| download | emacs-3b4d119c40817a528be5ad2bb994521a947dc443.tar.gz emacs-3b4d119c40817a528be5ad2bb994521a947dc443.zip | |
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.
Diffstat (limited to 'src/alloc.c')
| -rw-r--r-- | src/alloc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/alloc.c b/src/alloc.c index 3ab2a6e3843..5fc40d13b8d 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -6217,7 +6217,7 @@ mark_object (Lisp_Object arg) | |||
| 6217 | MARK_STRING (XSTRING (ptr->name)); | 6217 | MARK_STRING (XSTRING (ptr->name)); |
| 6218 | MARK_INTERVAL_TREE (string_intervals (ptr->name)); | 6218 | MARK_INTERVAL_TREE (string_intervals (ptr->name)); |
| 6219 | /* Inner loop to mark next symbol in this bucket, if any. */ | 6219 | /* Inner loop to mark next symbol in this bucket, if any. */ |
| 6220 | ptr = ptr->next; | 6220 | po = ptr = ptr->next; |
| 6221 | if (ptr) | 6221 | if (ptr) |
| 6222 | goto nextsym; | 6222 | goto nextsym; |
| 6223 | } | 6223 | } |