Mercurial > emacs
changeset 103788:b4588e2be166
(fontset_find_font): Fix previous change.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Thu, 09 Jul 2009 01:05:27 +0000 |
parents | fb68f473a020 |
children | efda23177269 |
files | src/fontset.c |
diffstat | 1 files changed, 10 insertions(+), 10 deletions(-) [+] |
line wrap: on
line diff
--- a/src/fontset.c Wed Jul 08 14:23:57 2009 +0000 +++ b/src/fontset.c Thu Jul 09 01:05:27 2009 +0000 @@ -575,25 +575,25 @@ Lisp_Object font_def; Lisp_Object font_entity, font_object; + found_index = i; if (i == 0) { - /* Try the element matching with the charset ID at first. */ - found_index = charset_matched; if (charset_matched > 0) { + /* Try the element matching with the charset ID at first. */ + found_index = charset_matched; + /* Make this negative so that we don't come here in the + next loop. */ charset_matched = - charset_matched; + /* We must try the first element in the next loop. */ i--; } } - else if (i != - charset_matched) - { - found_index = i; - } - else + else if (i == - charset_matched) { /* We have already tried this element and the followings - that have the same font specifications. So, skip them - all. */ + that have the same font specifications in the first + iteration. So, skip them all. */ rfont_def = AREF (vec, i); font_def = RFONT_DEF_FONT_DEF (rfont_def); for (; i + 1 < ASIZE (vec); i++) @@ -610,7 +610,7 @@ rfont_def = AREF (vec, found_index); if (NILP (rfont_def)) { - if (charset_matched < 0) + if (i < 0) continue; /* This is a sign of not to try the other fonts. */ return Qt;