]> git.eshelyaron.com Git - emacs.git/commitdiff
(Fset_buffer_multibyte): Don't make the current buffer as modified if
authorKenichi Handa <handa@m17n.org>
Tue, 6 Jun 2000 05:43:12 +0000 (05:43 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 6 Jun 2000 05:43:12 +0000 (05:43 +0000)
it is originally unmodified.

src/ChangeLog
src/buffer.c

index 201538038482a9c45bc3766e1b766b6fe8791232..0bd177aa4e3269803a68c74fa00fb20fdb055f99 100644 (file)
@@ -1,5 +1,8 @@
 2000-06-06  Kenichi Handa  <handa@etl.go.jp>
 
+       * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
+       as modified if it is originally unmodified.
+
        * term.c (encode_terminal_code): Change the way to check if
        terminal coding does any conversion.
        (append_glyph): Set glyph->pixel_width correctly.
index cc376c962388be12fc9daee0a0546ef857a8df5a..e7f6db096fd7d41c5145b25e88ce56b7db4403f1 100644 (file)
@@ -1875,6 +1875,7 @@ but the contents viewed as characters do change.")
   int undo_enabled_p = !EQ (current_buffer->undo_list, Qt);
   int begv = BEGV, zv = ZV;
   int narrowed = (BEG != begv || Z != zv);
+  int modified_p = !NILP (Fbuffer_modified_p (Qnil));
 
   if (current_buffer->base_buffer)
     error ("Cannot do `set-buffer-multibyte' on an indirect buffer");
@@ -2105,6 +2106,10 @@ but the contents viewed as characters do change.")
        other->prevent_redisplay_optimizations_p = 1;
       }
 
+  /* Restore the modifiedness of the buffer.  */
+  if (!modified_p && !NILP (Fbuffer_modified_p (Qnil)))
+    Fset_buffer_modified_p (Qnil);
+
   return flag;
 }
 \f