diff options
Diffstat (limited to 'src/keymap.c')
| -rw-r--r-- | src/keymap.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/keymap.c b/src/keymap.c index 6a8d129ce2b..81091f03d70 100644 --- a/src/keymap.c +++ b/src/keymap.c | |||
| @@ -341,7 +341,7 @@ Return PARENT. PARENT should be nil or another keymap. */) | |||
| 341 | If we came to the end, add the parent in PREV. */ | 341 | If we came to the end, add the parent in PREV. */ |
| 342 | if (!CONSP (list) || KEYMAPP (list)) | 342 | if (!CONSP (list) || KEYMAPP (list)) |
| 343 | { | 343 | { |
| 344 | CHECK_IMPURE (prev); | 344 | CHECK_IMPURE (prev, XCONS (prev)); |
| 345 | XSETCDR (prev, parent); | 345 | XSETCDR (prev, parent); |
| 346 | return parent; | 346 | return parent; |
| 347 | } | 347 | } |
| @@ -750,7 +750,7 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def) | |||
| 750 | 750 | ||
| 751 | /* If we are preparing to dump, and DEF is a menu element | 751 | /* If we are preparing to dump, and DEF is a menu element |
| 752 | with a menu item indicator, copy it to ensure it is not pure. */ | 752 | with a menu item indicator, copy it to ensure it is not pure. */ |
| 753 | if (CONSP (def) && PURE_P (def) | 753 | if (CONSP (def) && PURE_P (XCONS (def)) |
| 754 | && (EQ (XCAR (def), Qmenu_item) || STRINGP (XCAR (def)))) | 754 | && (EQ (XCAR (def), Qmenu_item) || STRINGP (XCAR (def)))) |
| 755 | def = Fcons (XCAR (def), XCDR (def)); | 755 | def = Fcons (XCAR (def), XCDR (def)); |
| 756 | 756 | ||
| @@ -798,7 +798,7 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def) | |||
| 798 | { | 798 | { |
| 799 | if (NATNUMP (idx) && XFASTINT (idx) < ASIZE (elt)) | 799 | if (NATNUMP (idx) && XFASTINT (idx) < ASIZE (elt)) |
| 800 | { | 800 | { |
| 801 | CHECK_IMPURE (elt); | 801 | CHECK_IMPURE (elt, XVECTOR (elt)); |
| 802 | ASET (elt, XFASTINT (idx), def); | 802 | ASET (elt, XFASTINT (idx), def); |
| 803 | return def; | 803 | return def; |
| 804 | } | 804 | } |
| @@ -851,7 +851,7 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def) | |||
| 851 | } | 851 | } |
| 852 | else if (EQ (idx, XCAR (elt))) | 852 | else if (EQ (idx, XCAR (elt))) |
| 853 | { | 853 | { |
| 854 | CHECK_IMPURE (elt); | 854 | CHECK_IMPURE (elt, XCONS (elt)); |
| 855 | XSETCDR (elt, def); | 855 | XSETCDR (elt, def); |
| 856 | return def; | 856 | return def; |
| 857 | } | 857 | } |
| @@ -895,7 +895,7 @@ store_in_keymap (Lisp_Object keymap, register Lisp_Object idx, Lisp_Object def) | |||
| 895 | } | 895 | } |
| 896 | else | 896 | else |
| 897 | elt = Fcons (idx, def); | 897 | elt = Fcons (idx, def); |
| 898 | CHECK_IMPURE (insertion_point); | 898 | CHECK_IMPURE (insertion_point, XCONS (insertion_point)); |
| 899 | XSETCDR (insertion_point, Fcons (elt, XCDR (insertion_point))); | 899 | XSETCDR (insertion_point, Fcons (elt, XCDR (insertion_point))); |
| 900 | } | 900 | } |
| 901 | } | 901 | } |