vim-patch:7.4.2096

Problem:    Lambda functions show up with completion.
Solution:   Don't show lambda functions. (Ken Takata)

b49edc11a1
This commit is contained in:
Michael Ennen 2016-12-15 12:48:41 -07:00
parent 7f4848aff4
commit cbaa87a639
3 changed files with 10 additions and 3 deletions

View File

@ -21839,8 +21839,10 @@ char_u *get_user_func_name(expand_T *xp, int idx)
++hi;
fp = HI2UF(hi);
if (fp->uf_flags & FC_DICT)
return (char_u *)""; /* don't show dict functions */
if ((fp->uf_flags & FC_DICT)
|| STRNCMP(fp->uf_name, "<lambda>", 8) == 0) {
return (char_u *)""; // don't show dict and lambda functions
}
if (STRLEN(fp->uf_name) + 4 >= IOSIZE)
return fp->uf_name; /* prevents overflow */

View File

@ -85,6 +85,11 @@ func Test_getcompletion()
let l = getcompletion('paint', 'function')
call assert_equal([], l)
let Flambda = {-> 'hello'}
let l = getcompletion('', 'function')
let l = filter(l, {i, v -> v =~ 'lambda'})
call assert_equal(0, len(l))
let l = getcompletion('run', 'file')
call assert_true(index(l, 'runtest.vim') >= 0)
let l = getcompletion('walk', 'file')

View File

@ -344,7 +344,7 @@ static int included_patches[] = {
2099,
// 2098,
// 2097,
// 2096,
2096,
// 2095,
// 2094 NA
// 2093 NA