Repeating a bind no longer causes duplicates in personal-keybindings

Fixes https://github.com/jwiegley/use-package/issues/446
This commit is contained in:
John Wiegley 2017-11-28 20:52:29 -08:00
parent a392f6da55
commit 606284e374

View file

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