aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDmitry Antipov2014-06-19 20:52:20 +0400
committerDmitry Antipov2014-06-19 20:52:20 +0400
commiteb0912379df1185ee5ec23de1658c8ea4594849d (patch)
tree23c5c74d9c79bc784201ab2e4c4c69293037f0a8
parentd10a551d9d6b25de0f46c18a30b7399c993d498e (diff)
downloademacs-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/ChangeLog13
-rw-r--r--src/fontset.c39
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 @@
12014-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
12014-06-17 Paul Eggert <eggert@cs.ucla.edu> 142014-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]
213static void 213static void
214set_fontset_ascii (Lisp_Object fontset, Lisp_Object ascii) 214set_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]
222static void 222static void
223set_fontset_base (Lisp_Object fontset, Lisp_Object base) 223set_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]
229static void 229static void
230set_fontset_frame (Lisp_Object fontset, Lisp_Object frame) 230set_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]
243static void 243static void
244set_fontset_default (Lisp_Object fontset, Lisp_Object def) 244set_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]
252static void 252static void
253set_fontset_fallback (Lisp_Object fontset, Lisp_Object fallback) 253set_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
855static void
856free_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
2159syms_of_fontset (void) 2142syms_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