# HG changeset patch # User Aidan Kehoe # Date 1314523344 -3600 # Node ID 10455659ab64a27d0dbbe8c4f2b6d270ed4dc4f5 # Parent 53c0663119210e3a5bee68d57e5eac19fb25d13d Backed out changeset 53c066311921, I have a better approach. diff -r 53c066311921 -r 10455659ab64 ChangeLog --- a/ChangeLog Sat Aug 27 20:35:23 2011 +0100 +++ b/ChangeLog Sun Aug 28 10:22:24 2011 +0100 @@ -1,9 +1,3 @@ -2011-08-27 Aidan Kehoe - - * configure.ac: Check whether X11/XF86keysym.h is available, to - allow us to avoid a bug in the interaction of XKB and XLookupKeysym. - * configure: Regenerate. - 2011-08-24 Aidan Kehoe * configure.ac: diff -r 53c066311921 -r 10455659ab64 configure --- a/configure Sat Aug 27 20:35:23 2011 +0100 +++ b/configure Sun Aug 28 10:22:24 2011 +0100 @@ -13351,7 +13351,7 @@ done - for ac_header in X11/Xlocale.h X11/Xfuncproto.h X11/XF86keysym.h + for ac_header in X11/Xlocale.h X11/Xfuncproto.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" diff -r 53c066311921 -r 10455659ab64 configure.ac --- a/configure.ac Sat Aug 27 20:35:23 2011 +0100 +++ b/configure.ac Sun Aug 28 10:22:24 2011 +0100 @@ -3120,7 +3120,7 @@ AC_CHECK_FUNCS(XConvertCase XtRegisterDrawable) - AC_CHECK_HEADERS(X11/Xlocale.h X11/Xfuncproto.h X11/XF86keysym.h) + AC_CHECK_HEADERS(X11/Xlocale.h X11/Xfuncproto.h) dnl XFree86 has a non-standard prototype for this X11R6 function AC_CHECK_FUNCS(XRegisterIMInstantiateCallback) diff -r 53c066311921 -r 10455659ab64 src/ChangeLog --- a/src/ChangeLog Sat Aug 27 20:35:23 2011 +0100 +++ b/src/ChangeLog Sun Aug 28 10:22:24 2011 +0100 @@ -1,14 +1,3 @@ -2011-08-27 Aidan Kehoe - - * config.h.in: Make HAVE_X11_XF86KEYSYM_H available here. - * event-Xt.c: #include X11/XF86keysym.h if available. - * event-Xt.c (x_event_to_emacs_event): - If XLookupKeysym () returned one of the XFree86 "special action - keys" for the shifted keysym, treat that as NoSymbol, fixing a - long-standing bug with shifted function keys under X.org. - Details of why in: - http://mid.gmane.org/16960.15685.26911.644835@parhasard.net - 2011-08-24 Aidan Kehoe * config.h.in: diff -r 53c066311921 -r 10455659ab64 src/config.h.in --- a/src/config.h.in Sat Aug 27 20:35:23 2011 +0100 +++ b/src/config.h.in Sun Aug 28 10:22:24 2011 +0100 @@ -284,7 +284,6 @@ #undef HAVE_SYS_WAIT_H #undef HAVE_LIBINTL_H #undef HAVE_X11_XLOCALE_H -#undef HAVE_X11_XF86KEYSYM_H /* About __STDC__: Different compilers differ wrt __STDC__. Sunpro C defines it, but its value is 0 unless we disable non-ANSI extensions. diff -r 53c066311921 -r 10455659ab64 src/event-Xt.c --- a/src/event-Xt.c Sat Aug 27 20:35:23 2011 +0100 +++ b/src/event-Xt.c Sun Aug 28 10:22:24 2011 +0100 @@ -66,10 +66,6 @@ #include "xmotif.h" #endif -#ifdef HAVE_X11_XF86KEYSYM_H -#include -#endif - #ifdef HAVE_DRAGNDROP #include "dragdrop.h" #endif @@ -1234,21 +1230,6 @@ int Mode_switch_p = *state & xd->ModeMask; KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0); KeySym top = XLookupKeysym (ev, Mode_switch_p ? 3 : 1); - -#ifdef HAVE_X11_XF86KEYSYM_H - /* XLookupKeysm() and XLookupString() differ for these - keysyms under X.org. The latter treats them as not - visible to X11 apps (so if the event has the shift - modifer, the keysym of the unshifted key will be - returned) while the former treats them as visible. We - chose to follow XLookupString in x_to_emacs_keysym(), so - we need to do that here, too. */ - - if (XF86XK_Switch_VT_1 <= top && top <= XF86XK_Prev_VMode) - { - top = NoSymbol; - } -#endif if (top && bot && top != bot) modifiers &= ~XEMACS_MOD_SHIFT; }