(font_for_char): Use assq_no_quit, not assoc_no_quit.
authorKenichi Handa <handa@m17n.org>
Wed, 28 Jan 2009 11:50:18 +0000 (11:50 +0000)
committerKenichi Handa <handa@m17n.org>
Wed, 28 Jan 2009 11:50:18 +0000 (11:50 +0000)
(fontset_get_font_group): Remember that no font-group is specified
for C.

src/ChangeLog
src/fontset.c

index 9b359f1..ee6b952 100644 (file)
@@ -1,6 +1,8 @@
 2009-01-28  Kenichi Handa  <handa@m17n.org>
 
        * fontset.c (font_for_char): Use assq_no_quit, not assoc_no_quit.
+       (fontset_get_font_group): Remember that no font-group is specified
+       for C.
 
 2009-01-27  Chong Yidong  <cyd@stupidchicken.com>
 
index b69c650..701ab66 100644 (file)
@@ -89,7 +89,8 @@ EXFUN (Fclear_face_cache, 1);
    An element of a base fontset is a vector of FONT-DEFs which itself
    is a vector [ FONT-SPEC ENCODING REPERTORY ].
 
-   An element of a realized fontset is nil, t, or a vector of this form:
+   An element of a realized fontset is nil, t, 0, or a vector of this
+   form:
 
        [ CHARSET-ORDERED-LIST-TICK PREFERRED-RFONT-DEF
          RFONT-DEF0 RFONT-DEF1 ... ]
@@ -107,6 +108,10 @@ EXFUN (Fclear_face_cache, 1);
    The value t means that no font is available for the corresponding
    range of characters.
 
+   The value 0 means that no font is available for the corresponding
+   range of characters in this fontset, but may be available in the
+   default fontset.
+
 
    A fontset has 9 extra slots.
 
@@ -474,7 +479,11 @@ fontset_get_font_group (Lisp_Object fontset, int c)
   else
     font_group = FONTSET_FALLBACK (base_fontset);
   if (NILP (font_group))
-    return Qnil;
+    {
+      if (c >= 0)
+       char_table_set_range (fontset, from, to, make_number (0));
+      return Qnil;
+    }
   font_group = Fcopy_sequence (font_group);
   for (i = 0; i < ASIZE (font_group); i++)
     if (! NILP (AREF (font_group, i)))