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
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395

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)))