[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#36767: 26.1; request: add more quick keys to the *Help* buffer
From: |
Juri Linkov |
Subject: |
bug#36767: 26.1; request: add more quick keys to the *Help* buffer |
Date: |
Thu, 17 Jun 2021 23:34:36 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (x86_64-pc-linux-gnu) |
>> The Help buffer shows a link to the source code where the symbol is
>> defined. Add the currently unbound key 's' to quickly visit the source
>> code without having to navigate to the link.
>>
>> Also, the user may want to read more about the symbol if it is
>> a built in one, so add a quick way to visit the Info page
>> of the symbol which Help is shown. The currently unbound key 'i' is
>> suitable for this purpose.
>
> Makes sense to me -- you can tab to the button, and `C-h S' works, but
> both are more fiddly, so I've added these commands to Emacs 28.
Another missing key is a way to easily customize a variable or a face.
Currently it's a hassle to navigate to the [Customize] button,
whereas with a key when point is on a variable name
it would be possible to type just 'C-h v RET c' to customize it.
> Which was unexpectedly quite a lot of work, since the *Help* buffers
> don't really seem to have any data available to say what they're about.
Since you've already done all the hard work,
it was very easy to add a new command:
diff --git a/lisp/help-mode.el b/lisp/help-mode.el
index 48cf435f97..24b7ffaa2a 100644
--- a/lisp/help-mode.el
+++ b/lisp/help-mode.el
@@ -46,6 +46,7 @@ help-mode-map
(define-key map "\r" 'help-follow)
(define-key map "s" 'help-view-source)
(define-key map "i" 'help-goto-info)
+ (define-key map "c" 'help-customize)
map)
"Keymap for Help mode.")
@@ -63,7 +64,9 @@ help-mode-menu
["View Source" help-view-source
:help "Go to the source file for the current help item"]
["Goto Info" help-goto-info
- :help "Go to the info node for the current help item"]))
+ :help "Go to the info node for the current help item"]
+ ["Customize" help-customize
+ :help "Customize variable or face"]))
(defvar help-mode-tool-bar-map
(let ((map (make-sparse-keymap)))
@@ -746,6 +749,16 @@ help-goto-info
(info-lookup-symbol (plist-get help-mode--current-data :symbol)
'emacs-lisp-mode))
+(defun help-customize ()
+ "Customize variable or face."
+ (interactive nil help-mode)
+ (let ((sym (plist-get help-mode--current-data :symbol)))
+ (unless (or (boundp sym) (facep sym))
+ (user-error "No variable or face to customize"))
+ (cond
+ ((boundp sym) (customize-variable sym))
+ ((facep sym) (customize-face sym)))))
+
(defun help-do-xref (_pos function args)
"Call the help cross-reference function FUNCTION with args ARGS.
Things are set up properly so that the resulting help-buffer has
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Lars Ingebrigtsen, 2021/06/15
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer,
Juri Linkov <=
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Eli Zaretskii, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Robert Pluim, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Eli Zaretskii, 2021/06/18
- bug#36767: [External] : bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Drew Adams, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Stephen Berman, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Eli Zaretskii, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Stephen Berman, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Eli Zaretskii, 2021/06/18
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, martin rudalics, 2021/06/19
- bug#36767: 26.1; request: add more quick keys to the *Help* buffer, Eli Zaretskii, 2021/06/19