Mercurial > emacs
changeset 25068:0d081383b5b8
(x_find_ccl_program): Get compiled CCL code by just
calling setup_coding_system.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Mon, 26 Jul 1999 11:57:35 +0000 |
parents | 23910b121ced |
children | ee9bfbc340ba |
files | src/xterm.c |
diffstat | 1 files changed, 11 insertions(+), 24 deletions(-) [+] |
line wrap: on
line diff
--- a/src/xterm.c Mon Jul 26 11:56:56 1999 +0000 +++ b/src/xterm.c Mon Jul 26 11:57:35 1999 +0000 @@ -12077,10 +12077,7 @@ 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 @@ && 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; } }