mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-06 14:02:07 -08:00
Normalize key sequences from -add-key-based-replacements
This commit is contained in:
parent
a32ec0c45a
commit
2b78bdd26d
1 changed files with 16 additions and 12 deletions
28
which-key.el
28
which-key.el
|
|
@ -808,12 +808,14 @@ replacements are added to
|
|||
`which-key-key-based-description-replacement-alist'."
|
||||
;; TODO: Make interactive
|
||||
(while key-sequence
|
||||
(push (cons (cons (format "\\`%s\\'" key-sequence) nil)
|
||||
(cons nil (or (car-safe replacement) replacement)))
|
||||
which-key-replacement-alist)
|
||||
(when (consp replacement)
|
||||
(push (cons key-sequence (cdr-safe replacement))
|
||||
which-key--prefix-title-alist))
|
||||
;; normalize key sequences before adding
|
||||
(let ((key-seq (key-description (kbd key-sequence))))
|
||||
(push (cons (cons (format "\\`%s\\'" key-seq) nil)
|
||||
(cons nil (or (car-safe replacement) replacement)))
|
||||
which-key-replacement-alist)
|
||||
(when (consp replacement)
|
||||
(push (cons key-seq (cdr-safe replacement))
|
||||
which-key--prefix-title-alist)))
|
||||
(setq key-sequence (pop more) replacement (pop more))))
|
||||
(put 'which-key-add-key-based-replacements 'lisp-indent-function 'defun)
|
||||
|
||||
|
|
@ -832,12 +834,14 @@ addition KEY-SEQUENCE REPLACEMENT pairs) to apply."
|
|||
(title-mode-alist
|
||||
(or (cdr-safe (assq mode which-key--prefix-title-alist)) (list))))
|
||||
(while key-sequence
|
||||
(push (cons (cons (format "\\`%s\\'" key-sequence) nil)
|
||||
(cons nil (or (car-safe replacement) replacement)))
|
||||
mode-alist)
|
||||
(when (consp replacement)
|
||||
(push (cons key-sequence (cdr-safe replacement))
|
||||
title-mode-alist))
|
||||
;; normalize key sequences before adding
|
||||
(let ((key-seq (key-description (kbd key-sequence))))
|
||||
(push (cons (cons (format "\\`%s\\'" key-seq) nil)
|
||||
(cons nil (or (car-safe replacement) replacement)))
|
||||
mode-alist)
|
||||
(when (consp replacement)
|
||||
(push (cons key-seq (cdr-safe replacement))
|
||||
title-mode-alist)))
|
||||
(setq key-sequence (pop more) replacement (pop more)))
|
||||
(if (assq mode which-key-replacement-alist)
|
||||
(setcdr (assq mode which-key-replacement-alist) mode-alist)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue