summaryrefslogtreecommitdiff
path: root/src/getchar.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2020-09-28 22:29:58 +0200
committerBram Moolenaar <Bram@vim.org>2020-09-28 22:29:58 +0200
commit4934ad0e448bfa03ba19c7c5b411c457a9910442 (patch)
treebe240c37e3e2be89bde36969b2287a934b4209fc /src/getchar.c
parentd58a3bf7dac8d53faf42e13cc1152b110f12c404 (diff)
downloadvim-git-4934ad0e448bfa03ba19c7c5b411c457a9910442.tar.gz
patch 8.2.1769: popup filter interferes with using :normal to move the cursorv8.2.1769
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.
Diffstat (limited to 'src/getchar.c')
-rw-r--r--src/getchar.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/getchar.c b/src/getchar.c
index 2c7bd1fd2..6e469f49b 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -1888,7 +1888,9 @@ vgetc(void)
}
#endif
#ifdef FEAT_PROP_POPUP
- if (!ex_normal_busy_done && popup_do_filter(c))
+ // Only filter keys that do not come from ":normal". Keys from feedkeys()
+ // are filtered.
+ if ((!ex_normal_busy || in_feedkeys) && popup_do_filter(c))
{
if (c == Ctrl_C)
got_int = FALSE; // avoid looping
@@ -3168,9 +3170,6 @@ vgetorpeek(int advance)
timedout = TRUE;
continue;
}
-#ifdef FEAT_PROP_POPUP
- ex_normal_busy_done = TRUE;
-#endif
// When 'insertmode' is set, ESC just beeps in Insert
// mode. Use CTRL-L to make edit() return.