summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>1998-12-31 16:32:53 +0000
committerEli Zaretskii <eliz@gnu.org>1998-12-31 16:32:53 +0000
commitaff4381d9ac6f2de1a72f7dfcf956cce457ddee3 (patch)
treee13041f385b6c67051a686d90e20e93b7d2e25a7
parentb7cd1746e23b9e9fce0f937d5b14a524c569c3f2 (diff)
downloademacs-aff4381d9ac6f2de1a72f7dfcf956cce457ddee3.tar.gz
emacs-aff4381d9ac6f2de1a72f7dfcf956cce457ddee3.tar.bz2
emacs-aff4381d9ac6f2de1a72f7dfcf956cce457ddee3.zip
(IT_write_glyphs): Convert unibyte characters to
multibyte in unibyte buffers only.
-rw-r--r--src/msdos.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/msdos.c b/src/msdos.c
index 4f241cec4ef..9b70fbea74e 100644
--- a/src/msdos.c
+++ b/src/msdos.c
@@ -726,7 +726,11 @@ IT_write_glyphs (GLYPH *str, int str_len)
/* Convert the character code to multibyte, if they
requested display via language environment. */
ch = FAST_GLYPH_CHAR (g);
- if (unibyte_display_via_language_environment
+ /* We only want to convert unibyte characters to multibyte
+ in unibyte buffers! Otherwise, the 8-bit code might come
+ from the display table set up to display foreign characters. */
+ if (NILP (current_buffer->enable_multibyte_characters)
+ && unibyte_display_via_language_environment
&& SINGLE_BYTE_CHAR_P (ch)
&& (ch >= 0240
|| (ch >= 0200 && !NILP (Vnonascii_translation_table))))