Mercurial > emacs
comparison src/ftfont.c @ 103003:bf88e5d2f4af
(ftfont_pattern_entity): Return a newly allocated
entity even if the cache hits.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 17 Apr 2009 00:55:41 +0000 |
parents | 18e317a87f12 |
children | 8f0fbb48af5a |
comparison
equal
deleted
inserted
replaced
103002:61ab76316844 | 103003:bf88e5d2f4af |
---|---|
206 key = Fcons (make_unibyte_string ((char *) file, strlen ((char *) file)), | 206 key = Fcons (make_unibyte_string ((char *) file, strlen ((char *) file)), |
207 make_number (index)); | 207 make_number (index)); |
208 cache = ftfont_lookup_cache (key, FTFONT_CACHE_FOR_ENTITY); | 208 cache = ftfont_lookup_cache (key, FTFONT_CACHE_FOR_ENTITY); |
209 entity = XCAR (cache); | 209 entity = XCAR (cache); |
210 if (! NILP (entity)) | 210 if (! NILP (entity)) |
211 return entity; | 211 { |
212 Lisp_Object val = font_make_entity (); | |
213 int i; | |
214 | |
215 for (i = 0; i < FONT_OBJLIST_INDEX; i++) | |
216 ASET (val, i, AREF (entity, i)); | |
217 return val; | |
218 } | |
212 entity = font_make_entity (); | 219 entity = font_make_entity (); |
213 XSETCAR (cache, entity); | 220 XSETCAR (cache, entity); |
214 | 221 |
215 ASET (entity, FONT_TYPE_INDEX, Qfreetype); | 222 ASET (entity, FONT_TYPE_INDEX, Qfreetype); |
216 ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1); | 223 ASET (entity, FONT_REGISTRY_INDEX, Qiso10646_1); |