summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/xfns.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 6b1eb465b2c..3d5d07e28a5 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3353,8 +3353,15 @@ also be depressed for NEWSTRING to appear.")
mod = Fcar (rest);
CHECK_STRING (mod, 3);
modifier_list[i] = XStringToKeysym ((char *) XSTRING (mod)->data);
+#ifndef HAVE_X11R5
+ if (modifier_list[i] == NoSymbol
+ || !(IsModifierKey (modifier_list[i])
+ || ((unsigned)(modifier_list[i]) == XK_Mode_switch)
+ || ((unsigned)(modifier_list[i]) == XK_Num_Lock)))
+#else
if (modifier_list[i] == NoSymbol
|| !IsModifierKey (modifier_list[i]))
+#endif
error ("Element is not a modifier keysym");
i++;
}