Make `C-h b' work correctly in Gnus article buffer (bug#18257)

* lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
Ignore summary commands that aren't bound to
gnus-article-read-summary-keys keys (bug#18257).
This commit is contained in:
Katsumi Yamaoka 2017-01-26 22:43:31 +00:00
parent ffdf409ebb
commit f15bbbec0b

View file

@ -6846,17 +6846,21 @@ then we display only bindings that start with that prefix."
(let ((keymap (copy-keymap gnus-article-mode-map))
(map (copy-keymap gnus-article-send-map))
(sumkeys (where-is-internal 'gnus-article-read-summary-keys))
(summap (make-sparse-keymap))
parent agent draft)
(define-key keymap "S" map)
(define-key map [t] nil)
(define-key summap [t] 'undefined)
(with-current-buffer gnus-article-current-summary
(dolist (key sumkeys)
(define-key summap key (key-binding key (current-local-map))))
(set-keymap-parent
keymap
(if (setq parent (keymap-parent gnus-article-mode-map))
(prog1
(setq parent (copy-keymap parent))
(set-keymap-parent parent (current-local-map)))
(current-local-map)))
(set-keymap-parent parent summap))
summap))
(set-keymap-parent map (key-binding "S"))
(let (key def gnus-pick-mode)
(while sumkeys