(read_process_output): Before inserting the decoded
[bpt/emacs.git] / src / process.c
index 35fca18..49dcaea 100644 (file)
@@ -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);