diff options
| author | Eli Zaretskii | 2015-11-09 20:31:45 +0200 |
|---|---|---|
| committer | Eli Zaretskii | 2015-11-09 20:31:45 +0200 |
| commit | 86c19714b097aa477d339ed99ffb5136c755a046 (patch) | |
| tree | 554092adecf489fadc0e6410fd01d6b06bc1f569 /src/keymap.c | |
| parent | c6c16fb3f8fe5909baafd53c6b26153dec021064 (diff) | |
| download | emacs-86c19714b097aa477d339ed99ffb5136c755a046.tar.gz emacs-86c19714b097aa477d339ed99ffb5136c755a046.zip | |
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) | |||
| 853 | XSETCDR (elt, def); | 853 | XSETCDR (elt, def); |
| 854 | return def; | 854 | return def; |
| 855 | } | 855 | } |
| 856 | else if (CONSP (idx) && CHARACTERP (XCAR (idx))) | 856 | else if (CONSP (idx) |
| 857 | && CHARACTERP (XCAR (idx)) | ||
| 858 | && CHARACTERP (XCAR (elt))) | ||
| 857 | { | 859 | { |
| 858 | int from = XFASTINT (XCAR (idx)); | 860 | int from = XFASTINT (XCAR (idx)); |
| 859 | int to = XFASTINT (XCDR (idx)); | 861 | int to = XFASTINT (XCDR (idx)); |