summaryrefslogtreecommitdiff
path: root/src/buffer.c
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>1999-12-22 10:57:23 +0000
committerGerd Moellmann <gerd@gnu.org>1999-12-22 10:57:23 +0000
commit724b203fbafecdfa720ed2dd998a9c53eea2d44d (patch)
treef5f8048ef247487212319740353babd689e2dbf3 /src/buffer.c
parentf2be114689f05817e35b38f9d78fbafd2cb5501c (diff)
(Fset_buffer_multibyte): Arrange for a thorough
redisplay after changing the multibyteness of a buffer.
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/buffer.c b/src/buffer.c
index 04368804b7a..47d15e9fcf1 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1881,12 +1881,20 @@ but the contents viewed as characters do change.")
set_intervals_multibyte (1);
}
+ /* Changing the multibyteness of a buffer means that all windows
+ showing that buffer must be updated thoroughly. */
+ current_buffer->prevent_redisplay_optimizations_p = 1;
+ ++windows_or_buffers_changed;
+
/* Copy this buffer's new multibyte status
into all of its indirect buffers. */
for (other = all_buffers; other; other = other->next)
if (other->base_buffer == current_buffer && !NILP (other->name))
- other->enable_multibyte_characters
- = current_buffer->enable_multibyte_characters;
+ {
+ other->enable_multibyte_characters
+ = current_buffer->enable_multibyte_characters;
+ other->prevent_redisplay_optimizations_p = 1;
+ }
return flag;
}