Jak zmusić Emacsa, aby nie wyświetlał bufora w określonym oknie?

Moja konfiguracja okien wygląda następująco:

<code>          +----------+-----------+
      |          |           |
      |          |           |
      |          |           |
      |          |           |
      |          |           |
      |          +-----------+
      |          |           |
      +----------+-----------+
</code>

I używam dolnego prawego okna dla specjalnych wyświetlaczy (takich jak pomoc, uzupełnianie itp.), Ale emacs nalega na używanie tego okna, gdy wywołuję polecenia (find-file-other-windowitp.), które używajądisplay-bufferi zmień rozmiar tego okna. Jest to denerwujące ... Czy jest jakiś sposób, w jaki mogę zmusić emacsa, aby nie używał tych okien? Myślałem o doradztwiedisplay-buffer, ale jest to funkcja w c. Jakieś myśli na ten temat?

EDYTOWAĆ:

W oparciu o odpowiedź Treya, to właśnie dla mnie działa do tej pory:

<code>(setq special-display-function 'my-display-buffer)
(setq special-display-regexps '(".*"))

(defun display-special-buffer (buf)
  "put the special buffers in the right spot (bottom rigt)"
    (let ((target-window (window-at (- (frame-width) 4) (- (frame-height) 4)))
          (pop-up-windows t))
      (set-window-buffer target-window buf)
      target-window))

(defun my-display-buffer (buf)
  "put all buffers in a window other than the one in the bottom right"
  (message (buffer-name  buf))
  (if (member (buffer-name buf) special-display-buffer-names)
      (display-special-buffer buf)
      (progn
        (let ((pop-up-windows t)
              (windows (delete (window-at (- (frame-width) 4) (- (frame-height) 4))
                         (delete (minibuffer-window) (window-list)))))
          (message (buffer-name (window-buffer (car windows))))
          (set-window-buffer (car (cdr windows)) buf)
          (car (cdr windows))))))
</code>

questionAnswers(4)

yourAnswerToTheQuestion