diff --git a/src/insexpand.c b/src/insexpand.c index bb280fa465..5f5a5b9057 100644 --- a/src/insexpand.c +++ b/src/insexpand.c @@ -3665,7 +3665,15 @@ f_complete_match(typval_T *argvars, typval_T *rettv) while (*p != NUL) { - int len = copy_option_part(&p, part, MAXPATHL, ","); + int len = 0; + if (*p == ',' && *(p+1) == ' ' && (*(p+2) == ',' || *(p+2) == NUL)) + { + part[0] = ' '; + len = 1; + p++; + } + else + len = copy_option_part(&p, part, MAXPATHL, ","); if (len > 0 && len <= col) { diff --git a/src/testdir/test_ins_complete.vim b/src/testdir/test_ins_complete.vim index f7292ea34c..741cc9d9c9 100644 --- a/src/testdir/test_ins_complete.vim +++ b/src/testdir/test_ins_complete.vim @@ -4504,6 +4504,10 @@ func Test_complete_match() call feedkeys("Sabc, \:let g:result=complete_match()\", 'tx') call assert_equal([[4, ',']], g:result) + set ise=\ ,= + call feedkeys("Sif true \:let g:result=complete_match()\", 'tx') + call assert_equal([[8, ' ']], g:result) + bw! unlet g:result set isexpand& diff --git a/src/version.c b/src/version.c index 816ce5c15a..4a9ad83dd9 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 */ +/**/ + 1383, /**/ 1382, /**/