aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/nvim/insexpand.c2
-rw-r--r--test/old/testdir/test_ins_complete.vim13
2 files changed, 13 insertions, 2 deletions
diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c
index 6f99708e1d..09860a6a40 100644
--- a/src/nvim/insexpand.c
+++ b/src/nvim/insexpand.c
@@ -3635,7 +3635,7 @@ static int ins_compl_next(bool allow_get_expansion, int count, bool insert_match
}
if (allow_get_expansion && insert_match
- && (!(compl_get_longest || compl_restarting) || compl_used_match)) {
+ && (!compl_get_longest || compl_used_match)) {
// Delete old text to be replaced
ins_compl_delete();
}
diff --git a/test/old/testdir/test_ins_complete.vim b/test/old/testdir/test_ins_complete.vim
index aeceeea9f1..ec5fd186b1 100644
--- a/test/old/testdir/test_ins_complete.vim
+++ b/test/old/testdir/test_ins_complete.vim
@@ -864,7 +864,7 @@ func Test_complete_add_onechar()
setlocal complete=.
call setline(1, ['workhorse', 'workload'])
normal Go
- exe "normal aWOR\<C-P>\<bs>\<bs>\<bs>\<bs>\<bs>\<bs>\<C-L>r\<C-L>\<C-L>"
+ exe "normal aWOR\<C-P>\<bs>\<bs>\<bs>\<bs>\<bs>\<bs>\<C-L>\<C-L>\<C-L>"
call assert_equal('workh', getline(3))
set ignorecase& backspace&
close!
@@ -2280,6 +2280,17 @@ func GetCompleteInfo()
return ''
endfunc
+func Test_completion_restart()
+ new
+ set complete=. completeopt=menuone backspace=2
+ call setline(1, 'workhorse workhorse')
+ exe "normal $a\<C-N>\<BS>\<BS>\<C-R>=GetCompleteInfo()\<CR>"
+ call assert_equal(1, len(g:compl_info['items']))
+ call assert_equal('workhorse', g:compl_info['items'][0]['word'])
+ set complete& completeopt& backspace&
+ bwipe!
+endfunc
+
func Test_complete_info_index()
new
call setline(1, ["aaa", "bbb", "ccc", "ddd", "eee", "fff"])