diff --git a/src/popupwin.c b/src/popupwin.c index 2868a9da39..ed964568dc 100644 --- a/src/popupwin.c +++ b/src/popupwin.c @@ -3149,7 +3149,7 @@ invoke_popup_filter(win_T *wp, int c) typval_T argv[3]; char_u buf[NUMBUFLEN]; linenr_T old_lnum = wp->w_cursor.lnum; - int prev_called_emsg = called_emsg; + int prev_did_emsg = did_emsg; // Emergency exit: CTRL-C closes the popup. if (c == Ctrl_C) @@ -3193,12 +3193,12 @@ invoke_popup_filter(win_T *wp, int c) if (win_valid_popup(wp) && old_lnum != wp->w_cursor.lnum) popup_highlight_curline(wp); - // If an error was given always return FALSE, so that keys are not - // consumed and the user can type something. + // If an error message was given always return FALSE, so that keys are + // not consumed and the user can type something. // If we get three errors in a row then close the popup. Decrement the // error count by 1/10 if there are no errors, thus allowing up to 1 in // 10 calls to cause an error. - if (win_valid_popup(wp) && called_emsg > prev_called_emsg) + if (win_valid_popup(wp) && did_emsg > prev_did_emsg) { wp->w_filter_errors += 10; if (wp->w_filter_errors >= 30) diff --git a/src/testdir/test_popupwin.vim b/src/testdir/test_popupwin.vim index 1524e78563..435873ec6a 100644 --- a/src/testdir/test_popupwin.vim +++ b/src/testdir/test_popupwin.vim @@ -2158,6 +2158,7 @@ func Test_popup_scrollbar() endfunc func Popup_filter(winid, key) if a:key == 'j' + silent! this_throws_an_error_but_is_ignored let line = popup_getoptions(a:winid).firstline let nlines = line('$', a:winid) let newline = line < nlines ? (line + 1) : nlines diff --git a/src/version.c b/src/version.c index 0716ca1e91..0933697495 100644 --- a/src/version.c +++ b/src/version.c @@ -750,6 +750,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1886, /**/ 1885, /**/