From f0776c2aeb3f7f0af66597e10a3e4469ca26629d Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 1 Mar 2014 20:16:59 -0500 Subject: [PATCH] let bind-key accept vectors, add docstring --- lisp/use-package/bind-key.el | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lisp/use-package/bind-key.el b/lisp/use-package/bind-key.el index 1081486b99f..5ef7570cdef 100644 --- a/lisp/use-package/bind-key.el +++ b/lisp/use-package/bind-key.el @@ -122,12 +122,19 @@ (defvar personal-keybindings nil) (defmacro bind-key (key-name command &optional keymap) + "Bind KEY-NAME to COMMAND in KEYMAP (`global-map' if not passed). + +KEY-NAME may be a vector, in which case it passed straight to +`define-key'. Or it may be a string to be interpreted as +spelled-out keystrokes, e.g., \"C-c C-z\". See documentation of +`edmacro-mode' for details." (let ((namevar (make-symbol "name")) (keyvar (make-symbol "key")) (bindingvar (make-symbol "binding")) (entryvar (make-symbol "entry"))) `(let* ((,namevar ,(eval key-name)) - (,keyvar (read-kbd-macro ,namevar)) + (,keyvar (if (vectorp ,namevar) ,namevar + (read-kbd-macro ,namevar))) (,bindingvar (lookup-key (or ,keymap global-map) ,keyvar))) (let ((,entryvar (assoc (cons ,namevar (quote ,keymap)) -- 2.39.2