From 7467c0f839d0442aed1d06975860b754e50d5a32 Mon Sep 17 00:00:00 2001 From: amirrezaask Date: Fri, 20 Mar 2020 02:37:44 +0330 Subject: [PATCH] some error handling in defkey macro --- lib/fg42/key-bindings.el | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/fg42/key-bindings.el b/lib/fg42/key-bindings.el index 02680be..f7f1224 100644 --- a/lib/fg42/key-bindings.el +++ b/lib/fg42/key-bindings.el @@ -23,7 +23,6 @@ ;;; Commentary: ;;; Code: -(require 'fg42/race) (defun -defkey-god (map key fn) "Set the given KEY on key map MAP to FN." @@ -56,10 +55,12 @@ Example usage : \\(defkey `'global-map`' 'goto-line :evil \\(:normal \"SPC s u\"\\) :god \"\"\\)" - (let ((god-key (plist-get keys :god)) (human-key (plist-get keys :human)) (evil-state-key (plist-get keys :evil))) + (when (and (is-evil?) (null evil-state-key)) (error "You should pass :evil keys when you are evil user")) + (when (and (is-god?) (null god-key)) (error "You should pass :god keys when you are a god user")) + (when (and (is-human?) (null human-key)) (error "You should pass :evil keys when you are a human user")) (cond ((is-god?) `(-defkey-god ,map ,god-key ,fn)) ((is-human?) `(-defkey-human ,map ,human-key ,fn))