# HG changeset patch # User Kenichi Handa # Date 1098102466 0 # Node ID 43067aee2f3e26731dcae9f594cee55ad51b485a # Parent d226830a814e1868b8fb94b9fe1a629490a4c1ac (fs_load_font): Use fast_string_match_ignore_case for comparing font names. (fs_query_fontset): Use fast_string_match for comparing fontset names. (list_fontsets): Likewise. diff -r d226830a814e -r 43067aee2f3e src/fontset.c --- a/src/fontset.c Mon Oct 18 12:26:36 2004 +0000 +++ b/src/fontset.c Mon Oct 18 12:27:46 2004 +0000 @@ -654,7 +654,7 @@ struct face *face; { Lisp_Object fontset; - Lisp_Object list, elt; + Lisp_Object list, elt, fullname; int size = 0; struct font_info *fontp; int charset = CHAR_CHARSET (c); @@ -700,10 +700,11 @@ font_info structure that are not set by (*load_font_func). */ fontp->charset = charset; + fullname = build_string (fontp->full_name); fontp->vertical_centering = (STRINGP (Vvertical_centering_font_regexp) - && (fast_c_string_match_ignore_case - (Vvertical_centering_font_regexp, fontp->full_name) >= 0)); + && (fast_string_match_ignore_case + (Vvertical_centering_font_regexp, fullname) >= 0)); if (fontp->encoding[1] != FONT_ENCODING_NOT_DECIDED) { @@ -720,7 +721,6 @@ /* The font itself doesn't have information about encoding. */ int i; - fontname = fontp->full_name; /* By default, encoding of ASCII chars is 0 (i.e. 0x00..0x7F), others is 1 (i.e. 0x80..0xFF). */ fontp->encoding[0] = 0; @@ -732,8 +732,7 @@ elt = XCAR (list); if (CONSP (elt) && STRINGP (XCAR (elt)) && CONSP (XCDR (elt)) - && (fast_c_string_match_ignore_case (XCAR (elt), fontname) - >= 0)) + && (fast_string_match_ignore_case (XCAR (elt), fullname) >= 0)) { Lisp_Object tmp; @@ -847,18 +846,17 @@ for (i = 0; i < ASIZE (Vfontset_table); i++) { - Lisp_Object fontset; - const unsigned char *this_name; + Lisp_Object fontset, this_name; fontset = FONTSET_FROM_ID (i); if (NILP (fontset) || !BASE_FONTSET_P (fontset)) continue; - this_name = SDATA (FONTSET_NAME (fontset)); + this_name = FONTSET_NAME (fontset); if (regexpp - ? fast_c_string_match_ignore_case (name, this_name) >= 0 - : !strcmp (SDATA (name), this_name)) + ? fast_string_match (name, this_name) >= 0 + : !strcmp (SDATA (name), SDATA (this_name))) return i; } return -1; @@ -912,19 +910,18 @@ for (id = 0; id < ASIZE (Vfontset_table); id++) { - Lisp_Object fontset; - const unsigned char *name; + Lisp_Object fontset, name; fontset = FONTSET_FROM_ID (id); if (NILP (fontset) || !BASE_FONTSET_P (fontset) || !EQ (frame, FONTSET_FRAME (fontset))) continue; - name = SDATA (FONTSET_NAME (fontset)); + name = FONTSET_NAME (fontset); if (!NILP (regexp) - ? (fast_c_string_match_ignore_case (regexp, name) < 0) - : strcmp (SDATA (pattern), name)) + ? (fast_string_match (regexp, name) < 0) + : strcmp (SDATA (pattern), SDATA (name))) continue; if (size)