diff --git a/src/process.c b/src/process.c index 35fca18ff28..49dcaea467c 100644 --- a/src/process.c +++ b/src/process.c @@ -3075,6 +3075,12 @@ read_process_output (proc, channel) bcopy (chars + coding->consumed, XSTRING (p->decoding_buf)->data, carryover); XSETINT (p->decoding_carryover, carryover); + /* Adjust the multibyteness of TEXT to that of the buffer. */ + if (NILP (current_buffer->enable_multibyte_characters) + != ! STRING_MULTIBYTE (text)) + text = (STRING_MULTIBYTE (text) + ? Fstring_as_unibyte (text) + : Fstring_as_multibyte (text)); nbytes = STRING_BYTES (XSTRING (text)); nchars = XSTRING (text)->size; insert_from_string_before_markers (text, 0, 0, nchars, nbytes, 0);