diff options
author | Eli Zaretskii <eliz@gnu.org> | 2015-11-09 20:31:45 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2015-11-09 20:31:45 +0200 |
commit | 86c19714b097aa477d339ed99ffb5136c755a046 (patch) | |
tree | 554092adecf489fadc0e6410fd01d6b06bc1f569 /src/keymap.c | |
parent | c6c16fb3f8fe5909baafd53c6b26153dec021064 (diff) | |
download | emacs-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.c | 4 |
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)); |