aboutsummaryrefslogtreecommitdiffstats
path: root/src/coding.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/coding.c')
-rw-r--r--src/coding.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/src/coding.c b/src/coding.c
index f5c53ba8899..6010b402529 100644
--- a/src/coding.c
+++ b/src/coding.c
@@ -3165,22 +3165,12 @@ setup_coding_system (coding_system, coding)
3165 coding->common_flags 3165 coding->common_flags
3166 |= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK; 3166 |= CODING_REQUIRE_DECODING_MASK | CODING_REQUIRE_ENCODING_MASK;
3167 { 3167 {
3168 Lisp_Object val;
3169 Lisp_Object decoder, encoder;
3170
3171 val = XVECTOR (coding_spec)->contents[4]; 3168 val = XVECTOR (coding_spec)->contents[4];
3172 if (CONSP (val) 3169 if (! CONSP (val)
3173 && SYMBOLP (XCONS (val)->car) 3170 || setup_ccl_program (&(coding->spec.ccl.decoder),
3174 && !NILP (decoder = Fget (XCONS (val)->car, Qccl_program_idx)) 3171 XCONS (val)->car) < 0
3175 && !NILP (decoder = Fcdr (Faref (Vccl_program_table, decoder))) 3172 || setup_ccl_program (&(coding->spec.ccl.encoder),
3176 && SYMBOLP (XCONS (val)->cdr) 3173 XCONS (val)->cdr) < 0)
3177 && !NILP (encoder = Fget (XCONS (val)->cdr, Qccl_program_idx))
3178 && !NILP (encoder = Fcdr (Faref (Vccl_program_table, encoder))))
3179 {
3180 setup_ccl_program (&(coding->spec.ccl.decoder), decoder);
3181 setup_ccl_program (&(coding->spec.ccl.encoder), encoder);
3182 }
3183 else
3184 goto label_invalid_coding_system; 3174 goto label_invalid_coding_system;
3185 3175
3186 bzero (coding->spec.ccl.valid_codes, 256); 3176 bzero (coding->spec.ccl.valid_codes, 256);