Some buffers are shown in windows for perusal rather than for editing. Help commands (see Help) typically use a buffer called *Help* for that purpose, minibuffer completion (see Completion) uses a buffer called *Completions* instead. Such buffers are usually displayed only for a short period of time.
Normally, Emacs chooses the window for such temporary displays via
display-buffer as described above. The *Completions*
buffer, on the other hand, is normally displayed in a window at the
bottom of the selected frame, regardless of the number of windows
already shown on that frame.
If you prefer Emacs to display a temporary buffer in a different fashion, we recommend to customize the variable display-buffer-alist (see Choosing a Window for Display in The Emacs Lisp Reference Manual). For example, to display *Completions* by splitting a window as described in the previous section, use the following form in your initialization file (see Init File):
(customize-set-variable 'display-buffer-alist '(('\\*Completions\\*' display-buffer-pop-up-window)))
The *Completions* buffer is also special in the sense that
Emacs usually tries to make its window just as large as necessary to
display all of its contents. To resize windows showing other
temporary displays like, for example, the *Help* buffer
accordingly, turn on the minor mode (see Minor Modes)
temp-buffer-resize-mode (see Temporary
Displays in The Emacs Lisp Reference Manual).
The maximum size of windows resized by
can be controlled by customizing the options
temp-buffer-max-height and temp-buffer-max-width
(see Temporary Displays in The Emacs Lisp
Reference Manual) and cannot exceed the size of the containing frame.