Mercurial > emacs
comparison src/coding.c @ 21664:4097e558fa19
(setup_coding_system): For a type 4 coding system,
FLAGS member of coding spec is a cons of CCL program symbols.
| author | Kenichi Handa <handa@m17n.org> |
|---|---|
| date | Mon, 20 Apr 1998 02:14:57 +0000 |
| parents | 8043d47984fd |
| children | 64c815fe1bdc |
comparison
equal
deleted
inserted
replaced
| 21663:a03ddc4a728b | 21664:4097e558fa19 |
|---|---|
| 3043 coding->type = coding_type_ccl; | 3043 coding->type = coding_type_ccl; |
| 3044 coding->common_flags | 3044 coding->common_flags |
| 3045 |= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK; | 3045 |= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK; |
| 3046 { | 3046 { |
| 3047 Lisp_Object val = XVECTOR (coding_spec)->contents[4]; | 3047 Lisp_Object val = XVECTOR (coding_spec)->contents[4]; |
| 3048 Lisp_Object decoder, encoder; | |
| 3049 | |
| 3048 if (CONSP (val) | 3050 if (CONSP (val) |
| 3049 && VECTORP (XCONS (val)->car) | 3051 && SYMBOLP (XCONS (val)->car) |
| 3050 && VECTORP (XCONS (val)->cdr)) | 3052 && !NILP (decoder = Fget (XCONS (val)->car, Qccl_program_idx)) |
| 3053 && (decoder = Fcdr (Faref (Vccl_program_table, decoder))) | |
| 3054 && SYMBOLP (XCONS (val)->cdr) | |
| 3055 && !NILP (encoder = Fget (XCONS (val)->cdr, Qccl_program_idx)) | |
| 3056 && (encoder = Fcdr (Faref (Vccl_program_table, encoder)))) | |
| 3051 { | 3057 { |
| 3052 setup_ccl_program (&(coding->spec.ccl.decoder), XCONS (val)->car); | 3058 setup_ccl_program (&(coding->spec.ccl.decoder), decoder); |
| 3053 setup_ccl_program (&(coding->spec.ccl.encoder), XCONS (val)->cdr); | 3059 setup_ccl_program (&(coding->spec.ccl.encoder), encoder); |
| 3054 } | 3060 } |
| 3055 else | 3061 else |
| 3056 goto label_invalid_coding_system; | 3062 goto label_invalid_coding_system; |
| 3057 } | 3063 } |
| 3058 coding->common_flags |= CODING_REQUIRE_FLUSHING_MASK; | 3064 coding->common_flags |= CODING_REQUIRE_FLUSHING_MASK; |
