aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard M. Stallman1995-07-21 07:50:50 +0000
committerRichard M. Stallman1995-07-21 07:50:50 +0000
commitc5b6b68020dbea06f1b167553e4145319689492d (patch)
treea6c9fde76e7a497df70ba8ab3ebb8d55f4ae9c42 /src
parent2bb07400c9d0f4c796f8e213c733debe8cafe7aa (diff)
downloademacs-c5b6b68020dbea06f1b167553e4145319689492d.tar.gz
emacs-c5b6b68020dbea06f1b167553e4145319689492d.zip
(read_minibuf): Call choose_minibuffer_frame.
First save the previous minibuf_window. (read_minibuf_unwind): Restore old minibuf_window.
Diffstat (limited to 'src')
-rw-r--r--src/minibuf.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index 91e622a617c..afd27c76a35 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -148,26 +148,28 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
148 if (!enable_recursive_minibuffers 148 if (!enable_recursive_minibuffers
149 && minibuf_level > 0 149 && minibuf_level > 0
150 && (EQ (selected_window, minibuf_window))) 150 && (EQ (selected_window, minibuf_window)))
151#if 0
152 || selected_frame != XFRAME (WINDOW_FRAME (XWINDOW (minibuf_window)))
153#endif
154 error ("Command attempted to use minibuffer while in minibuffer"); 151 error ("Command attempted to use minibuffer while in minibuffer");
155 152
156 /* Could we simply bind these variables instead? */ 153 /* Could we simply bind these variables instead? */
157 minibuf_save_list 154 minibuf_save_list
155 = Fcons (Voverriding_local_map,
156 Fcons (minibuf_window, minibuf_save_list));
157 minibuf_save_list
158 = Fcons (minibuf_prompt, 158 = Fcons (minibuf_prompt,
159 Fcons (make_number (minibuf_prompt_width), 159 Fcons (make_number (minibuf_prompt_width),
160 Fcons (Vhelp_form, 160 Fcons (Vhelp_form,
161 Fcons (Vcurrent_prefix_arg, 161 Fcons (Vcurrent_prefix_arg,
162 Fcons (Vminibuffer_history_position, 162 Fcons (Vminibuffer_history_position,
163 Fcons (Vminibuffer_history_variable, 163 Fcons (Vminibuffer_history_variable,
164 Fcons (Voverriding_local_map, 164 minibuf_save_list))))));
165 minibuf_save_list))))))); 165
166 minibuf_prompt_width = 0; /* xdisp.c puts in the right value. */ 166 minibuf_prompt_width = 0; /* xdisp.c puts in the right value. */
167 minibuf_prompt = Fcopy_sequence (prompt); 167 minibuf_prompt = Fcopy_sequence (prompt);
168 Vminibuffer_history_position = histpos; 168 Vminibuffer_history_position = histpos;
169 Vminibuffer_history_variable = histvar; 169 Vminibuffer_history_variable = histvar;
170 170
171 choose_minibuf_frame ();
172
171 record_unwind_protect (Fset_window_configuration, 173 record_unwind_protect (Fset_window_configuration,
172 Fcurrent_window_configuration (Qnil)); 174 Fcurrent_window_configuration (Qnil));
173 175
@@ -407,6 +409,8 @@ read_minibuf_unwind (data)
407 minibuf_save_list = Fcdr (minibuf_save_list); 409 minibuf_save_list = Fcdr (minibuf_save_list);
408 Voverriding_local_map = Fcar (minibuf_save_list); 410 Voverriding_local_map = Fcar (minibuf_save_list);
409 minibuf_save_list = Fcdr (minibuf_save_list); 411 minibuf_save_list = Fcdr (minibuf_save_list);
412 minibuf_window = Fcar (minibuf_save_list);
413 minibuf_save_list = Fcdr (minibuf_save_list);
410} 414}
411 415
412 416