]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fnew_fontset): Fix handling of the case that an
authorKenichi Handa <handa@m17n.org>
Sat, 24 Feb 2001 02:45:00 +0000 (02:45 +0000)
committerKenichi Handa <handa@m17n.org>
Sat, 24 Feb 2001 02:45:00 +0000 (02:45 +0000)
element of FONTLIST is a cons of family and registry.

src/fontset.c

index 51980e69b78a46e3998b5528b37a8c29b81de5c2..5797c8d3dfa4aa57402a9899c28d8c76bb52f0e9 100644 (file)
@@ -899,10 +899,14 @@ FONTLIST is an alist of charsets vs corresponding font name patterns.")
       tem = XCAR (tail);
       if (!CONSP (tem)
          || (charset = get_charset_id (XCAR (tem))) < 0
-         || !STRINGP (XCDR (tem)))
-       error ("Elements of fontlist must be a cons of charset and font name");
+         || (!STRINGP (XCDR (tem)) && !CONSP (XCDR (tem))))
+       error ("Elements of fontlist must be a cons of charset and font name pattern");
 
-      tem = Fdowncase (XCDR (tem));
+      tem = XCDR (tem);
+      if (STRINGP (tem))
+       tem = Fdowncase (tem);
+      else
+       tem = Fcons (Fdowncase (Fcar (tem)), Fdowncase (Fcdr (tem)));
       if (charset == CHARSET_ASCII)
        ascii_font = tem;
       else
@@ -920,7 +924,10 @@ FONTLIST is an alist of charsets vs corresponding font name patterns.")
   for (; CONSP (elements); elements = XCDR (elements))
     {
       elt = XCAR (elements);
-      tem = Fcons (XCAR (elt), font_family_registry (XCDR (elt), 0));
+      tem = XCDR (elt);
+      if (STRINGP (tem))
+       tem = font_family_registry (tem, 0);
+      tem = Fcons (XCAR (elt), tem);
       FONTSET_SET (fontset, XINT (XCAR (elt)), tem);
     }