File xemacs-21.4.8-xevent.patch of Package xemacs

Index: src/event-Xt.c
===================================================================
--- src/event-Xt.c.orig
+++ src/event-Xt.c
@@ -1224,8 +1224,11 @@ x_event_to_emacs_event (XEvent *x_event,
 
 	    if (modifiers & XEMACS_MOD_SHIFT)
 	      {
-		int Mode_switch_p = *state & xd->ModeMask;
-		KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0);
+		KeySym bot;
+		XKeyEvent tmpev = *ev;
+
+		tmpev.state = *state & (xd->ModeMask | ~0xff);
+		XLookupString(&tmpev, NULL, 0, &bot, NULL);
		if (x_keysym && bot && x_keysym != bot)
		  modifiers &= ~XEMACS_MOD_SHIFT;
	      }
openSUSE Build Service is sponsored by