]> git.eshelyaron.com Git - emacs.git/commitdiff
Repeating a bind no longer causes duplicates in personal-keybindings
authorJohn Wiegley <johnw@newartisans.com>
Wed, 29 Nov 2017 04:52:29 +0000 (20:52 -0800)
committerJohn Wiegley <johnw@newartisans.com>
Wed, 29 Nov 2017 04:52:29 +0000 (20:52 -0800)
Fixes https://github.com/jwiegley/use-package/issues/446

lisp/use-package/bind-key.el

index d907798ae766bd5a50cf8c893e87ebb6c4672359..e5002d4ee17b1d686f84e96f3afc2de39796ca24 100644 (file)
@@ -161,9 +161,13 @@ can safely be called at any time."
                                (key-description ,namevar))
                              (quote ,keymap)))
             (,bindingvar (lookup-key (or ,keymap global-map) ,keyvar)))
-       (add-to-list 'personal-keybindings
-                    (list ,kdescvar ,command
-                          (unless (numberp ,bindingvar) ,bindingvar)))
+       (let ((entry (assoc ,kdescvar personal-keybindings))
+             (details (list ,command
+                            (unless (numberp ,bindingvar)
+                              ,bindingvar))))
+         (if entry
+             (setcdr entry details)
+           (add-to-list 'personal-keybindings (cons ,kdescvar details))))
        ,(if predicate
             `(define-key (or ,keymap global-map) ,keyvar
                '(menu-item "" nil :filter (lambda (&optional _)