diff options
author | Yegappan Lakshmanan <yegappan@yahoo.com> | 2021-12-24 20:47:38 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2021-12-24 20:47:38 +0000 |
commit | e7f4abd38b6e05100c699900c8f87281e363beb2 (patch) | |
tree | badec536bcfe024c7214b18fcce1fa58e5315f80 /src/evalvars.c | |
parent | 73a024209cbfbd5b39a2e974084d807c6131e2ed (diff) |
patch 8.2.3889: duplicate code for translating script-local function namev8.2.3889
Problem: Duplicate code for translating script-local function name.
Solution: Move the code to get_scriptlocal_funcname(). (Yegappan Lakshmanan,
closes #9393)
Diffstat (limited to 'src/evalvars.c')
-rw-r--r-- | src/evalvars.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/evalvars.c b/src/evalvars.c index d002e57b45..34cc014ad6 100644 --- a/src/evalvars.c +++ b/src/evalvars.c @@ -4450,7 +4450,18 @@ get_callback(typval_T *arg) r = FAIL; else if (arg->v_type == VAR_FUNC || arg->v_type == VAR_STRING) { - // Note that we don't make a copy of the string. + if (arg->v_type == VAR_STRING) + { + char_u *name; + + name = get_scriptlocal_funcname(arg->vval.v_string); + if (name != NULL) + { + vim_free(arg->vval.v_string); + arg->vval.v_string = name; + } + } + res.cb_name = arg->vval.v_string; func_ref(res.cb_name); } |