Subject: bug#7368: display-buffer a softly dedicated window

From: martin rudalics <[email-masked]>
Date: Thu, 18 Nov 2010 11:27:12 +0100

> comint.el forces *Completions* to close and shows the interpreter
 > immediately, in its place. That's what I want, exactly. Showing the
 > interpreter in place of *Completions* would have the same effect, so
 > it's what I want, too.

I've looked into comint.el.  It's apparently based on window
configurations and restores the old configuration when you do
`choose-completion' or type SPACE.  I don't see where it deletes the
window when you do something else.  Very contrived code.

 > My code window occupies full frame most of the time. That allows me to
 > see more code.

Hm...  What about setting `display-buffer-function' to something like:

(defun my-display-buffer (buffer flag)
   (let (window display-buffer-function)
     (when (and (= (length (window-list)) 2)
	       (setq window (get-buffer-window "*Completions*")))
       (set-window-dedicated-p window nil))
     (display-buffer buffer flag)))

martin