Mercurial > emacs
changeset 23897:6a13232828e5
(printchar): Cancel previous change.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 15 Dec 1998 10:38:40 +0000 |
parents | c0c441b28347 |
children | 4d31ceed9039 |
files | src/print.c |
diffstat | 1 files changed, 14 insertions(+), 20 deletions(-) [+] |
line wrap: on
line diff
--- a/src/print.c Tue Dec 15 06:39:39 1998 +0000 +++ b/src/print.c Tue Dec 15 10:38:40 1998 +0000 @@ -417,29 +417,23 @@ /* 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; }