diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/insexpand.c | 2 | ||||
-rw-r--r-- | src/testdir/test_ins_complete.vim | 5 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 6 insertions, 3 deletions
diff --git a/src/insexpand.c b/src/insexpand.c index 43fb8ca505..7ede6bd91f 100644 --- a/src/insexpand.c +++ b/src/insexpand.c @@ -3080,7 +3080,7 @@ info_add_completion_info(list_T *li) // Skip the element with the CP_ORIGINAL_TEXT flag at the beginning, in case of // forward completion, or at the end, in case of backward completion. - match = forward ? match->cp_next : (compl_no_select ? match->cp_prev : match->cp_prev->cp_prev); + match = forward ? match->cp_next : (compl_no_select && match_at_original_text(match) ? match->cp_prev : match->cp_prev->cp_prev); while (match != NULL && !match_at_original_text(match)) { diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index 7cb9568997..61ddcd378b 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -2344,8 +2344,6 @@ func Test_complete_info_index() call feedkeys("Go\<C-X>\<C-P>\<F5>\<Esc>_dd", 'tx') call assert_equal(-1, g:compl_info['selected']) - " Check if index out of range - " https://github.com/vim/vim/pull/12971 call feedkeys("Go\<C-X>\<C-N>\<C-P>\<F5>\<Esc>_dd", 'tx') call assert_equal(0, g:compl_info['selected']) call assert_equal(6 , len(g:compl_info['items'])) @@ -2353,6 +2351,9 @@ func Test_complete_info_index() call feedkeys("Go\<C-X>\<C-N>\<C-N>\<C-N>\<C-N>\<C-N>\<C-N>\<C-N>\<C-N>\<C-N>\<F5>\<Esc>_dd", 'tx') call assert_equal("aaa", g:compl_info['items'][g:compl_info['selected']]['word']) call assert_equal(6 , len(g:compl_info['items'])) + call feedkeys("Go\<C-X>\<C-N>\<F5>\<Esc>_dd", 'tx') + call assert_equal(-1, g:compl_info['selected']) + call assert_equal(6 , len(g:compl_info['items'])) set completeopt& bwipe! diff --git a/src/version.c b/src/version.c index 46d68c7539..cd512dabec 100644 --- a/src/version.c +++ b/src/version.c @@ -705,6 +705,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 2090, +/**/ 2089, /**/ 2088, |