diff src/redisplay-tty.c @ 5565:48a3d3281b48

Pass eighth bit on TTY consoles to coding system if needed. src/ChangeLog addition: 2011-09-06 Aidan Kehoe <kehoea@parhasard.net> * redisplay-tty.c (init_tty_for_redisplay): Only set the console meta key flag to treat the eight bit as meta if the native coding system doesn't need that. * general-slots.h: * mule-coding.c: * mule-coding.c (syms_of_mule_coding): Move Qiso2022, Qseven to general-slots.h, they're now used in redisplay-tty.c. lisp/ChangeLog addition: 2011-09-06 Aidan Kehoe <kehoea@parhasard.net> * mule/mule-cmds.el (set-language-environment-coding-systems): Set the input mode for TTY consoles to use the eighth bit for character information if the native coding system for the language environment needs that.
author Aidan Kehoe <kehoea@parhasard.net>
date Tue, 06 Sep 2011 11:44:50 +0100
parents f87be7ddd60d
children 81fee4aee9b6
line wrap: on
line diff
--- a/src/redisplay-tty.c	Mon Sep 05 20:18:05 2011 +0100
+++ b/src/redisplay-tty.c	Tue Sep 06 11:44:50 2011 +0100
@@ -1237,9 +1237,17 @@
   if (TTY_FLAGS (c).underline_width == -1)
     TTY_FLAGS (c).underline_width = 0;
 
-   TTY_FLAGS (c).meta_key =
-     eight_bit_tty (d) ? tgetflag ("km") || tgetflag ("MT") ? 1 : 2 : 0;
-
+  if (eight_bit_tty (d))
+    {
+      TTY_FLAGS (c).meta_key
+        = (EQ (Qiso2022, Fcoding_system_type (Qnative))
+           && EQ (Qt, Fcoding_system_property (Qnative, Qseven))
+           && (tgetflag ("km") || tgetflag ("MT"))) ? 1 : 2;
+    }
+  else
+    {
+      TTY_FLAGS (c).meta_key = 0;
+    }
 
   /*
    * Setup the costs tables for this tty console.