Subject: 23.0.60; display-buffer doesn't honor NOT-THIS-WINDOW argument

From: Helmut Eller <[email-masked]>
Date: Sat, 22 Nov 2008 18:01:37 +0100

I think that display-buffer returns sometimes the selected window even
if the NOT-THIS-WINDOW argument is true.  Here is a test case:

(progn
  (defun display-buffer-checked (buffer)
    (let ((selected (selected-window))
          (window (display-buffer buffer t)))
      (when (eq selected window)
        (error "display-buffer returned selected window"))
      window))
  
  (let ((foo (get-buffer-create "foo"))
        (bar (get-buffer-create "bar")))
    (select-window (get-buffer-window "*scratch*"))
    (save-selected-window 
      (select-window (display-buffer-checked foo)))
    (save-selected-window 
      (select-window (display-buffer-checked bar)))))

display-buffer-checked just calls display-buffer and checks that the
returned window isn't the selected window.  From looking at the code of
display-buffer, I would say that display-buffer returns the lru window
even if that's the selected window.

Helmut.

In GNU Emacs 23.0.60.10 (i686-pc-linux-gnu, GTK+ Version 2.8.20)
 of 2008-11-22 on xaital
Windowing system distributor `The X.Org Foundation', version 11.0.70101000
configured using `configure  '--without-sound' '--without-pop' '--without-gif' '--without-tiff''