]> git.eshelyaron.com Git - emacs.git/commitdiff
(printchar): Outputting multibyte characters
authorKenichi Handa <handa@m17n.org>
Tue, 15 Dec 1998 10:41:44 +0000 (10:41 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 15 Dec 1998 10:41:44 +0000 (10:41 +0000)
to echo area always makes it multibyte.

src/print.c

index 3723c79b6ddd85bdd9c2e3b6b8248e198c1d70a4..9b24f9898305c550248eb8323217a8e65b714c2f 100644 (file)
@@ -434,12 +434,18 @@ printchar (ch, fun)
                printbufidx--;
            }
          bcopy (tembuf, FRAME_MESSAGE_BUF (mini_frame), printbufidx);
-         message_enable_multibyte = 1;
        }
 
+      /* Record whether the message buffer is multibyte.
+        (If at any point some multibyte characters are added, then it is.)  */
+      if (len > 0 && ! NILP (current_buffer->enable_multibyte_characters))
+       message_enable_multibyte = 1;
+
       if (printbufidx < FRAME_MESSAGE_BUF_SIZE (mini_frame) - len)
-       bcopy (str, &FRAME_MESSAGE_BUF (mini_frame)[printbufidx], len),
-       printbufidx += len;
+       {
+         bcopy (str, &FRAME_MESSAGE_BUF (mini_frame)[printbufidx], len);
+         printbufidx += len;
+       }
       FRAME_MESSAGE_BUF (mini_frame)[printbufidx] = 0;
       echo_area_glyphs_length = printbufidx;