aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPaul Eggert2020-08-30 23:40:11 -0700
committerPaul Eggert2020-08-31 00:05:57 -0700
commit89350d4878aa850624a7fd5d36f981db840fa9af (patch)
tree2a39a0488e387706c1f5da390c0f6fbc7ea97878 /src
parent7e2f6f8448f9d98e90e0343e2aeba22a7985480f (diff)
downloademacs-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.c10
-rw-r--r--src/eval.c3
-rw-r--r--src/fringe.c6
-rw-r--r--src/keyboard.c8
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. */);
1733void 1733void
1734mark_fringe_data (void) 1734mark_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)
12475void 12475void
12476mark_kboards (void) 12476mark_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));