From: Kenichi Handa Date: Mon, 16 Mar 1998 05:51:07 +0000 (+0000) Subject: (Finsert_file_contents): Comment modified. Give X-Git-Tag: emacs-20.3~1885 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f4ac86afc5b2297b76649cc2aad4df678ded8e3d;p=emacs.git (Finsert_file_contents): Comment modified. Give adjust_after_replace the new arg REPLACE as 0. --- diff --git a/src/fileio.c b/src/fileio.c index 7def34b7dcb..59d587ae1d4 100644 --- a/src/fileio.c +++ b/src/fileio.c @@ -3771,6 +3771,9 @@ This does code conversion according to the value of\n\ { if (CODING_MAY_REQUIRE_DECODING (&coding)) { + /* Here, we don't have to consider byte combining (see the + comment below) because code_convert_region takes care of + it. */ code_convert_region (PT, PT_BYTE, PT + inserted, PT_BYTE + inserted, &coding, 0, 0); inserted = (NILP (current_buffer->enable_multibyte_characters) @@ -3780,8 +3783,11 @@ This does code conversion according to the value of\n\ { int inserted_byte = inserted; - /* At first, reset positions to the state of before - insertion. */ + /* There's a possibility that we must combine bytes at the + head (resp. the tail) of the just inserted text with the + bytes before (resp. after) the gap to form a single + character. Thus, we, at first, rewind the adjusted + character positions (GPT, ZV, Z), then adjust them again. */ GAP_SIZE += inserted; GPT_BYTE -= inserted; ZV_BYTE -= inserted; @@ -3790,10 +3796,9 @@ This does code conversion according to the value of\n\ ZV -= inserted; Z -= inserted; - /* Then adjust positions. */ inserted = multibyte_chars_in_text (GPT_ADDR, inserted); adjust_after_replace (PT, PT_BYTE, PT, PT_BYTE, - inserted, inserted_byte); + inserted, inserted_byte, 0); } #ifdef DOS_NT