]> git.eshelyaron.com Git - emacs.git/commitdiff
(printchar): Cancel previous change.
authorKenichi Handa <handa@m17n.org>
Tue, 15 Dec 1998 10:38:40 +0000 (10:38 +0000)
committerKenichi Handa <handa@m17n.org>
Tue, 15 Dec 1998 10:38:40 +0000 (10:38 +0000)
src/print.c

index b8be2771944344e306820ef94faab1bcf7d55b2f..3723c79b6ddd85bdd9c2e3b6b8248e198c1d70a4 100644 (file)
@@ -417,29 +417,23 @@ printchar (ch, fun)
 
       /* Convert message to multibyte if we are now adding multibyte text.  */
       if (! NILP (current_buffer->enable_multibyte_characters)
-         && len > 1
-         && ! message_enable_multibyte)
+         && ! message_enable_multibyte
+         && printbufidx > 0)
        {
-         /* If we have already had some message text in the messsage
-             buffer, we must convert it to multibyte.  */
-         if (printbufidx > 0)
+         int size = count_size_as_multibyte (FRAME_MESSAGE_BUF (mini_frame),
+                                             printbufidx);
+         unsigned char *tembuf = (unsigned char *) alloca (size + 1);
+         copy_text (FRAME_MESSAGE_BUF (mini_frame), tembuf, printbufidx,
+                    0, 1);
+         printbufidx = size;
+         if (printbufidx > FRAME_MESSAGE_BUF_SIZE (mini_frame))
            {
-             int size
-               = count_size_as_multibyte (FRAME_MESSAGE_BUF (mini_frame),
-                                          printbufidx);
-             unsigned char *tembuf = (unsigned char *) alloca (size + 1);
-             copy_text (FRAME_MESSAGE_BUF (mini_frame), tembuf, printbufidx,
-                        0, 1);
-             printbufidx = size;
-             if (printbufidx > FRAME_MESSAGE_BUF_SIZE (mini_frame))
-               {
-                 printbufidx = FRAME_MESSAGE_BUF_SIZE (mini_frame);
-                 /* Rewind incomplete multi-byte form.  */
-                 while (printbufidx > 0 && tembuf[printbufidx] >= 0xA0)
-                   printbufidx--;
-               }
-             bcopy (tembuf, FRAME_MESSAGE_BUF (mini_frame), printbufidx);
+             printbufidx = FRAME_MESSAGE_BUF_SIZE (mini_frame);
+             /* Rewind incomplete multi-byte form.  */
+             while (printbufidx > 0 && tembuf[printbufidx] >= 0xA0)
+               printbufidx--;
            }
+         bcopy (tembuf, FRAME_MESSAGE_BUF (mini_frame), printbufidx);
          message_enable_multibyte = 1;
        }