# HG changeset patch # User Kenichi Handa # Date 900548084 0 # Node ID 059f1c33af706cf6a4187009ca374904ff284324 # Parent 1de4d5771a8f99928bae8fad7e45e96103dfc730 (read_process_output): Even if we read data without code conversion, calculate character counts. If we insert the data into a unibyte buffer, treat the data as unibyte. diff -r 1de4d5771a8f -r 059f1c33af70 src/process.c --- a/src/process.c Wed Jul 15 10:21:04 1998 +0000 +++ b/src/process.c Thu Jul 16 00:14:44 1998 +0000 @@ -2911,21 +2911,24 @@ : coding->produced_char); chars_in_decoding_buf = 1; } -#ifdef VMS - else if (chars_allocated) + else { - /* Although we don't have to decode the received data, we must - move it to an area which we don't have to free. */ - if (! STRINGP (p->decoding_buf) - || STRING_BYTES (XSTRING (p->decoding_buf)) < nbytes) - p->decoding_buf = make_uninit_string (nbytes); - bcopy (chars, XSTRING (p->decoding_buf)->data, nbytes); - free (chars); - chars = XSTRING (p->decoding_buf)->data; +#ifdef VMS + if (chars_allocated) + { + /* Although we don't have to decode the received data, we + must move it to an area which we don't have to free. */ + if (! STRINGP (p->decoding_buf) + || STRING_BYTES (XSTRING (p->decoding_buf)) < nbytes) + p->decoding_buf = make_uninit_string (nbytes); + bcopy (chars, XSTRING (p->decoding_buf)->data, nbytes); + free (chars); + chars = XSTRING (p->decoding_buf)->data; + chars_in_decoding_buf = 1; + } +#endif nchars = multibyte_chars_in_text (chars, nbytes); - chars_in_decoding_buf = 1; } -#endif Vlast_coding_system_used = coding->symbol; @@ -3054,6 +3057,9 @@ if (! (BEGV <= PT && PT <= ZV)) Fwiden (); + if (NILP (current_buffer->enable_multibyte_characters)) + nchars = nbytes; + /* Insert before markers in case we are inserting where the buffer's mark is, and the user's next command is Meta-y. */ if (chars_in_decoding_buf)