branch: externals/setup
commit c7079651d6bc17192238d451648543a5a91f53ab
Author: Philip K <[email protected]>
Commit: Philip K <[email protected]>
Handle symbols in :global, :bind, :unbind and :rebind
---
setup.el | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/setup.el b/setup.el
index 82463cb..b1a4724 100644
--- a/setup.el
+++ b/setup.el
@@ -266,7 +266,9 @@ the first FEATURE."
(setup-define :global
(lambda (key command)
`(global-set-key
- ,(if (stringp key) (kbd key) key)
+ ,(cond ((stringp key) (kbd key))
+ ((symbolp key) `(kbd ,key))
+ (t key))
#',command))
:documentation "Globally bind KEY to COMMAND."
:debug '(form sexp)
@@ -275,7 +277,9 @@ the first FEATURE."
(setup-define :bind
(lambda (key command)
`(define-key (symbol-value setup-map)
- ,(if (stringp key) (kbd key) key)
+ ,(cond ((stringp key) (kbd key))
+ ((symbolp key) `(kbd ,key))
+ (t key))
#',command))
:documentation "Bind KEY to COMMAND in current map."
:after-loaded t
@@ -285,7 +289,9 @@ the first FEATURE."
(setup-define :unbind
(lambda (key)
`(define-key (symbol-value setup-map)
- ,(if (stringp key) (kbd key) key)
+ ,(cond ((stringp key) (kbd key))
+ ((symbolp key) `(kbd ,key))
+ (t key))
nil))
:documentation "Unbind KEY in current map."
:after-loaded t
@@ -298,7 +304,9 @@ the first FEATURE."
(dolist (key (where-is-internal ',command (symbol-value setup-map)))
(define-key (symbol-value setup-map) key nil))
(define-key (symbol-value setup-map)
- ,(if (stringp key) (kbd key) key)
+ ,(cond ((stringp key) (kbd key))
+ ((symbolp key) `(kbd ,key))
+ (t key))
#',command)))
:documentation "Unbind the current key for COMMAND, and bind it to KEY."
:after-loaded t