]> git.eshelyaron.com Git - emacs.git/commitdiff
(read_process_output): Even if we read data without
authorKenichi Handa <handa@m17n.org>
Thu, 16 Jul 1998 00:14:44 +0000 (00:14 +0000)
committerKenichi Handa <handa@m17n.org>
Thu, 16 Jul 1998 00:14:44 +0000 (00:14 +0000)
code conversion, calculate character counts.  If we insert the
data into a unibyte buffer, treat the data as unibyte.

src/process.c

index c8ee4b96ea9d341026d5fad4a9ff0faaec697924..4d362b95d1e5c9763a77d2d7d4c6f0b6be0c28dd 100644 (file)
@@ -2911,21 +2911,24 @@ read_process_output (proc, channel)
                : 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 @@ read_process_output (proc, channel)
       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)