Commit c5b6b680 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(read_minibuf): Call choose_minibuffer_frame.

First save the previous minibuf_window.
(read_minibuf_unwind): Restore old minibuf_window.
parent 2bb07400
...@@ -148,12 +148,12 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos) ...@@ -148,12 +148,12 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
if (!enable_recursive_minibuffers if (!enable_recursive_minibuffers
&& minibuf_level > 0 && minibuf_level > 0
&& (EQ (selected_window, minibuf_window))) && (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"); error ("Command attempted to use minibuffer while in minibuffer");
/* Could we simply bind these variables instead? */ /* Could we simply bind these variables instead? */
minibuf_save_list
= Fcons (Voverriding_local_map,
Fcons (minibuf_window, minibuf_save_list));
minibuf_save_list minibuf_save_list
= Fcons (minibuf_prompt, = Fcons (minibuf_prompt,
Fcons (make_number (minibuf_prompt_width), Fcons (make_number (minibuf_prompt_width),
...@@ -161,13 +161,15 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos) ...@@ -161,13 +161,15 @@ read_minibuf (map, initial, prompt, backup_n, expflag, histvar, histpos)
Fcons (Vcurrent_prefix_arg, Fcons (Vcurrent_prefix_arg,
Fcons (Vminibuffer_history_position, Fcons (Vminibuffer_history_position,
Fcons (Vminibuffer_history_variable, 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_width = 0; /* xdisp.c puts in the right value. */
minibuf_prompt = Fcopy_sequence (prompt); minibuf_prompt = Fcopy_sequence (prompt);
Vminibuffer_history_position = histpos; Vminibuffer_history_position = histpos;
Vminibuffer_history_variable = histvar; Vminibuffer_history_variable = histvar;
choose_minibuf_frame ();
record_unwind_protect (Fset_window_configuration, record_unwind_protect (Fset_window_configuration,
Fcurrent_window_configuration (Qnil)); Fcurrent_window_configuration (Qnil));
...@@ -407,6 +409,8 @@ read_minibuf_unwind (data) ...@@ -407,6 +409,8 @@ read_minibuf_unwind (data)
minibuf_save_list = Fcdr (minibuf_save_list); minibuf_save_list = Fcdr (minibuf_save_list);
Voverriding_local_map = Fcar (minibuf_save_list); Voverriding_local_map = Fcar (minibuf_save_list);
minibuf_save_list = Fcdr (minibuf_save_list); minibuf_save_list = Fcdr (minibuf_save_list);
minibuf_window = Fcar (minibuf_save_list);
minibuf_save_list = Fcdr (minibuf_save_list);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment