From: tomo Date: Sat, 11 Oct 2003 12:33:15 +0000 (+0000) Subject: (COMPOSE_ADD_CHAR): Fixed. X-Git-Tag: r21-4-12-chise-0_21-pre8^2~1 X-Git-Url: http://git.chise.org/gitweb/?a=commitdiff_plain;h=c53db1b5dd3e48eb247d513033d4ca3f02311929;p=chise%2Fxemacs-chise.git- (COMPOSE_ADD_CHAR): Fixed. --- 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; + } } } }