Subject: bug#17210: 24.3.50; help mode [back] link to a C-h b keybind listing fails with message "Current buffer is not in Help mode"

From: Eli Zaretskii <[email-masked]>
Date: Tue, 08 Apr 2014 18:26:13 +0300

> Date: Tue, 08 Apr 2014 09:13:56 +0200
> From: martin rudalics <[email-masked]>
> CC: [email-masked], [email-masked]
> 
> note that the bug which is the subject of the current thread was
> implicitly caused by reverting a behavior erroneously introduced in
> Emacs 24.3 (see the threads of bug#16816 and bug#17007 for details).

Only by side effect, because all that stuff had nothing to do with
which buffer is current when describe-bindings-internal is called.

>  > Also, describe-bindings-internal is only called from this single
>  > place, so I see no reason to support some other help buffers.  Do you?
> 
> I think Stefan explained that meanwhile.

As long as describe-bindings invokes describe-bindings-internal with
the current buffer set to the buffer whose keybindings we want to
describe, I don't understand how the multitude of Help buffer can be
relevant to the issue at hand.

My problem with help-buffer is that calling it requires intimate
understanding of its internal logic, because the caller doesn't
necessarily know whether help-xref-following is bound to nil or not.
Without knowing that, whoever calls help-buffer can easily trip on
this problem.  So it sounds like help-buffer is only suitable for
callers who bind help-xref-following themselves, or have tight
relationships with functions that do.  describe-bindings-internal
doesn't, so I don't see how it can be clean for it to call that
function.