aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJim Blandy <[email protected]>1991-07-23 20:13:12 +0000
committerJim Blandy <[email protected]>1991-07-23 20:13:12 +0000
commitb2b2c677c837418bdcfe5d1822b7502c7edf9d3a (patch)
tree1e8a40ed1cdd212edb2bc9070e4d29be1903373d /src
parentc462c9645e1a926134ff199f527e183b27135854 (diff)
*** empty log message ***
Diffstat (limited to 'src')
-rw-r--r--src/minibuf.c23
1 files changed, 8 insertions, 15 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index 6369438e70..f7065f85b6 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -80,11 +80,6 @@ extern int minibuf_prompt_width;
#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 @@ read_minibuf (map, initial, prompt, backup_n, expflag)
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 @@ read_minibuf (map, initial, prompt, backup_n, expflag)
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 @@ read_minibuf (map, initial, prompt, backup_n, expflag)
if (expflag)
val = Fread (val);
-#ifdef MULTI_SCREEN
- if (active_screen)
- active_screen = (struct screen *) 0;
-#endif
-
return val;
}