diff options
author | zeertzjq <zeertzjq@outlook.com> | 2022-07-26 12:24:41 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-07-26 12:24:41 +0100 |
commit | 92a1678d488b7d023ddf2cd493a6ee0d7fcf1928 (patch) | |
tree | cc1bfa906c4c3cb5d3887bb0f28ddb6e70275be8 | |
parent | be3dbda871ffd1b61f52b9519c23772f62381c67 (diff) | |
download | vim-git-92a1678d488b7d023ddf2cd493a6ee0d7fcf1928.tar.gz |
patch 9.0.0076: no test for what patch 8.1.1424 fixesv9.0.0076
Problem: No test for what patch 8.1.1424 fixes.
Solution: Add a test. (closes #10789)
-rw-r--r-- | src/popupmenu.c | 4 | ||||
-rw-r--r-- | src/testdir/test_popup.vim | 19 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 23 insertions, 2 deletions
diff --git a/src/popupmenu.c b/src/popupmenu.c index c030cc9e8..37c4a6d25 100644 --- a/src/popupmenu.c +++ b/src/popupmenu.c @@ -1549,8 +1549,8 @@ pum_show_popupmenu(vimmenu_T *menu) c = vgetc(); - // Bail out when typing Esc, CTRL-C or some callback closed the popup - // menu. + // Bail out when typing Esc, CTRL-C or some callback or <expr> mapping + // closed the popup menu. if (c == ESC || c == Ctrl_C || pum_array == NULL) break; else if (c == CAR || c == NL) diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim index 5fb7e8222..af14167d5 100644 --- a/src/testdir/test_popup.vim +++ b/src/testdir/test_popup.vim @@ -984,6 +984,25 @@ func Test_menu_only_exists_in_terminal() endtry endfunc +" This used to crash before patch 8.1.1424 +func Test_popup_delete_when_shown() + CheckFeature menu + CheckNotGui + + func Func() + popup Foo + return "\<Ignore>" + endfunc + + nmenu Foo.Bar : + nnoremap <expr> <F2> Func() + call feedkeys("\<F2>\<F2>\<Esc>", 'xt') + + delfunc Func + nunmenu Foo.Bar + nunmap <F2> +endfunc + func Test_popup_complete_info_01() new inoremap <buffer><F5> <C-R>=complete_info().mode<CR> diff --git a/src/version.c b/src/version.c index 1909fd4b4..9081fecd1 100644 --- a/src/version.c +++ b/src/version.c @@ -736,6 +736,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 76, +/**/ 75, /**/ 74, |