From cb1a38a33b2b5f0e57447e600bbc33da77d9cccd Mon Sep 17 00:00:00 2001 From: tomo Date: Mon, 13 Oct 2003 11:25:19 +0000 Subject: [PATCH] Sync up with r21-4-12-chise-0_21-pre8. --- src/ChangeLog | 4 ++++ src/text-coding.c | 22 ++++++++++++++++------ 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index dd56f93..8af1b84 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -151,6 +151,10 @@ (Fload_char_attribute_table): Use `chise_char_feature_value_iterate' instead of `chise_ft_iterate'. +2003-10-11 MORIOKA Tomohiko + + * text-coding.c (COMPOSE_ADD_CHAR): Fixed. + 2003-08-19 MORIOKA Tomohiko * chartab.c (put_char_table): Modify for inherited coded-charsets diff --git a/src/text-coding.c b/src/text-coding.c index 19c6a31..6baefdd 100644 --- a/src/text-coding.c +++ b/src/text-coding.c @@ -3493,11 +3493,11 @@ COMPOSE_ADD_CHAR (struct decoding_stream *str, if (CHARP (ret)) { Emchar char2 = XCHARVAL (ret); - ret = Fget_char_attribute (make_char (character), Qcomposition, - Qnil); - if (NILP (ret)) + Lisp_Object ret2 = Fget_char_attribute (ret, Qcomposition, Qnil); + + if (NILP (ret2)) { - decode_add_er_char (str, character, dst); + decode_add_er_char (str, char2, dst); str->combined_char_count = 0; str->combining_table = Qnil; } @@ -3505,13 +3505,23 @@ COMPOSE_ADD_CHAR (struct decoding_stream *str, { str->combined_chars[0] = char2; str->combined_char_count = 1; - str->combining_table = ret; + str->combining_table = ret2; } } else { + ret = Fget_char_attribute (make_char (character), Qcomposition, + Qnil); + COMPOSE_FLUSH_CHARS (str, dst); - decode_add_er_char (str, character, dst); + if (NILP (ret)) + decode_add_er_char (str, character, dst); + else + { + str->combined_chars[0] = character; + str->combined_char_count = 1; + str->combining_table = ret; + } } } } -- 1.7.10.4