diff --git a/src/ChangeLog b/src/ChangeLog index 71af862cdac..dfd0a05df35 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,7 @@ +2012-02-09 Kenichi Handa + + * coding.c (produce_chars): Fix updating of src_end (Bug#10701). + 2012-02-07 Chong Yidong * buffer.c (Fbuffer_local_variables) diff --git a/src/coding.c b/src/coding.c index 15e8572edb3..eb89563eef4 100644 --- a/src/coding.c +++ b/src/coding.c @@ -6849,7 +6849,7 @@ produce_chars (struct coding_system *coding, Lisp_Object translation_table, dst_end = coding->destination + coding->dst_bytes; coding_set_source (coding); src = coding->source + offset; - src_end = coding->source + coding->src_bytes; + src_end = coding->source + coding->consumed; if (EQ (coding->src_object, coding->dst_object)) dst_end = (unsigned char *) src; } @@ -6883,7 +6883,7 @@ produce_chars (struct coding_system *coding, Lisp_Object translation_table, dst_end = coding->destination + coding->dst_bytes; coding_set_source (coding); src = coding->source + offset; - src_end = coding->source + coding->src_bytes; + src_end = coding->source + coding->consumed; if (EQ (coding->src_object, coding->dst_object)) dst_end = (unsigned char *) src; } @@ -6904,7 +6904,7 @@ produce_chars (struct coding_system *coding, Lisp_Object translation_table, dst = alloc_destination (coding, require, dst); coding_set_source (coding); src = coding->source + offset; - src_end = coding->source + coding->src_bytes; + src_end = coding->source + coding->consumed; } } produced_chars = coding->consumed_char;