I want emacs to always display new buffers in the current frame, but always taking the whole frame, rather than splitting it.
I currently have customized display-buffer-alist to the following
'(display-buffer-alist (quote ((".*" display-buffer-same-window))))
This seems to work in many cases (e.g. it works for C-x C-b) but not for all cases, most notably compile-goto-error, which still splits the frame.
I've looked at documentation and other questions, including the similar How can I block a frame from being split?, but I can't find a correct solution. In particular, that question uses display-buffer-reuse-window, while I'm pretty sure I want display-buffer-same-window, and also I want to have absolutely no exceptions.
Emacs version is 24.5
display-buffer-alist
will control all situations, especially if a window is dedicated. The guaranteed method is to look at the source code for each situation and deal with it. Thecompile.el
library is frequently used in conjunction with other major-mode libraries, so you will need to look at both to see how displaying buffers are accomplished for a particular use-case situation. See also thesplit-width-threshold
andsplit-height-threshold
variables: gnu.org/software/emacs/manual/html_node/emacs/…