summaryrefslogtreecommitdiff
path: root/src/keymap.c
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2015-11-09 20:31:45 +0200
committerEli Zaretskii <eliz@gnu.org>2015-11-09 20:31:45 +0200
commit86c19714b097aa477d339ed99ffb5136c755a046 (patch)
tree554092adecf489fadc0e6410fd01d6b06bc1f569 /src/keymap.c
parentc6c16fb3f8fe5909baafd53c6b26153dec021064 (diff)
downloademacs-86c19714b097aa477d339ed99ffb5136c755a046.tar.gz
Fix assertion violation in define-key
* src/keymap.c (store_in_keymap): Don't use XFASTINT on non-character objects. Reported by Drew Adams <drew.adams@oracle.com> and Juanma Barranquero <lekktu@gmail.com>.
Diffstat (limited to 'src/keymap.c')
-rw-r--r--src/keymap.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/keymap.c b/src/keymap.c
index c28885ab132..67a4a1075d9 100644
--- a/src/keymap.c
+++ b/src/keymap.c
@@ -853,7 +853,9 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def)
XSETCDR (elt, def);
return def;
}
- else if (CONSP (idx) && CHARACTERP (XCAR (idx)))
+ else if (CONSP (idx)
+ && CHARACTERP (XCAR (idx))
+ && CHARACTERP (XCAR (elt)))
{
int from = XFASTINT (XCAR (idx));
int to = XFASTINT (XCDR (idx));