Package: emacs21
Version: 21.3+1-8
Severity: normal

Emacs 21 doesn't recognize modifiers for keys that generate symbols
wider than 8 bits. This has been observed when X is used.

E.g. on swedish keyboards, there is a key that generate "" which
translates to 2215. Any modifiers pressed together with that key are
ignored.

The problem is in the handling of multibyte_char_keystroke in
make_lispy_event in keyboard.c. It has been fixed in the development
version of Emacs, and here is essentially the same fix:

--- src/keyboard.c.orig 2005-05-20 21:07:42.000000000 +0200
+++ src/keyboard.c      2005-05-20 21:07:29.000000000 +0200
@@ -4662,8 +4662,15 @@
     case multibyte_char_keystroke:
       {
        Lisp_Object lispy_c;
+       int c = event->code;
 
-       XSETFASTINT (lispy_c, event->code);
+       /* Add in the other modifier bits. The shift key was taken
+          care of by the X code. */
+       c |= (event->modifiers
+             & (meta_modifier | alt_modifier
+                | hyper_modifier | super_modifier | ctrl_modifier));
+       button_down_time = 0;
+       XSETFASTINT (lispy_c, c);
        return lispy_c;
       }
 



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to