1
0
forked from aniani/vim

patch 8.2.3705: cannot pass a lambda name to function() or funcref()

Problem:    Cannot pass a lambda name to function() or funcref(). (Yegappan
            Lakshmanan)
Solution:   Handle a lambda name differently.
This commit is contained in:
Bram Moolenaar
2021-11-30 18:25:08 +00:00
parent ab36e6ae7b
commit eba3b7f664
5 changed files with 44 additions and 13 deletions

View File

@@ -3955,9 +3955,8 @@ common_function(typval_T *argvars, typval_T *rettv, int is_funcref)
if ((use_string && vim_strchr(s, AUTOLOAD_CHAR) == NULL) || is_funcref)
{
name = s;
trans_name = trans_function_name(&name, &is_global, FALSE,
TFN_INT | TFN_QUIET | TFN_NO_AUTOLOAD | TFN_NO_DEREF,
NULL, NULL, NULL);
trans_name = save_function_name(&name, &is_global, FALSE,
TFN_INT | TFN_QUIET | TFN_NO_AUTOLOAD | TFN_NO_DEREF, NULL);
if (*name != NUL)
s = NULL;
}