# HG changeset patch # User Stefan Monnier # Date 1205345603 0 # Node ID b0c32527b0093867423f7c4a2a4d869b6a798cf6 # Parent 27d52df27ccac1636403cd31730d1d77e83d37f8 (Fswitch_to_buffer): Fall back on pop-to-buffer. diff -r 27d52df27cca -r b0c32527b009 etc/NEWS --- a/etc/NEWS Wed Mar 12 17:57:29 2008 +0000 +++ b/etc/NEWS Wed Mar 12 18:13:23 2008 +0000 @@ -65,6 +65,10 @@ * Changes in Emacs 23.1 +** Operations like C-x b and C-x C-f which use switch-to-buffer do not fail +any more when used in a minibuffer or a dedicated window. Instead, they +fallback on using pop-to-buffer which will use some other window. + ** Emacs now supports using both X displays and ttys in one session. Start the server (M-x server-start). Then `emacsclient -t' creates a tty frame connected to the running emacs server. You can also use any diff -r 27d52df27cca -r b0c32527b009 src/ChangeLog --- a/src/ChangeLog Wed Mar 12 17:57:29 2008 +0000 +++ b/src/ChangeLog Wed Mar 12 18:13:23 2008 +0000 @@ -1,3 +1,7 @@ +2008-03-12 Stefan Monnier + + * buffer.c (Fswitch_to_buffer): Fall back on pop-to-buffer. + 2008-03-11 Jan Dj$(Q)Z(Brv * xterm.c (x_connection_closed): For GTK: If this is the last diff -r 27d52df27cca -r b0c32527b009 src/buffer.c --- a/src/buffer.c Wed Mar 12 17:57:29 2008 +0000 +++ b/src/buffer.c Wed Mar 12 18:13:23 2008 +0000 @@ -1802,7 +1802,10 @@ } err = no_switch_window (selected_window); - if (err) error (err); + if (err) + /* If can't display in current window, let pop-to-buffer + try some other window. */ + return call3 (intern ("pop-to-buffer"), buffer, Qnil, norecord); return switch_to_buffer_1 (buffer, norecord); }