The docstring for display-buffer includes: The variables `special-display-buffer-names', `special-display-regexps', `same-window-buffer-names', and `same-window-regexps' customize how certain buffer names are handled. The latter two take effect only if NOT-THIS-WINDOW is t. This last line seems wrong. My `same-window-buffer-names', for example, is ("*shell*" "*mail*" "*inferior-lisp*" "*ielm*" "*scheme*"). If I do M-x display-buffer RET *shell* RET, I get the *shell* buffer in the current window. It looks like the opposite is true. Because C-u M-x display-buffer RET *shell* RET displays the *shell* buffer in the other window. Another experiment with a buffer name that matched `same-window-regexps' supports this. So, a patch to change t to nil. 2006-04-09 John Sullivan * window.c (Fdisplay_buffer): Fix docstring.