aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nvim/eval.c')
-rw-r--r--src/nvim/eval.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/nvim/eval.c b/src/nvim/eval.c
index 21068e9101..f2fe106224 100644
--- a/src/nvim/eval.c
+++ b/src/nvim/eval.c
@@ -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: