summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Moellmann <gerd@gnu.org>2001-07-04 07:42:36 +0000
committerGerd Moellmann <gerd@gnu.org>2001-07-04 07:42:36 +0000
commitc347a1c319586ae6de39bdc28fb5c33af3384885 (patch)
tree27efb8b5c2a558e135c84ac32ad8f674562cdea6
parent62c485d28048a7c08e53defc7016a354d0614c96 (diff)
downloademacs-c347a1c319586ae6de39bdc28fb5c33af3384885.tar.gz
(x_produce_glyphs): Don't convert multibyte characters
to unibyte characters in unibyte buffers.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/xterm.c6
2 files changed, 7 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 034a5617b4d..73f8dd6d165 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2001-07-04 Gerd Moellmann <gerd@gnu.org>
+
+ * xterm.c (x_produce_glyphs): Don't convert multibyte characters
+ to unibyte characters in unibyte buffers.
+
2001-07-03 Gerd Moellmann <gerd@gnu.org>
* eval.c (specbind): If SYMBOL has a frame-local binding, record
diff --git a/src/xterm.c b/src/xterm.c
index eeae9714204..5991d3e1223 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -1817,8 +1817,7 @@ x_produce_glyphs (it)
struct glyph because the character code itself tells if or
not the character is multibyte. Thus, in the future, we must
consider eliminating the field `multibyte_p' in the struct
- glyph.
- */
+ glyph. */
int saved_multibyte_p = it->multibyte_p;
/* Maybe translate single-byte characters to multibyte, or the
@@ -1839,8 +1838,7 @@ x_produce_glyphs (it)
else if (!SINGLE_BYTE_CHAR_P (it->c)
&& !it->multibyte_p)
{
- it->char_to_display = multibyte_char_to_unibyte (it->c, Qnil);
- it->multibyte_p = 0;
+ it->multibyte_p = 1;
it->face_id = FACE_FOR_CHAR (it->f, face, it->char_to_display);
face = FACE_FROM_ID (it->f, it->face_id);
}