diff options
-rw-r--r-- | src/nvim/insexpand.c | 3 | ||||
-rw-r--r-- | test/old/testdir/test_popup.vim | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c index 2f54250392..9d3b400496 100644 --- a/src/nvim/insexpand.c +++ b/src/nvim/insexpand.c @@ -1279,6 +1279,9 @@ void ins_compl_show_pum(void) } if (compl_match_array == NULL) { + if (compl_started && has_event(EVENT_COMPLETECHANGED)) { + trigger_complete_changed_event(cur); + } return; } diff --git a/test/old/testdir/test_popup.vim b/test/old/testdir/test_popup.vim index ca6a4c0728..56c881b958 100644 --- a/test/old/testdir/test_popup.vim +++ b/test/old/testdir/test_popup.vim @@ -1142,6 +1142,10 @@ func Test_CompleteChanged() let g:event = copy(v:event) let g:item = get(v:event, 'completed_item', {}) let g:word = get(g:item, 'word', v:null) + let l:line = getline('.') + if g:word == v:null && l:line == "bc" + let g:word = l:line + endif endfunction augroup AAAAA_Group au! @@ -1161,6 +1165,8 @@ func Test_CompleteChanged() call assert_equal(v:null, g:word) call feedkeys("a\<C-N>\<C-N>\<C-N>\<C-N>\<C-P>", 'tx') call assert_equal('foobar', g:word) + call feedkeys("S\<C-N>bc", 'tx') + call assert_equal("bc", g:word) func Omni_test(findstart, base) if a:findstart |