diff options
| author | Paul Eggert | 2020-08-30 23:40:11 -0700 |
|---|---|---|
| committer | Paul Eggert | 2020-08-31 00:05:57 -0700 |
| commit | 89350d4878aa850624a7fd5d36f981db840fa9af (patch) | |
| tree | 2a39a0488e387706c1f5da390c0f6fbc7ea97878 /src | |
| parent | 7e2f6f8448f9d98e90e0343e2aeba22a7985480f (diff) | |
| download | emacs-89350d4878aa850624a7fd5d36f981db840fa9af.tar.gz emacs-89350d4878aa850624a7fd5d36f981db840fa9af.zip | |
Use mark_objects elsewhere too
* src/alloc.c (mark_vectorlike, mark_face_cache):
* src/eval.c (mark_specpdl):
* src/fringe.c (mark_fringe_data):
* src/keyboard.c (mark_kboards):
Use mark_objects instead of doing it by hand.
Diffstat (limited to 'src')
| -rw-r--r-- | src/alloc.c | 10 | ||||
| -rw-r--r-- | src/eval.c | 3 | ||||
| -rw-r--r-- | src/fringe.c | 6 | ||||
| -rw-r--r-- | src/keyboard.c | 8 |
4 files changed, 8 insertions, 19 deletions
diff --git a/src/alloc.c b/src/alloc.c index 2f66b5eef52..6b5bfcbd93a 100644 --- a/src/alloc.c +++ b/src/alloc.c | |||
| @@ -6247,7 +6247,6 @@ mark_vectorlike (union vectorlike_header *header) | |||
| 6247 | { | 6247 | { |
| 6248 | struct Lisp_Vector *ptr = (struct Lisp_Vector *) header; | 6248 | struct Lisp_Vector *ptr = (struct Lisp_Vector *) header; |
| 6249 | ptrdiff_t size = ptr->header.size; | 6249 | ptrdiff_t size = ptr->header.size; |
| 6250 | ptrdiff_t i; | ||
| 6251 | 6250 | ||
| 6252 | eassert (!vector_marked_p (ptr)); | 6251 | eassert (!vector_marked_p (ptr)); |
| 6253 | 6252 | ||
| @@ -6262,8 +6261,7 @@ mark_vectorlike (union vectorlike_header *header) | |||
| 6262 | the number of Lisp_Object fields that we should trace. | 6261 | the number of Lisp_Object fields that we should trace. |
| 6263 | The distinction is used e.g. by Lisp_Process which places extra | 6262 | The distinction is used e.g. by Lisp_Process which places extra |
| 6264 | non-Lisp_Object fields at the end of the structure... */ | 6263 | non-Lisp_Object fields at the end of the structure... */ |
| 6265 | for (i = 0; i < size; i++) /* ...and then mark its elements. */ | 6264 | mark_objects (ptr->contents, size); |
| 6266 | mark_object (ptr->contents[i]); | ||
| 6267 | } | 6265 | } |
| 6268 | 6266 | ||
| 6269 | /* Like mark_vectorlike but optimized for char-tables (and | 6267 | /* Like mark_vectorlike but optimized for char-tables (and |
| @@ -6362,8 +6360,7 @@ mark_face_cache (struct face_cache *c) | |||
| 6362 | { | 6360 | { |
| 6363 | if (c) | 6361 | if (c) |
| 6364 | { | 6362 | { |
| 6365 | int i, j; | 6363 | for (int i = 0; i < c->used; i++) |
| 6366 | for (i = 0; i < c->used; ++i) | ||
| 6367 | { | 6364 | { |
| 6368 | struct face *face = FACE_FROM_ID_OR_NULL (c->f, i); | 6365 | struct face *face = FACE_FROM_ID_OR_NULL (c->f, i); |
| 6369 | 6366 | ||
| @@ -6372,8 +6369,7 @@ mark_face_cache (struct face_cache *c) | |||
| 6372 | if (face->font && !vectorlike_marked_p (&face->font->header)) | 6369 | if (face->font && !vectorlike_marked_p (&face->font->header)) |
| 6373 | mark_vectorlike (&face->font->header); | 6370 | mark_vectorlike (&face->font->header); |
| 6374 | 6371 | ||
| 6375 | for (j = 0; j < LFACE_VECTOR_SIZE; ++j) | 6372 | mark_objects (face->lface, LFACE_VECTOR_SIZE); |
| 6376 | mark_object (face->lface[j]); | ||
| 6377 | } | 6373 | } |
| 6378 | } | 6374 | } |
| 6379 | } | 6375 | } |
diff --git a/src/eval.c b/src/eval.c index a9bce552b18..126ee2e9555 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -3974,8 +3974,7 @@ mark_specpdl (union specbinding *first, union specbinding *ptr) | |||
| 3974 | mark_object (backtrace_function (pdl)); | 3974 | mark_object (backtrace_function (pdl)); |
| 3975 | if (nargs == UNEVALLED) | 3975 | if (nargs == UNEVALLED) |
| 3976 | nargs = 1; | 3976 | nargs = 1; |
| 3977 | while (nargs--) | 3977 | mark_objects (backtrace_args (pdl), nargs); |
| 3978 | mark_object (backtrace_args (pdl)[nargs]); | ||
| 3979 | } | 3978 | } |
| 3980 | break; | 3979 | break; |
| 3981 | 3980 | ||
diff --git a/src/fringe.c b/src/fringe.c index c3d64fefc82..75496692d53 100644 --- a/src/fringe.c +++ b/src/fringe.c | |||
| @@ -1733,11 +1733,7 @@ If nil, also continue lines which are exactly as wide as the window. */); | |||
| 1733 | void | 1733 | void |
| 1734 | mark_fringe_data (void) | 1734 | mark_fringe_data (void) |
| 1735 | { | 1735 | { |
| 1736 | int i; | 1736 | mark_objects (fringe_faces, max_fringe_bitmaps); |
| 1737 | |||
| 1738 | for (i = 0; i < max_fringe_bitmaps; i++) | ||
| 1739 | if (!NILP (fringe_faces[i])) | ||
| 1740 | mark_object (fringe_faces[i]); | ||
| 1741 | } | 1737 | } |
| 1742 | 1738 | ||
| 1743 | /* Initialize this module when Emacs starts. */ | 1739 | /* Initialize this module when Emacs starts. */ |
diff --git a/src/keyboard.c b/src/keyboard.c index 5fa58abce1d..590d183c4c6 100644 --- a/src/keyboard.c +++ b/src/keyboard.c | |||
| @@ -12475,13 +12475,11 @@ keys_of_keyboard (void) | |||
| 12475 | void | 12475 | void |
| 12476 | mark_kboards (void) | 12476 | mark_kboards (void) |
| 12477 | { | 12477 | { |
| 12478 | KBOARD *kb; | 12478 | for (KBOARD *kb = all_kboards; kb; kb = kb->next_kboard) |
| 12479 | Lisp_Object *p; | ||
| 12480 | for (kb = all_kboards; kb; kb = kb->next_kboard) | ||
| 12481 | { | 12479 | { |
| 12482 | if (kb->kbd_macro_buffer) | 12480 | if (kb->kbd_macro_buffer) |
| 12483 | for (p = kb->kbd_macro_buffer; p < kb->kbd_macro_ptr; p++) | 12481 | mark_objects (kb->kbd_macro_buffer, |
| 12484 | mark_object (*p); | 12482 | kb->kbd_macro_ptr - kb->kbd_macro_buffer); |
| 12485 | mark_object (KVAR (kb, Voverriding_terminal_local_map)); | 12483 | mark_object (KVAR (kb, Voverriding_terminal_local_map)); |
| 12486 | mark_object (KVAR (kb, Vlast_command)); | 12484 | mark_object (KVAR (kb, Vlast_command)); |
| 12487 | mark_object (KVAR (kb, Vreal_last_command)); | 12485 | mark_object (KVAR (kb, Vreal_last_command)); |