Mercurial > emacs
diff src/fileio.c @ 38932:8328e5ca5f55
(Finsert_file_contents): Set coding's dest_multibyte
to 0 also in the REPLACE case.
| author | Gerd Moellmann <gerd@gnu.org> |
|---|---|
| date | Fri, 24 Aug 2001 08:34:50 +0000 |
| parents | ffa8f910b5f1 |
| children | 0c5accb9bd18 |
line wrap: on
line diff
--- a/src/fileio.c Fri Aug 24 07:46:40 2001 +0000 +++ b/src/fileio.c Fri Aug 24 08:34:50 2001 +0000 @@ -4343,16 +4343,18 @@ && (coding.type == coding_type_no_conversion || coding.type == coding_type_raw_text)) { - /* Visiting a file with these coding system always make the buffer - unibyte. */ + /* Visiting a file with these coding systems should always make + the buffer unibyte. If we happen to be replacing text in a + multibyte buffer (this happens when reverting an RMAIL + buffer), positions in the buffer, markers etc. may have byte + positions != character positions, so just setting + enable_multibyte_characters to nil doesn't suffice. */ if (!NILP (replace) && !NILP (current_buffer->enable_multibyte_characters)) Fset_buffer_multibyte (Qnil); else - { - current_buffer->enable_multibyte_characters = Qnil; - coding.dst_multibyte = 0; - } + current_buffer->enable_multibyte_characters = Qnil; + coding.dst_multibyte = 0; } if (inserted > 0 || coding.type == coding_type_ccl)
