Fix map! ignoring global keybinds when evil wasn't loaded

This commit is contained in:
Henrik Lissner
2018-05-07 22:01:43 +02:00
parent abd141aed9
commit 54bb452a12

View File

@ -289,25 +289,24 @@ Example
forms) forms)
(throw 'skip 'local)) (throw 'skip 'local))
((and doom--keymaps states) ((and doom--keymaps states)
(unless (featurep 'evil)
(throw 'skip 'evil))
(dolist (keymap doom--keymaps) (dolist (keymap doom--keymaps)
(when (memq 'global states) (when (memq 'global states)
(push `(define-key ,keymap ,key ,def) forms)) (push `(define-key ,keymap ,key ,def) forms))
(when (featurep 'evil)
(when-let* ((states (delq 'global states))) (when-let* ((states (delq 'global states)))
(push `(,(if doom--defer #'evil-define-key #'evil-define-key*) (push `(,(if doom--defer #'evil-define-key #'evil-define-key*)
',states ,keymap ,key ,def) ',states ,keymap ,key ,def)
forms)))) forms)))))
(states (states
(unless (featurep 'evil)
(throw 'skip 'evil))
(dolist (state states) (dolist (state states)
(push (if (eq state 'global) (if (eq state 'global)
`(global-set-key ,key ,def) (push `(global-set-key ,key ,def) forms)
(if doom--local (when (featurep 'evil)
(push (if doom--local
`(evil-local-set-key ',state ,key ,def) `(evil-local-set-key ',state ,key ,def)
`(evil-define-key* ',state 'global ,key ,def))) `(evil-define-key* ',state 'global ,key ,def))
forms))) forms)))))
(doom--keymaps (doom--keymaps
(dolist (keymap doom--keymaps) (dolist (keymap doom--keymaps)
(push `(define-key ,keymap ,key ,def) forms))) (push `(define-key ,keymap ,key ,def) forms)))