fix(eval): check for v:lua when calling callback (#19855)

This makes callback_call() match call_vim_function() when calling a function.
This commit is contained in:
zeertzjq
2022-08-20 15:52:35 +08:00
committed by GitHub
parent 1a57cd3836
commit bffaf1e27e
3 changed files with 16 additions and 3 deletions

View File

@@ -5842,7 +5842,17 @@ bool callback_call(Callback *const callback, const int argcount_in, typval_T *co
switch (callback->type) {
case kCallbackFuncref:
name = callback->data.funcref;
partial = NULL;
int len = (int)STRLEN(name);
if (len >= 6 && !memcmp(name, "v:lua.", 6)) {
name += 6;
len = check_luafunc_name(name, false);
if (len == 0) {
return false;
}
partial = vvlua_partial;
} else {
partial = NULL;
}
break;
case kCallbackPartial: