diff -ru xemacs-21.5.20.orig/src/event-Xt.c xemacs-21.5.20/src/event-Xt.c --- xemacs-21.5.20.orig/src/event-Xt.c 2005-01-25 00:33:52.000000000 +0100 +++ xemacs-21.5.20/src/event-Xt.c 2005-05-12 12:37:18.000000000 +0200 @@ -646,8 +646,17 @@ syms = &xd->x_keysym_map [(keycode - xd->x_keysym_map_min_code) * xd->x_keysym_map_keysyms_per_code]; for (i = 0; i < xd->x_keysym_map_keysyms_per_code; i++) - if (IsModifierKey (syms [i]) || - syms [i] == XK_Mode_switch) /* why doesn't IsModifierKey count this? */ + if (IsModifierKey(syms[i]) +#ifdef XK_Mode_switch + || syms[i] == XK_Mode_switch /* why doesn't IsModifierKey count this? */ +#endif +#ifdef XK_Num_Lock + || syms[i] == XK_Num_Lock +#endif +#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock + || (syms[i] >= XK_ISO_Lock && syms[i] <= XK_ISO_Last_Group_Lock) +#endif + ) return 1; return 0; } @@ -997,8 +1006,17 @@ than passing in 0) to avoid crashes on German IRIX */ char dummy[256]; XLookupString (event, dummy, 200, &keysym, 0); - return (IsModifierKey (keysym) || keysym == XK_Mode_switch ) - ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); + return (IsModifierKey (keysym) +#ifdef XK_Mode_switch + || keysym == XK_Mode_switch +#endif +#ifdef XK_Num_Lock + || keysym == XK_Num_Lock +#endif +#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock + || (keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) +#endif + ) ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); } #endif /* ! XIM_MOTIF */ @@ -1048,8 +1066,17 @@ { case XLookupKeySym: case XLookupBoth: - return (IsModifierKey (keysym) || keysym == XK_Mode_switch ) - ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); + return (IsModifierKey (keysym) +#ifdef XK_Mode_switch + || keysym == XK_Mode_switch +#endif +#ifdef XK_Num_Lock + || keysym == XK_Num_Lock +#endif +#if defined XK_ISO_Lock && defined XK_ISO_Last_Group_Lock + || (keysym >= XK_ISO_Lock && keysym <= XK_ISO_Last_Group_Lock) +#endif + ) ? Qnil : x_keysym_to_emacs_keysym (keysym, simple_p); case XLookupChars: { diff -ru xemacs-21.5.20.orig/src/xintrinsic.h xemacs-21.5.20/src/xintrinsic.h --- xemacs-21.5.20.orig/src/xintrinsic.h 2001-04-12 20:24:30.000000000 +0200 +++ xemacs-21.5.20/src/xintrinsic.h 2005-05-12 12:37:18.000000000 +0200 @@ -22,6 +22,7 @@ #ifndef INCLUDED_xintrinsic_h_ #define INCLUDED_xintrinsic_h_ +#include #include #endif /* INCLUDED_xintrinsic_h_ */