*** xterm.c.~1.790.~ Wed Apr 9 18:44:46 2003 --- xterm.c Thu May 1 19:30:51 2003 *************** *** 7937,7943 **** char *fontsetname; { int fontset = fs_query_fontset (build_string (fontsetname), 0); - Lisp_Object result; if (fontset < 0) return Qnil; --- 7937,7942 ---- *************** *** 7947,7957 **** to do. */ return fontset_name (fontset); ! result = x_new_font (f, (SDATA (fontset_ascii (fontset)))); if (!STRINGP (result)) /* Can't load ASCII font. */ ! return Qnil; /* Since x_new_font doesn't update any fontset information, do it now. */ f->output_data.x->fontset = fontset; --- 7946,7986 ---- to do. */ return fontset_name (fontset); ! if (x_new_fontset_internal (f, fontset) == 0) ! return build_string (fontsetname); ! else return Qnil; ! } ! ! ! /* Like x_new_fontset, but don't check wheter the fontset is already ! set in the frame. */ ! ! Lisp_Object ! x_new_fontset_force (f, fontsetname) ! struct frame *f; ! char *fontsetname; ! { ! int fontset = fs_query_fontset (build_string (fontsetname), 0); ! ! if (fontset < 0) ! return Qnil; ! ! if (x_new_fontset_internal (f, fontset) == 0) ! return build_string (fontsetname); ! else return Qnil; ! } ! ! int ! x_new_fontset_internal (f, fontset) ! struct frame *f; ! int fontset; ! { ! Lisp_Object result ! = x_new_font (f, (SDATA (fontset_ascii (fontset)))); if (!STRINGP (result)) /* Can't load ASCII font. */ ! return 1; /* Since x_new_font doesn't update any fontset information, do it now. */ f->output_data.x->fontset = fontset; *************** *** 7961,7968 **** && (FRAME_XIC_STYLE (f) & (XIMPreeditPosition | XIMStatusArea))) xic_set_xfontset (f, SDATA (fontset_ascii (fontset))); #endif ! ! return build_string (fontsetname); } --- 7990,7996 ---- && (FRAME_XIC_STYLE (f) & (XIMPreeditPosition | XIMStatusArea))) xic_set_xfontset (f, SDATA (fontset_ascii (fontset))); #endif ! return 0; }