Mercurial > vim
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)) |