comparison src/evalfunc.c @ 26348:bf1a7ce3f14a v8.2.3705

patch 8.2.3705: cannot pass a lambda name to function() or funcref() Commit: https://github.com/vim/vim/commit/eba3b7f6645c8f856132b4c06a009a3b0a44e21c Author: Bram Moolenaar <Bram@vim.org> Date: Tue Nov 30 18:25:08 2021 +0000 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.
author Bram Moolenaar <Bram@vim.org>
date Tue, 30 Nov 2021 19:30:05 +0100
parents a2e6da79274d
children 255bc9a08e58
comparison
equal deleted inserted replaced
26347:cd04fa8a6d91 26348:bf1a7ce3f14a
3953 } 3953 }
3954 3954
3955 if ((use_string && vim_strchr(s, AUTOLOAD_CHAR) == NULL) || is_funcref) 3955 if ((use_string && vim_strchr(s, AUTOLOAD_CHAR) == NULL) || is_funcref)
3956 { 3956 {
3957 name = s; 3957 name = s;
3958 trans_name = trans_function_name(&name, &is_global, FALSE, 3958 trans_name = save_function_name(&name, &is_global, FALSE,
3959 TFN_INT | TFN_QUIET | TFN_NO_AUTOLOAD | TFN_NO_DEREF, 3959 TFN_INT | TFN_QUIET | TFN_NO_AUTOLOAD | TFN_NO_DEREF, NULL);
3960 NULL, NULL, NULL);
3961 if (*name != NUL) 3960 if (*name != NUL)
3962 s = NULL; 3961 s = NULL;
3963 } 3962 }
3964 3963
3965 if (s == NULL || *s == NUL || (use_string && VIM_ISDIGIT(*s)) 3964 if (s == NULL || *s == NUL || (use_string && VIM_ISDIGIT(*s))