diff options
| author | Chong Yidong | 2008-12-16 03:33:00 +0000 |
|---|---|---|
| committer | Chong Yidong | 2008-12-16 03:33:00 +0000 |
| commit | 6136b72f0b69b6289987768bb88fa2ed9925ead1 (patch) | |
| tree | 865055020b70d454819a431ae7e9d2027d14a0c4 /src | |
| parent | b5356c3948cabb45f4206fa13876b8c87152297c (diff) | |
| download | emacs-6136b72f0b69b6289987768bb88fa2ed9925ead1.tar.gz emacs-6136b72f0b69b6289987768bb88fa2ed9925ead1.zip | |
(font_update_drivers): Fix mistake in reconstructing the driver list.
(font_clear_cache): Fix format of font cache data.
Diffstat (limited to 'src')
| -rw-r--r-- | src/font.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/font.c b/src/font.c index fbfcf4b2496..d428b9e830c 100644 --- a/src/font.c +++ b/src/font.c | |||
| @@ -2651,21 +2651,21 @@ font_clear_cache (f, cache, driver) | |||
| 2651 | struct font_driver *driver; | 2651 | struct font_driver *driver; |
| 2652 | { | 2652 | { |
| 2653 | Lisp_Object tail, elt; | 2653 | Lisp_Object tail, elt; |
| 2654 | Lisp_Object tail2, entity; | ||
| 2654 | 2655 | ||
| 2655 | /* CACHE = (DRIVER-TYPE NUM-FRAMES FONT-CACHE-DATA ...) */ | 2656 | /* CACHE = (DRIVER-TYPE NUM-FRAMES FONT-CACHE-DATA ...) */ |
| 2656 | for (tail = XCDR (XCDR (cache)); CONSP (tail); tail = XCDR (tail)) | 2657 | for (tail = XCDR (XCDR (cache)); CONSP (tail); tail = XCDR (tail)) |
| 2657 | { | 2658 | { |
| 2658 | elt = XCAR (tail); | 2659 | elt = XCAR (tail); |
| 2659 | if (CONSP (elt) && FONT_SPEC_P (XCAR (elt)) && VECTORP (XCDR (elt))) | 2660 | /* elt should have the form (FONT-SPEC FONT-ENTITY ...) */ |
| 2661 | if (CONSP (elt) && FONT_SPEC_P (XCAR (elt))) | ||
| 2660 | { | 2662 | { |
| 2661 | Lisp_Object vec = XCDR (elt); | 2663 | for (tail2 = XCDR (elt); CONSP (tail2); tail2 = XCDR (tail2)) |
| 2662 | int i; | ||
| 2663 | |||
| 2664 | for (i = 0; i < ASIZE (vec); i++) | ||
| 2665 | { | 2664 | { |
| 2666 | Lisp_Object entity = AREF (vec, i); | 2665 | entity = XCAR (tail2); |
| 2667 | 2666 | ||
| 2668 | if (EQ (driver->type, AREF (entity, FONT_TYPE_INDEX))) | 2667 | if (FONT_ENTITY_P (entity) |
| 2668 | && EQ (driver->type, AREF (entity, FONT_TYPE_INDEX))) | ||
| 2669 | { | 2669 | { |
| 2670 | Lisp_Object objlist = AREF (entity, FONT_OBJLIST_INDEX); | 2670 | Lisp_Object objlist = AREF (entity, FONT_OBJLIST_INDEX); |
| 2671 | 2671 | ||
| @@ -3586,7 +3586,7 @@ font_update_drivers (f, new_drivers) | |||
| 3586 | } | 3586 | } |
| 3587 | for (list = f->font_driver_list; list; list = list->next) | 3587 | for (list = f->font_driver_list; list; list = list->next) |
| 3588 | if (! list->on) | 3588 | if (! list->on) |
| 3589 | list_table[i] = list; | 3589 | list_table[i++] = list; |
| 3590 | list_table[i] = NULL; | 3590 | list_table[i] = NULL; |
| 3591 | 3591 | ||
| 3592 | next = &f->font_driver_list; | 3592 | next = &f->font_driver_list; |