From: Kenichi Handa Date: Mon, 26 Jul 1999 11:57:35 +0000 (+0000) Subject: (x_find_ccl_program): Get compiled CCL code by just X-Git-Tag: emacs-pretest-21.0.90~7373 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=a42f54e697e11da56bc5d6a7e2e27a5e3419a8fd;p=emacs.git (x_find_ccl_program): Get compiled CCL code by just calling setup_coding_system. --- diff --git a/src/xterm.c b/src/xterm.c index 14514983a41..3cab4ec4ba7 100644 --- a/src/xterm.c +++ b/src/xterm.c @@ -12077,10 +12077,7 @@ void x_find_ccl_program (fontp) struct font_info *fontp; { - extern Lisp_Object Vfont_ccl_encoder_alist, Vccl_program_table; - extern Lisp_Object Qccl_program_idx; - extern Lisp_Object resolve_symbol_ccl_program (); - Lisp_Object list, elt, ccl_prog, ccl_id; + Lisp_Object list, elt; for (list = Vfont_ccl_encoder_alist; CONSP (list); list = XCONS (list)->cdr) { @@ -12089,26 +12086,16 @@ x_find_ccl_program (fontp) && STRINGP (XCONS (elt)->car) && (fast_c_string_match_ignore_case (XCONS (elt)->car, fontp->name) >= 0)) - { - if (SYMBOLP (XCONS (elt)->cdr) && - (!NILP (ccl_id = Fget (XCONS (elt)->cdr, Qccl_program_idx)))) - { - ccl_prog = XVECTOR (Vccl_program_table)->contents[XUINT (ccl_id)]; - if (!CONSP (ccl_prog)) continue; - ccl_prog = XCONS (ccl_prog)->cdr; - } - else - { - ccl_prog = XCONS (elt)->cdr; - if (!VECTORP (ccl_prog)) continue; - } - - fontp->font_encoder - = (struct ccl_program *) xmalloc (sizeof (struct ccl_program)); - setup_ccl_program (fontp->font_encoder, - resolve_symbol_ccl_program (ccl_prog)); - break; - } + break; + } + if (! NILP (list)) + { + struct ccl_program *ccl = xmalloc (sizeof (struct ccl_program)); + + if (setup_ccl_program (ccl, XCONS (elt)->cdr) < 0) + xfree (ccl); + else + fontp->font_encoder = ccl; } }