*Help* use a dedicated window.
One easy way to do this is to customize option
special-display-buffer-names to add
"*Help*" to the list value. Takes about 20 seconds...
(And yes, I don't support the idea that this option is "obsolete", personally. It should continue to be supported forever, just like the other
special-display-* options. That we now have a fine general tool for doing this and much more,
display-buffer-alist is not a good reason to forego the simple, easy-to-use
special-display-* options. Just one opinion.)
C-h v special-display-buffer-names:
List of names of buffers that should be displayed specially.
Displaying a buffer with
its name is in this list, displays the buffer in a way specified
(the default for
special-display-function) usually displays
the buffer in a separate frame made with the parameters specified
has been set to some other function, that function is called with
the buffer as first, and nil as second argument.
Alternatively, an element of this list can be specified as
(BUFFER-NAME FRAME-PARAMETERS), where
BUFFER-NAME is a buffer
FRAME-PARAMETERS an alist of
(PARAMETER . VALUE) pairs.
special-display-popup-frame will interpret such pairs as frame
parameters when it creates a special frame, overriding the
corresponding values from
As a special case, if
(same-window . t)
special-display-popup-frame displays that buffer in the
selected window. If
(same-frame . t),
it displays that buffer in a window on the selected frame.
special-display-function specifies some other function than
special-display-popup-frame, that function is called with the
BUFFER-NAME as first, and
FRAME-PARAMETERS as second
Finally, an element of this list can be also specified as
(BUFFER-NAME FUNCTION OTHER-ARGS). In that case,
special-display-popup-frame will call
FUNCTION with the buffer
BUFFER-NAME as first argument, and
OTHER-ARGS as the
Any alternative function specified here is responsible for
setting up the quit-restore parameter of the window used.
If this variable appears "not to work", because you added a
name to it but the corresponding buffer is displayed in the
selected window, look at the values of
same-window-regexps. Those variables take precedence over
You can customize this variable.