changeset 345:8633e6928acc

*** empty log message ***
author Jim Blandy <jimb@redhat.com>
date Tue, 23 Jul 1991 20:13:12 +0000
parents 057b6b26930e
children 52cd078baf00
files src/minibuf.c
diffstat 1 files changed, 8 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/src/minibuf.c	Tue Jul 23 19:23:23 1991 +0000
+++ b/src/minibuf.c	Tue Jul 23 20:13:12 1991 +0000
@@ -80,11 +80,6 @@
 
 #ifdef MULTI_SCREEN
 
-/* When the global-minibuffer-screen is not used, this is the screen
-   where the minbuffer is active, and thus where certain windows
-   (completions, etc.) should appear. */
-struct screen *active_screen;
-
 extern Lisp_Object Vglobal_minibuffer_screen;
 #endif
 
@@ -138,7 +133,14 @@
 	  minibuf_save_vector[minibuf_level].current_prefix_arg);
 
   record_unwind_protect (Fset_window_configuration,
-			 Fcurrent_window_configuration ());
+			 Fcurrent_window_configuration (Qnil));
+
+  /* If the minibuffer window is on a different screen, save that
+     screen's configuration too.  */
+  if (XSCREEN (WINDOW_SCREEN (XWINDOW (minibuf_window)))
+      != selected_screen)
+    record_unwind_protect (Fset_window_configuration,
+			   Fcurrent_window_configuration (WINDOW_SCREEN (XWINDOW (minibuf_window))));
 
   val = current_buffer->directory;
   Fset_buffer (get_minibuffer (minibuf_level));
@@ -148,10 +150,6 @@
 
   Vminibuf_scroll_window = selected_window;
   Fset_window_buffer (minibuf_window, Fcurrent_buffer ());
-#ifdef MULTI_SCREEN
-  if (SCREENP (Vglobal_minibuffer_screen))
-    active_screen = selected_screen;
-#endif
   Fselect_window (minibuf_window);
   XFASTINT (XWINDOW (minibuf_window)->hscroll) = 0;
 
@@ -202,11 +200,6 @@
   if (expflag)
     val = Fread (val);
 
-#ifdef MULTI_SCREEN
-  if (active_screen)
-    active_screen = (struct screen *) 0;
-#endif
-
   return val;
 }