aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKatsumi Yamaoka2017-01-26 22:43:31 +0000
committerKatsumi Yamaoka2017-01-26 22:43:31 +0000
commitf15bbbec0b11be7bbcde83cf905875b61f24e8bb (patch)
tree23d4e3480a1764bb38669d0209f6744ba22a8b04
parentffdf409ebbab03799da394ba04e2600dfb9fa217 (diff)
downloademacs-f15bbbec0b11be7bbcde83cf905875b61f24e8bb.tar.gz
emacs-f15bbbec0b11be7bbcde83cf905875b61f24e8bb.zip
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).
-rw-r--r--lisp/gnus/gnus-art.el8
1 files changed, 6 insertions, 2 deletions
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el
index a0f14402fbf..43e1231914c 100644
--- a/lisp/gnus/gnus-art.el
+++ b/lisp/gnus/gnus-art.el
@@ -6846,17 +6846,21 @@ then we display only bindings that start with that prefix."
6846 (let ((keymap (copy-keymap gnus-article-mode-map)) 6846 (let ((keymap (copy-keymap gnus-article-mode-map))
6847 (map (copy-keymap gnus-article-send-map)) 6847 (map (copy-keymap gnus-article-send-map))
6848 (sumkeys (where-is-internal 'gnus-article-read-summary-keys)) 6848 (sumkeys (where-is-internal 'gnus-article-read-summary-keys))
6849 (summap (make-sparse-keymap))
6849 parent agent draft) 6850 parent agent draft)
6850 (define-key keymap "S" map) 6851 (define-key keymap "S" map)
6851 (define-key map [t] nil) 6852 (define-key map [t] nil)
6853 (define-key summap [t] 'undefined)
6852 (with-current-buffer gnus-article-current-summary 6854 (with-current-buffer gnus-article-current-summary
6855 (dolist (key sumkeys)
6856 (define-key summap key (key-binding key (current-local-map))))
6853 (set-keymap-parent 6857 (set-keymap-parent
6854 keymap 6858 keymap
6855 (if (setq parent (keymap-parent gnus-article-mode-map)) 6859 (if (setq parent (keymap-parent gnus-article-mode-map))
6856 (prog1 6860 (prog1
6857 (setq parent (copy-keymap parent)) 6861 (setq parent (copy-keymap parent))
6858 (set-keymap-parent parent (current-local-map))) 6862 (set-keymap-parent parent summap))
6859 (current-local-map))) 6863 summap))
6860 (set-keymap-parent map (key-binding "S")) 6864 (set-keymap-parent map (key-binding "S"))
6861 (let (key def gnus-pick-mode) 6865 (let (key def gnus-pick-mode)
6862 (while sumkeys 6866 (while sumkeys