changeset 93109:7316c5c792f4

(Fcall_interactively) [case 'B']: Use other-buffer as default.
author Andreas Schwab <schwab@suse.de>
date Thu, 20 Mar 2008 17:21:16 +0000
parents 695900050c0b
children 6d11337f1ad8
files src/ChangeLog src/callint.c
diffstat 2 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Thu Mar 20 15:51:45 2008 +0000
+++ b/src/ChangeLog	Thu Mar 20 17:21:16 2008 +0000
@@ -1,3 +1,8 @@
+2008-03-20  Andreas Schwab  <schwab@suse.de>
+
+	* callint.c (Fcall_interactively) [case 'B']: Use other-buffer
+	as default.
+
 2008-03-19  Jason Rumney  <jasonr@gnu.org>
 
 	* w32fns.c (hourglass_timer, hourglass_hwnd): New variables.
--- a/src/callint.c	Thu Mar 20 15:51:45 2008 +0000
+++ b/src/callint.c	Thu Mar 20 17:21:16 2008 +0000
@@ -516,20 +516,20 @@
 	case 'B':		/* Name of buffer, possibly nonexistent */
 	  {
 	    Lisp_Object tema, temb, temc;
-	    int skip_current = 1;
 
-	    if (*tem == 'b' && !EQ (selected_window, minibuf_window))
-	      skip_current = 0;
-
-	    /* Get a list of buffer names (except the current buffer and
-	       internal buffers), and use this list for default values.  */
+	    /* Get a list of buffer names (except internal buffers), and
+	       use this list for default values.  Put either current
+	       buffer or other-buffer in front.  */
 	    tema = Qnil;
 	    temc = Fcurrent_buffer ();
+	    if (*tem == 'B' || EQ (selected_window, minibuf_window))
+	      temc = Fother_buffer (temc, Qnil, Qnil);
+	    tema = Fcons (XBUFFER (temc)->name, tema);
 	    teml = Fbuffer_list (selected_frame);
 	    for (; CONSP (teml); teml = XCDR (teml))
 	      {
 		temb = XCAR (teml);
-		if (skip_current && EQ (temb, temc))
+		if (EQ (temb, temc))
 		  continue;
 		if (NILP (temb))
 		  continue;