diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/fns.c | 7 |
1 files changed, 5 insertions, 2 deletions
| @@ -2805,15 +2805,18 @@ if `last-nonmenu-event' is nil, and `use-dialog-box' is non-nil. */) | |||
| 2805 | AUTO_STRING (yes_or_no, "(yes or no) "); | 2805 | AUTO_STRING (yes_or_no, "(yes or no) "); |
| 2806 | prompt = CALLN (Fconcat, prompt, yes_or_no); | 2806 | prompt = CALLN (Fconcat, prompt, yes_or_no); |
| 2807 | 2807 | ||
| 2808 | ptrdiff_t count = SPECPDL_INDEX (); | ||
| 2809 | specbind (Qenable_recursive_minibuffers, Qt); | ||
| 2810 | |||
| 2808 | while (1) | 2811 | while (1) |
| 2809 | { | 2812 | { |
| 2810 | ans = Fdowncase (Fread_from_minibuffer (prompt, Qnil, Qnil, Qnil, | 2813 | ans = Fdowncase (Fread_from_minibuffer (prompt, Qnil, Qnil, Qnil, |
| 2811 | Qyes_or_no_p_history, Qnil, | 2814 | Qyes_or_no_p_history, Qnil, |
| 2812 | Qnil)); | 2815 | Qnil)); |
| 2813 | if (SCHARS (ans) == 3 && !strcmp (SSDATA (ans), "yes")) | 2816 | if (SCHARS (ans) == 3 && !strcmp (SSDATA (ans), "yes")) |
| 2814 | return Qt; | 2817 | return unbind_to (count, Qt); |
| 2815 | if (SCHARS (ans) == 2 && !strcmp (SSDATA (ans), "no")) | 2818 | if (SCHARS (ans) == 2 && !strcmp (SSDATA (ans), "no")) |
| 2816 | return Qnil; | 2819 | return unbind_to (count, Qnil); |
| 2817 | 2820 | ||
| 2818 | Fding (Qnil); | 2821 | Fding (Qnil); |
| 2819 | Fdiscard_input (); | 2822 | Fdiscard_input (); |