comparison src/getchar.c @ 22361:00f2eebe74d9 v8.2.1729

patch 8.2.1729: endless loop when ":normal" feeds popup window filter Commit: https://github.com/vim/vim/commit/189832bf661168df7ebd428e4088737718775fbd Author: Bram Moolenaar <Bram@vim.org> Date: Wed Sep 23 12:29:11 2020 +0200 patch 8.2.1729: endless loop when ":normal" feeds popup window filter Problem: Endless loop when ":normal" feeds popup window filter. Solution: Add the ex_normal_busy_done flag.
author Bram Moolenaar <Bram@vim.org>
date Wed, 23 Sep 2020 12:30:04 +0200
parents 3ea773da9c4f
children 73be82f278c0
comparison
equal deleted inserted replaced
22360:d55224e63208 22361:00f2eebe74d9
1886 bevalexpr_due_set = FALSE; 1886 bevalexpr_due_set = FALSE;
1887 ui_remove_balloon(); 1887 ui_remove_balloon();
1888 } 1888 }
1889 #endif 1889 #endif
1890 #ifdef FEAT_PROP_POPUP 1890 #ifdef FEAT_PROP_POPUP
1891 if (popup_do_filter(c)) 1891 if (!ex_normal_busy_done && popup_do_filter(c))
1892 { 1892 {
1893 if (c == Ctrl_C) 1893 if (c == Ctrl_C)
1894 got_int = FALSE; // avoid looping 1894 got_int = FALSE; // avoid looping
1895 c = K_IGNORE; 1895 c = K_IGNORE;
1896 } 1896 }
3166 if (typebuf.tb_len > 0) 3166 if (typebuf.tb_len > 0)
3167 { 3167 {
3168 timedout = TRUE; 3168 timedout = TRUE;
3169 continue; 3169 continue;
3170 } 3170 }
3171 #ifdef FEAT_PROP_POPUP
3172 ex_normal_busy_done = TRUE;
3173 #endif
3174
3171 // When 'insertmode' is set, ESC just beeps in Insert 3175 // When 'insertmode' is set, ESC just beeps in Insert
3172 // mode. Use CTRL-L to make edit() return. 3176 // mode. Use CTRL-L to make edit() return.
3173 // For the command line only CTRL-C always breaks it. 3177 // For the command line only CTRL-C always breaks it.
3174 // For the cmdline window: Alternate between ESC and 3178 // For the cmdline window: Alternate between ESC and
3175 // CTRL-C: ESC for most situations and CTRL-C to close the 3179 // CTRL-C: ESC for most situations and CTRL-C to close the