* Walter GR [2009-01-16 19:42+0100] writes:
http://common-lisp.net/project/slime/doc/html/Temporary-buffers.html
"Temporary buffers can be dismissed by pressing q. This kills the buffer and restores the window configuration as it was before the buffer was displayed."
For me, this isn't the case. q kills the buffer, but retains the window configuration that exists when the buffer was visible.
Is this a bug or am I doing it wrong?
The implementation has changed a bit: q kills the window only if the window was created for the temp buffer. If the window existed before then the window remains as it is, only the previous buffer is displayed in the window. It doesn't restore the full window config, because that doesn't work for some people.
P.S. Specific example: I use one Emacs window split into two vertical frames. The top frame (~75% in height) is the Lisp code I'm editing; the smaller bottom frame is the SLIME REPL.
When I do slime-describe-symbol when in the Lisp code, the SLIME REPL "disappears" from the bottom, and the bottom 50% of the window is now occupied by an informational buffer. Pressing q replaces the temp buffer with the SLIME REPL, but it still occupies 50% of the window.
In regard to window configs, slime-describe-symbol is supposed to act similar as C-h f does. That also changes window sizes.
Hmm.. this looks like a bug in display-buffer. We use that to select or create an appropriate window for the temp buffer. Aha, there is a variable `even-window-heights': "If non-nil `display-buffer' will try to even window heights. Otherwise `display-buffer' will leave the window configuration alone. Heights are evened only when `display-buffer' chooses a window that appears above or below the selected window."
Have you tried to set that to nil?
Helmut.