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)
(throw 'skip 'local))
((and doom--keymaps states)
(unless (featurep 'evil)
(throw 'skip 'evil))
(dolist (keymap doom--keymaps)
(when (memq 'global states)
(push `(define-key ,keymap ,key ,def) forms))
(when-let* ((states (delq 'global states)))
(push `(,(if doom--defer #'evil-define-key #'evil-define-key*)
',states ,keymap ,key ,def)
forms))))
(when (featurep 'evil)
(when-let* ((states (delq 'global states)))
(push `(,(if doom--defer #'evil-define-key #'evil-define-key*)
',states ,keymap ,key ,def)
forms)))))
(states
(unless (featurep 'evil)
(throw 'skip 'evil))
(dolist (state states)
(push (if (eq state 'global)
`(global-set-key ,key ,def)
(if doom--local
`(evil-local-set-key ',state ,key ,def)
`(evil-define-key* ',state 'global ,key ,def)))
forms)))
(if (eq state 'global)
(push `(global-set-key ,key ,def) forms)
(when (featurep 'evil)
(push (if doom--local
`(evil-local-set-key ',state ,key ,def)
`(evil-define-key* ',state 'global ,key ,def))
forms)))))
(doom--keymaps
(dolist (keymap doom--keymaps)
(push `(define-key ,keymap ,key ,def) forms)))