From b3e96443ad7e7d6f9675c72c2a48527728d7218f Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 31 May 2014 15:21:44 -0400 Subject: [PATCH] bind-key: cleanup --- lisp/use-package/bind-key.el | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/lisp/use-package/bind-key.el b/lisp/use-package/bind-key.el index bf28e202388..e52ec07ed87 100644 --- a/lisp/use-package/bind-key.el +++ b/lisp/use-package/bind-key.el @@ -141,25 +141,24 @@ 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")) + (kdescvar (make-symbol "kdesc")) (bindingvar (make-symbol "binding")) (entryvar (make-symbol "entry"))) `(let* ((,namevar ,key-name) (,keyvar (if (vectorp ,namevar) ,namevar (read-kbd-macro ,namevar))) + (,kdescvar (cons (if (stringp ,namevar) ,namevar + (key-description ,namevar)) + (quote ,keymap))) (,bindingvar (lookup-key (or ,keymap global-map) - ,keyvar))) - (let ((,entryvar (assoc (cons ,namevar (quote ,keymap)) - personal-keybindings))) - (if ,entryvar - (setq personal-keybindings - (delq ,entryvar personal-keybindings)))) - (setq personal-keybindings - (cons (list (cons (if (stringp ,namevar) ,namevar - (key-description ,namevar)) - (quote ,keymap)) - ,command - (unless (numberp ,bindingvar) ,bindingvar)) - personal-keybindings)) + ,keyvar)) + (,entryvar (assoc ,kdescvar personal-keybindings))) + (when ,entryvar + (setq personal-keybindings + (delq ,entryvar personal-keybindings))) + (push (list ,kdescvar ,command + (unless (numberp ,bindingvar) ,bindingvar)) + personal-keybindings) (define-key (or ,keymap global-map) ,keyvar ,command)))) (defmacro unbind-key (key-name &optional keymap) -- 2.39.2