Subject: bug#57816: 28.2; Renaming a help buffer from help-mode-hook

From: Damien Cassou <[email-masked]>
Date: Thu, 15 Sep 2022 06:43:25 +0200

In GNU Emacs 28.2, I would like to automatically rename help buffers so
their name reflect their content. For example, I want *Help: car*
instead of just *Help* for the help buffer of `car'. Unfortunately,
adding #'rename-buffer to `help-mode-hook' doesn't work as this results
in 2 buffers instead of just one:

  emacs --batch -Q \
    --eval "(add-hook 'help-mode-hook (lambda () (rename-buffer \"*foo*\")))" \
    --eval "(describe-function #'describe-function)" \
    --eval "(prin1 (cons (get-buffer \"*Help*\") (get-buffer \"*foo*\")))"

prints

  (#<buffer *Help*> . #<buffer *foo*>)

After the "rename", there is still a buffer with the old name. Is there
a more correct way to do this?

Best

-- 
Damien Cassou

"Success is the ability to go from one failure to another without
losing enthusiasm." --Winston Churchill