aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/alloc.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/alloc.c b/src/alloc.c
index 23ddd83d7d6..fe55cde49c9 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -5346,7 +5346,10 @@ compact_font_cache_entry (Lisp_Object entry)
5346 /* Consider OBJ if it is (font-spec . [font-entity font-entity ...]). */ 5346 /* Consider OBJ if it is (font-spec . [font-entity font-entity ...]). */
5347 if (CONSP (obj) && GC_FONT_SPEC_P (XCAR (obj)) 5347 if (CONSP (obj) && GC_FONT_SPEC_P (XCAR (obj))
5348 && !VECTOR_MARKED_P (GC_XFONT_SPEC (XCAR (obj))) 5348 && !VECTOR_MARKED_P (GC_XFONT_SPEC (XCAR (obj)))
5349 && VECTORP (XCDR (obj))) 5349 /* Don't use VECTORP here, as that calls ASIZE, which could
5350 hit assertion violation during GC. */
5351 && (VECTORLIKEP (XCDR (obj))
5352 && ! (gc_asize (XCDR (obj)) & PSEUDOVECTOR_FLAG)))
5350 { 5353 {
5351 ptrdiff_t i, size = gc_asize (XCDR (obj)); 5354 ptrdiff_t i, size = gc_asize (XCDR (obj));
5352 Lisp_Object obj_cdr = XCDR (obj); 5355 Lisp_Object obj_cdr = XCDR (obj);