changeset 12631:ab75fc26058e

(read_minibuf): Call choose_minibuffer_frame. First save the previous minibuf_window. (read_minibuf_unwind): Restore old minibuf_window.
author Richard M. Stallman <rms@gnu.org>
date Fri, 21 Jul 1995 07:50:50 +0000
parents 071cf90b866a
children 81f12c1d0178
files src/minibuf.c
diffstat 1 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/minibuf.c	Fri Jul 21 07:50:21 1995 +0000
+++ b/src/minibuf.c	Fri Jul 21 07:50:50 1995 +0000
@@ -148,26 +148,28 @@
   if (!enable_recursive_minibuffers
       && minibuf_level > 0
       && (EQ (selected_window, minibuf_window)))
-#if 0
-	  || selected_frame != XFRAME (WINDOW_FRAME (XWINDOW (minibuf_window)))
-#endif
     error ("Command attempted to use minibuffer while in minibuffer");
 
   /* Could we simply bind these variables instead?  */
   minibuf_save_list
+    = Fcons (Voverriding_local_map,
+	     Fcons (minibuf_window, minibuf_save_list));
+  minibuf_save_list
     = Fcons (minibuf_prompt,
 	     Fcons (make_number (minibuf_prompt_width),
 		    Fcons (Vhelp_form,
 			   Fcons (Vcurrent_prefix_arg,
 				  Fcons (Vminibuffer_history_position,
 					 Fcons (Vminibuffer_history_variable,
-						Fcons (Voverriding_local_map,
-						       minibuf_save_list)))))));
+						minibuf_save_list))))));
+
   minibuf_prompt_width = 0;	/* xdisp.c puts in the right value.  */
   minibuf_prompt = Fcopy_sequence (prompt);
   Vminibuffer_history_position = histpos;
   Vminibuffer_history_variable = histvar;
 
+  choose_minibuf_frame ();
+
   record_unwind_protect (Fset_window_configuration,
 			 Fcurrent_window_configuration (Qnil));
 
@@ -407,6 +409,8 @@
   minibuf_save_list = Fcdr (minibuf_save_list);
   Voverriding_local_map = Fcar (minibuf_save_list);
   minibuf_save_list = Fcdr (minibuf_save_list);
+  minibuf_window = Fcar (minibuf_save_list);
+  minibuf_save_list = Fcdr (minibuf_save_list);
 }