=== modified file 'src/font.c' --- src/font.c 2014-03-03 19:58:20 +0000 +++ src/font.c 2014-04-01 16:23:43 +0000 @@ -2756,10 +2756,7 @@ Lisp_Object copy; val = driver_list->driver->list (f, scratch_font_spec); - if (NILP (val)) - val = zero_vector; - else - val = Fvconcat (1, &val); + val = NILP (val) ? zero_vector : Fvconcat (1, &val); copy = copy_font_spec (scratch_font_spec); ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); XSETCDR (cache, Fcons (Fcons (copy, val), XCDR (cache))); @@ -2813,6 +2810,7 @@ else { entity = driver_list->driver->match (f, work); + entity = NILP (entity) ? zero_vector : Fvconcat (1, &entity); copy = copy_font_spec (work); ASET (copy, FONT_TYPE_INDEX, driver_list->driver->type); XSETCDR (cache, Fcons (Fcons (copy, entity), XCDR (cache)));