Subject: bug#35487: Make visiting function from help-mode more customizable

From: Tak Kunihiro <[email-masked]>
Date: Fri, 10 May 2019 08:10:13 +0900

Juri Linkov <[email-masked]> writes:

>> I often want to visit function from help-mode in `this window' in
>> stead of `other window'.  To do so, I found that to revise
>> help-function in help-function-def works.
>>
>> I propose to (1) move help-function described as lambda function out
>> of button definition and (2) make function to visit function from
>> help-mode customizable.
>>
>> After the revision, I can visit function from help-mode in `this
>> windows' as shown below.
>
> I have exactly the same problem.  Fortunately, we have a powerful
> customization mechanism of display-buffer-alist to allow clicking
> a link from the *Help* buffer to open source code in the same window:
>
> #+begin_src emacs-lisp
> (custom-set-variables
>  '(display-buffer-alist
>    '((display-buffer-condition-from-help display-buffer-same-window))))
>
> (defun display-buffer-condition-from-help (_buffer-name _action)
>   (string-match-p "\\`\\*\\(Help\\)\\*\\(\\|<[0-9]+>\\)\\'" (buffer-name (current-buffer))))
> #+end_src

Thank you for the solution!  Now from *Help* buffer I can open source
code in the same window by mouse click.

As a side effect, `C-h f' opens *Help* buffer in the same window.  I
still want to open *Help* in other window (original behavior).  Do you
have idea to do so?