Mercurial > emacs
changeset 24604:a9eb0deae6c0
(Fmake_indirect_buffer): Copy multibyte status from the base buffer.
(Fset_buffer_multibyte): Copy new multibyte status
into the buffer's indirect buffers.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 09 Apr 1999 19:20:26 +0000 |
parents | 5ee655f7a49b |
children | f378efa4aa8a |
files | src/buffer.c |
diffstat | 1 files changed, 11 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/buffer.c Fri Apr 09 13:51:19 1999 +0000 +++ b/src/buffer.c Fri Apr 09 19:20:26 1999 +0000 @@ -466,6 +466,9 @@ b->mark = Fmake_marker (); b->name = name; + /* The multibyte status belongs to the base buffer. */ + b->enable_multibyte_characters = b->base_buffer->enable_multibyte_characters; + /* Make sure the base buffer has markers for its narrowing. */ if (NILP (b->base_buffer->pt_marker)) { @@ -1735,6 +1738,7 @@ Lisp_Object flag; { Lisp_Object tail, markers; + struct buffer *other; if (current_buffer->base_buffer) error ("Cannot do `set-buffer-multibyte' on an indirect buffer"); @@ -1852,6 +1856,13 @@ set_intervals_multibyte (1); } + /* 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; + return flag; }