diff options
| author | Dmitry Antipov | 2014-06-19 20:52:20 +0400 |
|---|---|---|
| committer | Dmitry Antipov | 2014-06-19 20:52:20 +0400 |
| commit | eb0912379df1185ee5ec23de1658c8ea4594849d (patch) | |
| tree | 23c5c74d9c79bc784201ab2e4c4c69293037f0a8 | |
| parent | d10a551d9d6b25de0f46c18a30b7399c993d498e (diff) | |
| download | emacs-eb0912379df1185ee5ec23de1658c8ea4594849d.tar.gz emacs-eb0912379df1185ee5ec23de1658c8ea4594849d.zip | |
Minor cleanup of fonset code.
* fontset.c (FONTSET_ID, set_fontset_id, FONTSET_NAME)
(set_fontset_name, FONTSET_ASCII, set_fontset_ascii)
(FONTSET_BASE, set_fontset_base, FONTSET_FRAME)
(set_fontset_frame, FONTSET_NOFONT_FACE, set_fontset_nofont_face)
(FONTSET_DEFAULT, set_fontset_default, FONTSET_FALLBACK)
(set_fontset_fallback): Reorder extra slots and avoid unused slots.
(free_realized_fontset): Remove because a no-op since 2008.
(free_face_fontset): Adjust user.
(syms_of_fontset): Shrink fontset by one extra slot.
| -rw-r--r-- | src/ChangeLog | 13 | ||||
| -rw-r--r-- | src/fontset.c | 39 |
2 files changed, 24 insertions, 28 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 142415622ff..94f4444d38c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,16 @@ | |||
| 1 | 2014-06-19 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 2 | |||
| 3 | Minor cleanup of fonset code. | ||
| 4 | * fontset.c (FONTSET_ID, set_fontset_id, FONTSET_NAME) | ||
| 5 | (set_fontset_name, FONTSET_ASCII, set_fontset_ascii) | ||
| 6 | (FONTSET_BASE, set_fontset_base, FONTSET_FRAME) | ||
| 7 | (set_fontset_frame, FONTSET_NOFONT_FACE, set_fontset_nofont_face) | ||
| 8 | (FONTSET_DEFAULT, set_fontset_default, FONTSET_FALLBACK) | ||
| 9 | (set_fontset_fallback): Reorder extra slots and avoid unused slots. | ||
| 10 | (free_realized_fontset): Remove because a no-op since 2008. | ||
| 11 | (free_face_fontset): Adjust user. | ||
| 12 | (syms_of_fontset): Shrink fontset by one extra slot. | ||
| 13 | |||
| 1 | 2014-06-17 Paul Eggert <eggert@cs.ucla.edu> | 14 | 2014-06-17 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 15 | ||
| 3 | Omit redundant extern decls. | 16 | Omit redundant extern decls. |
diff --git a/src/fontset.c b/src/fontset.c index 13f5357be64..e34719e5cdf 100644 --- a/src/fontset.c +++ b/src/fontset.c | |||
| @@ -209,27 +209,27 @@ set_fontset_name (Lisp_Object fontset, Lisp_Object name) | |||
| 209 | set_char_table_extras (fontset, 1, name); | 209 | set_char_table_extras (fontset, 1, name); |
| 210 | } | 210 | } |
| 211 | 211 | ||
| 212 | #define FONTSET_ASCII(fontset) XCHAR_TABLE (fontset)->extras[4] | 212 | #define FONTSET_ASCII(fontset) XCHAR_TABLE (fontset)->extras[2] |
| 213 | static void | 213 | static void |
| 214 | set_fontset_ascii (Lisp_Object fontset, Lisp_Object ascii) | 214 | set_fontset_ascii (Lisp_Object fontset, Lisp_Object ascii) |
| 215 | { | 215 | { |
| 216 | set_char_table_extras (fontset, 4, ascii); | 216 | set_char_table_extras (fontset, 2, ascii); |
| 217 | } | 217 | } |
| 218 | 218 | ||
| 219 | /* Access special values of (realized) FONTSET. */ | 219 | /* Access special values of (realized) FONTSET. */ |
| 220 | 220 | ||
| 221 | #define FONTSET_BASE(fontset) XCHAR_TABLE (fontset)->extras[2] | 221 | #define FONTSET_BASE(fontset) XCHAR_TABLE (fontset)->extras[3] |
| 222 | static void | 222 | static void |
| 223 | set_fontset_base (Lisp_Object fontset, Lisp_Object base) | 223 | set_fontset_base (Lisp_Object fontset, Lisp_Object base) |
| 224 | { | 224 | { |
| 225 | set_char_table_extras (fontset, 2, base); | 225 | set_char_table_extras (fontset, 3, base); |
| 226 | } | 226 | } |
| 227 | 227 | ||
| 228 | #define FONTSET_FRAME(fontset) XCHAR_TABLE (fontset)->extras[3] | 228 | #define FONTSET_FRAME(fontset) XCHAR_TABLE (fontset)->extras[4] |
| 229 | static void | 229 | static void |
| 230 | set_fontset_frame (Lisp_Object fontset, Lisp_Object frame) | 230 | set_fontset_frame (Lisp_Object fontset, Lisp_Object frame) |
| 231 | { | 231 | { |
| 232 | set_char_table_extras (fontset, 3, frame); | 232 | set_char_table_extras (fontset, 4, frame); |
| 233 | } | 233 | } |
| 234 | 234 | ||
| 235 | #define FONTSET_NOFONT_FACE(fontset) XCHAR_TABLE (fontset)->extras[5] | 235 | #define FONTSET_NOFONT_FACE(fontset) XCHAR_TABLE (fontset)->extras[5] |
| @@ -239,20 +239,20 @@ set_fontset_nofont_face (Lisp_Object fontset, Lisp_Object face) | |||
| 239 | set_char_table_extras (fontset, 5, face); | 239 | set_char_table_extras (fontset, 5, face); |
| 240 | } | 240 | } |
| 241 | 241 | ||
| 242 | #define FONTSET_DEFAULT(fontset) XCHAR_TABLE (fontset)->extras[7] | 242 | #define FONTSET_DEFAULT(fontset) XCHAR_TABLE (fontset)->extras[6] |
| 243 | static void | 243 | static void |
| 244 | set_fontset_default (Lisp_Object fontset, Lisp_Object def) | 244 | set_fontset_default (Lisp_Object fontset, Lisp_Object def) |
| 245 | { | 245 | { |
| 246 | set_char_table_extras (fontset, 7, def); | 246 | set_char_table_extras (fontset, 6, def); |
| 247 | } | 247 | } |
| 248 | 248 | ||
| 249 | /* For both base and realized fontset. */ | 249 | /* For both base and realized fontset. */ |
| 250 | 250 | ||
| 251 | #define FONTSET_FALLBACK(fontset) XCHAR_TABLE (fontset)->extras[8] | 251 | #define FONTSET_FALLBACK(fontset) XCHAR_TABLE (fontset)->extras[7] |
| 252 | static void | 252 | static void |
| 253 | set_fontset_fallback (Lisp_Object fontset, Lisp_Object fallback) | 253 | set_fontset_fallback (Lisp_Object fontset, Lisp_Object fallback) |
| 254 | { | 254 | { |
| 255 | set_char_table_extras (fontset, 8, fallback); | 255 | set_char_table_extras (fontset, 7, fallback); |
| 256 | } | 256 | } |
| 257 | 257 | ||
| 258 | #define BASE_FONTSET_P(fontset) (NILP (FONTSET_BASE (fontset))) | 258 | #define BASE_FONTSET_P(fontset) (NILP (FONTSET_BASE (fontset))) |
| @@ -852,21 +852,6 @@ fontset_ascii (int id) | |||
| 852 | return elt; | 852 | return elt; |
| 853 | } | 853 | } |
| 854 | 854 | ||
| 855 | static void | ||
| 856 | free_realized_fontset (struct frame *f, Lisp_Object fontset) | ||
| 857 | { | ||
| 858 | #if 0 | ||
| 859 | Lisp_Object tail; | ||
| 860 | |||
| 861 | if (0) | ||
| 862 | for (tail = FONTSET_OBJLIST (fontset); CONSP (tail); tail = XCDR (tail)) | ||
| 863 | { | ||
| 864 | eassert (FONT_OBJECT_P (XCAR (tail))); | ||
| 865 | font_close_object (f, XCAR (tail)); | ||
| 866 | } | ||
| 867 | #endif | ||
| 868 | } | ||
| 869 | |||
| 870 | /* Free fontset of FACE defined on frame F. Called from | 855 | /* Free fontset of FACE defined on frame F. Called from |
| 871 | free_realized_face. */ | 856 | free_realized_face. */ |
| 872 | 857 | ||
| @@ -880,7 +865,6 @@ free_face_fontset (struct frame *f, struct face *face) | |||
| 880 | return; | 865 | return; |
| 881 | eassert (! BASE_FONTSET_P (fontset)); | 866 | eassert (! BASE_FONTSET_P (fontset)); |
| 882 | eassert (f == XFRAME (FONTSET_FRAME (fontset))); | 867 | eassert (f == XFRAME (FONTSET_FRAME (fontset))); |
| 883 | free_realized_fontset (f, fontset); | ||
| 884 | ASET (Vfontset_table, face->fontset, Qnil); | 868 | ASET (Vfontset_table, face->fontset, Qnil); |
| 885 | if (face->fontset < next_fontset_id) | 869 | if (face->fontset < next_fontset_id) |
| 886 | next_fontset_id = face->fontset; | 870 | next_fontset_id = face->fontset; |
| @@ -891,7 +875,6 @@ free_face_fontset (struct frame *f, struct face *face) | |||
| 891 | fontset = AREF (Vfontset_table, id); | 875 | fontset = AREF (Vfontset_table, id); |
| 892 | eassert (!NILP (fontset) && ! BASE_FONTSET_P (fontset)); | 876 | eassert (!NILP (fontset) && ! BASE_FONTSET_P (fontset)); |
| 893 | eassert (f == XFRAME (FONTSET_FRAME (fontset))); | 877 | eassert (f == XFRAME (FONTSET_FRAME (fontset))); |
| 894 | free_realized_fontset (f, fontset); | ||
| 895 | ASET (Vfontset_table, id, Qnil); | 878 | ASET (Vfontset_table, id, Qnil); |
| 896 | if (id < next_fontset_id) | 879 | if (id < next_fontset_id) |
| 897 | next_fontset_id = face->fontset; | 880 | next_fontset_id = face->fontset; |
| @@ -2159,7 +2142,7 @@ void | |||
| 2159 | syms_of_fontset (void) | 2142 | syms_of_fontset (void) |
| 2160 | { | 2143 | { |
| 2161 | DEFSYM (Qfontset, "fontset"); | 2144 | DEFSYM (Qfontset, "fontset"); |
| 2162 | Fput (Qfontset, Qchar_table_extra_slots, make_number (9)); | 2145 | Fput (Qfontset, Qchar_table_extra_slots, make_number (8)); |
| 2163 | DEFSYM (Qfontset_info, "fontset-info"); | 2146 | DEFSYM (Qfontset_info, "fontset-info"); |
| 2164 | Fput (Qfontset_info, Qchar_table_extra_slots, make_number (1)); | 2147 | Fput (Qfontset_info, Qchar_table_extra_slots, make_number (1)); |
| 2165 | 2148 | ||