diff --git a/src/insexpand.c b/src/insexpand.c index de3d519823..9df0445392 100644 --- a/src/insexpand.c +++ b/src/insexpand.c @@ -4831,7 +4831,8 @@ find_comp_when_fuzzy(void) if ((is_forward && compl_selected_item == compl_match_arraysize - 1) || (is_backward && compl_selected_item == 0)) - return compl_first_match != compl_shown_match ? compl_first_match : + return compl_first_match != compl_shown_match ? + (is_forward ? compl_shown_match->cp_next : compl_first_match) : (compl_first_match->cp_prev ? compl_first_match->cp_prev : NULL); if (is_forward) diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index f60aba8d7a..bc971b5da8 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -2834,6 +2834,8 @@ func Test_complete_opt_fuzzy() call assert_equal('bar', getline('.')) call feedkeys("Sb\\\\", 'tx') call assert_equal('blue', getline('.')) + call feedkeys("Sb\\\\\", 'tx') + call assert_equal('b', getline('.')) " clean up set omnifunc= diff --git a/src/version.c b/src/version.c index f77ff4794a..28c0248665 100644 --- a/src/version.c +++ b/src/version.c @@ -704,6 +704,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 1272, /**/ 1271, /**/