# HG changeset patch # User Kenichi Handa # Date 1247101527 0 # Node ID b4588e2be1664c85f96b057f46f3d1688a29b859 # Parent fb68f473a02003c04e541b1838047ea73f66c0ef (fontset_find_font): Fix previous change. diff -r fb68f473a020 -r b4588e2be166 src/fontset.c --- 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;