From: tomo Date: Mon, 13 Oct 2003 11:25:19 +0000 (+0000) Subject: Sync up with r21-4-12-chise-0_21-pre8. X-Git-Tag: r21-4-12-chise-0_21-pre8-for-libchise-b1-r0_2_0-pre8 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;ds=sidebyside;h=cb1a38a33b2b5f0e57447e600bbc33da77d9cccd;p=chise%2Fxemacs-chise.git Sync up with r21-4-12-chise-0_21-pre8. --- 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; + } } } }