[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#22096: 25.0.50; reading from fifo breaks display
From: |
Eli Zaretskii |
Subject: |
bug#22096: 25.0.50; reading from fifo breaks display |
Date: |
Sat, 05 Dec 2015 21:38:23 +0200 |
> From: Mark Oteiza <mvoteiza@udel.edu>
> Date: Sat, 05 Dec 2015 13:29:14 -0500
>
> Simpler recipe:
>
> 1. mkfifo foo
> 2. echo "bar" > foo
>
> In emacs -Q:
>
> 3. Evaluate (insert-file-contents-literally "foo" t)
>
> The buffer display is now broken.
Thanks. My Emacs is configured with --enable-checking, so it aborted
due to assertion violation. The patch below fixes that for me; please
see if it fixes the display problem for you.
Does anyone understand how come we used just
bset_enable_multibyte_characters, bypassing all the rest that is
required to make a non-empty buffer unibyte? It looks simply
blatantly wrong to me. Compare, for example, with what
decide_coding_unwind does. Did we never execute this particular code
since it was written, at least not for non-empty buffers?
I hope Handa-san (CC'ed) could comment on this.
diff --git a/src/fileio.c b/src/fileio.c
index 6cda1e3..8e44eb0 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -4265,7 +4265,7 @@ by calling `format-decode', which see. */)
&& NILP (replace))
/* Visiting a file with these coding system makes the buffer
unibyte. */
- bset_enable_multibyte_characters (current_buffer, Qnil);
+ Fset_buffer_multibyte (Qnil);
}
coding.dst_multibyte = ! NILP (BVAR (current_buffer, enable_multibyte_charac\
ters));
- bug#22096: 25.0.50; reading from fifo breaks display, (continued)
bug#22096: 25.0.50; reading from fifo breaks display, Mark Oteiza, 2015/12/05
- bug#22096: 25.0.50; reading from fifo breaks display,
Eli Zaretskii <=