# HG changeset patch # User Kenichi Handa # Date 1141696434 0 # Node ID 60eaefb08cf763608bdc751b0ff5920e24d5e1f9 # Parent 23de6e67f40064e715bc036e2a611e026b646b19 (DECODE_COMPOSITION_START): If the source is short, set coding->result to CODING_RESULT_INSUFFICIENT_SRC. (decode_coding_gap): Set CODING_MODE_LAST_BLOCK after the call of detect_coding. diff -r 23de6e67f400 -r 60eaefb08cf7 src/coding.c --- a/src/coding.c Mon Mar 06 02:16:33 2006 +0000 +++ b/src/coding.c Tue Mar 07 01:53:54 2006 +0000 @@ -2808,8 +2808,10 @@ break; \ if (p == src_end - 1) \ { \ - if (coding->mode & CODING_MODE_LAST_BLOCK) \ - goto invalid_code; \ + /* The current composition doesn't end in the current \ + source. */ \ + record_conversion_result \ + (coding, CODING_RESULT_INSUFFICIENT_SRC); \ goto no_more_source; \ } \ \ @@ -6654,11 +6656,11 @@ coding->dst_pos = PT; coding->dst_pos_byte = PT_BYTE; coding->dst_multibyte = ! NILP (current_buffer->enable_multibyte_characters); - coding->mode |= CODING_MODE_LAST_BLOCK; if (CODING_REQUIRE_DETECTION (coding)) detect_coding (coding); + coding->mode |= CODING_MODE_LAST_BLOCK; decode_coding (coding); attrs = CODING_ID_ATTRS (coding->id);