]> git.eshelyaron.com Git - emacs.git/commitdiff
(Finsert_file_contents): Don't change the multibyteness
authorGerd Moellmann <gerd@gnu.org>
Thu, 30 Aug 2001 08:24:22 +0000 (08:24 +0000)
committerGerd Moellmann <gerd@gnu.org>
Thu, 30 Aug 2001 08:24:22 +0000 (08:24 +0000)
of the buffer if REPLACE is non-nil.

src/fileio.c

index 0bd3d0221b5f367f516b92b6e387f9cbb68717e3..1a90e511322fabf235188527542a58264bb1eb9d 100644 (file)
@@ -4346,25 +4346,14 @@ actually used.")
     }
 
   if (!NILP (visit)
+      /* Can't do this if part of the buffer might be preserved.  */
+      && NILP (replace)
       && (coding.type == coding_type_no_conversion
          || coding.type == coding_type_raw_text))
     {
-      /* 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
-       /* We cannot Fset_buffer_multibyte(nil) here.  When we visit a
-          file literally in a multibyte buffer, a call to
-          Fset_buffer_multibyte would change character positions,
-          although the buffer has unibyte contents, and that's wrong,
-          of course.  */
-       current_buffer->enable_multibyte_characters = Qnil;
+      /* Visiting a file with these coding system makes the buffer
+         unibyte. */
+      current_buffer->enable_multibyte_characters = Qnil;
       coding.dst_multibyte = 0;
     }