comparison src/getchar.c @ 22442:73be82f278c0 v8.2.1769

patch 8.2.1769: popup filter interferes with using :normal to move the cursor Commit: https://github.com/vim/vim/commit/4934ad0e448bfa03ba19c7c5b411c457a9910442 Author: Bram Moolenaar <Bram@vim.org> Date: Mon Sep 28 22:29:58 2020 +0200 patch 8.2.1769: popup filter interferes with using :normal to move the cursor Problem: A popup filter interferes with using :normal to move the cursor in a popup. Solution: Do not invoke the filter when ex_normal_busy is set.
author Bram Moolenaar <Bram@vim.org>
date Mon, 28 Sep 2020 22:45:05 +0200
parents 00f2eebe74d9
children 8e7cbf73c3a0
comparison
equal deleted inserted replaced
22441:a3bb84cd0f59 22442:73be82f278c0
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 (!ex_normal_busy_done && popup_do_filter(c)) 1891 // Only filter keys that do not come from ":normal". Keys from feedkeys()
1892 // are filtered.
1893 if ((!ex_normal_busy || in_feedkeys) && popup_do_filter(c))
1892 { 1894 {
1893 if (c == Ctrl_C) 1895 if (c == Ctrl_C)
1894 got_int = FALSE; // avoid looping 1896 got_int = FALSE; // avoid looping
1895 c = K_IGNORE; 1897 c = K_IGNORE;
1896 } 1898 }
3166 if (typebuf.tb_len > 0) 3168 if (typebuf.tb_len > 0)
3167 { 3169 {
3168 timedout = TRUE; 3170 timedout = TRUE;
3169 continue; 3171 continue;
3170 } 3172 }
3171 #ifdef FEAT_PROP_POPUP
3172 ex_normal_busy_done = TRUE;
3173 #endif
3174 3173
3175 // When 'insertmode' is set, ESC just beeps in Insert 3174 // When 'insertmode' is set, ESC just beeps in Insert
3176 // mode. Use CTRL-L to make edit() return. 3175 // mode. Use CTRL-L to make edit() return.
3177 // For the command line only CTRL-C always breaks it. 3176 // For the command line only CTRL-C always breaks it.
3178 // For the cmdline window: Alternate between ESC and 3177 // For the cmdline window: Alternate between ESC and