diff options
Diffstat (limited to 'src/minibuf.c')
| -rw-r--r-- | src/minibuf.c | 7 |
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)); |