diff options
| author | Kenichi Handa | 1999-07-26 11:57:35 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1999-07-26 11:57:35 +0000 |
| commit | a42f54e697e11da56bc5d6a7e2e27a5e3419a8fd (patch) | |
| tree | 3df62d7c36b46865c7df559567784ae5a1c5c31a /src/xterm.c | |
| parent | ef4ced281f7a41fe6fff6628bbe17dd0e168d054 (diff) | |
| download | emacs-a42f54e697e11da56bc5d6a7e2e27a5e3419a8fd.tar.gz emacs-a42f54e697e11da56bc5d6a7e2e27a5e3419a8fd.zip | |
(x_find_ccl_program): Get compiled CCL code by just
calling setup_coding_system.
Diffstat (limited to 'src/xterm.c')
| -rw-r--r-- | src/xterm.c | 35 |
1 files changed, 11 insertions, 24 deletions
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 | |||
| 12077 | x_find_ccl_program (fontp) | 12077 | x_find_ccl_program (fontp) |
| 12078 | struct font_info *fontp; | 12078 | struct font_info *fontp; |
| 12079 | { | 12079 | { |
| 12080 | extern Lisp_Object Vfont_ccl_encoder_alist, Vccl_program_table; | 12080 | Lisp_Object list, elt; |
| 12081 | extern Lisp_Object Qccl_program_idx; | ||
| 12082 | extern Lisp_Object resolve_symbol_ccl_program (); | ||
| 12083 | Lisp_Object list, elt, ccl_prog, ccl_id; | ||
| 12084 | 12081 | ||
| 12085 | for (list = Vfont_ccl_encoder_alist; CONSP (list); list = XCONS (list)->cdr) | 12082 | for (list = Vfont_ccl_encoder_alist; CONSP (list); list = XCONS (list)->cdr) |
| 12086 | { | 12083 | { |
| @@ -12089,26 +12086,16 @@ x_find_ccl_program (fontp) | |||
| 12089 | && STRINGP (XCONS (elt)->car) | 12086 | && STRINGP (XCONS (elt)->car) |
| 12090 | && (fast_c_string_match_ignore_case (XCONS (elt)->car, fontp->name) | 12087 | && (fast_c_string_match_ignore_case (XCONS (elt)->car, fontp->name) |
| 12091 | >= 0)) | 12088 | >= 0)) |
| 12092 | { | 12089 | break; |
| 12093 | if (SYMBOLP (XCONS (elt)->cdr) && | 12090 | } |
| 12094 | (!NILP (ccl_id = Fget (XCONS (elt)->cdr, Qccl_program_idx)))) | 12091 | if (! NILP (list)) |
| 12095 | { | 12092 | { |
| 12096 | ccl_prog = XVECTOR (Vccl_program_table)->contents[XUINT (ccl_id)]; | 12093 | struct ccl_program *ccl = xmalloc (sizeof (struct ccl_program)); |
| 12097 | if (!CONSP (ccl_prog)) continue; | 12094 | |
| 12098 | ccl_prog = XCONS (ccl_prog)->cdr; | 12095 | if (setup_ccl_program (ccl, XCONS (elt)->cdr) < 0) |
| 12099 | } | 12096 | xfree (ccl); |
| 12100 | else | 12097 | else |
| 12101 | { | 12098 | fontp->font_encoder = ccl; |
| 12102 | ccl_prog = XCONS (elt)->cdr; | ||
| 12103 | if (!VECTORP (ccl_prog)) continue; | ||
| 12104 | } | ||
| 12105 | |||
| 12106 | fontp->font_encoder | ||
| 12107 | = (struct ccl_program *) xmalloc (sizeof (struct ccl_program)); | ||
| 12108 | setup_ccl_program (fontp->font_encoder, | ||
| 12109 | resolve_symbol_ccl_program (ccl_prog)); | ||
| 12110 | break; | ||
| 12111 | } | ||
| 12112 | } | 12099 | } |
| 12113 | } | 12100 | } |
| 12114 | 12101 | ||