aboutsummaryrefslogtreecommitdiffstats
path: root/src/minibuf.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/minibuf.c')
-rw-r--r--src/minibuf.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/minibuf.c b/src/minibuf.c
index d4128ce01c1..010152930bc 100644
--- a/src/minibuf.c
+++ b/src/minibuf.c
@@ -497,6 +497,8 @@ read_minibuf (Lisp_Object map, Lisp_Object initial, Lisp_Object prompt,
497 Fcons (Vminibuffer_history_position, 497 Fcons (Vminibuffer_history_position,
498 Fcons (Vminibuffer_history_variable, 498 Fcons (Vminibuffer_history_variable,
499 minibuf_save_list)))))); 499 minibuf_save_list))))));
500 minibuf_save_list
501 = Fcons (Fthis_command_keys_vector (), minibuf_save_list);
500 502
501 record_unwind_protect_void (read_minibuf_unwind); 503 record_unwind_protect_void (read_minibuf_unwind);
502 minibuf_level++; 504 minibuf_level++;
@@ -836,6 +838,11 @@ read_minibuf_unwind (void)
836 Fset_buffer (XWINDOW (window)->contents); 838 Fset_buffer (XWINDOW (window)->contents);
837 839
838 /* Restore prompt, etc, from outer minibuffer level. */ 840 /* Restore prompt, etc, from outer minibuffer level. */
841 Lisp_Object key_vec = Fcar (minibuf_save_list);
842 eassert (VECTORP (key_vec));
843 this_command_key_count = XFASTINT (Flength (key_vec));
844 this_command_keys = key_vec;
845 minibuf_save_list = Fcdr (minibuf_save_list);
839 minibuf_prompt = Fcar (minibuf_save_list); 846 minibuf_prompt = Fcar (minibuf_save_list);
840 minibuf_save_list = Fcdr (minibuf_save_list); 847 minibuf_save_list = Fcdr (minibuf_save_list);
841 minibuf_prompt_width = XFASTINT (Fcar (minibuf_save_list)); 848 minibuf_prompt_width = XFASTINT (Fcar (minibuf_save_list));