diff options
author | Bram Moolenaar <Bram@vim.org> | 2020-09-23 12:29:11 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2020-09-23 12:29:11 +0200 |
commit | 189832bf661168df7ebd428e4088737718775fbd (patch) | |
tree | 41f4c1d46cc1b0b40dcff2969f189ddfd1b21d84 /src/getchar.c | |
parent | c53e9c57a9846655c2d3169788f4beefa6d22d90 (diff) |
patch 8.2.1729: endless loop when ":normal" feeds popup window filterv8.2.1729
Problem: Endless loop when ":normal" feeds popup window filter.
Solution: Add the ex_normal_busy_done flag.
Diffstat (limited to 'src/getchar.c')
-rw-r--r-- | src/getchar.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/getchar.c b/src/getchar.c index e42fc332cc..2c7bd1fd2e 100644 --- a/src/getchar.c +++ b/src/getchar.c @@ -1888,7 +1888,7 @@ vgetc(void) } #endif #ifdef FEAT_PROP_POPUP - if (popup_do_filter(c)) + if (!ex_normal_busy_done && popup_do_filter(c)) { if (c == Ctrl_C) got_int = FALSE; // avoid looping @@ -3168,6 +3168,10 @@ 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. // For the command line only CTRL-C always breaks it. |