mirror of
https://github.com/vim/vim.git
synced 2025-09-26 04:04:07 -04:00
patch 8.2.4146: Vim9: shadowed function can be used in compiled function
Problem: Vim9: shadowed function can be used in compiled function but not at script level. Solution: Also give an error in a compiled function. (closes #9563)
This commit is contained in:
@@ -750,6 +750,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
4146,
|
||||||
/**/
|
/**/
|
||||||
4145,
|
4145,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -668,6 +668,21 @@ compile_call(
|
|||||||
int res = FAIL;
|
int res = FAIL;
|
||||||
int is_autoload;
|
int is_autoload;
|
||||||
int is_searchpair;
|
int is_searchpair;
|
||||||
|
imported_T *import;
|
||||||
|
|
||||||
|
if (varlen >= sizeof(namebuf))
|
||||||
|
{
|
||||||
|
semsg(_(e_name_too_long_str), name);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
vim_strncpy(namebuf, *arg, varlen);
|
||||||
|
|
||||||
|
import = find_imported(name, varlen, FALSE, cctx);
|
||||||
|
if (import != NULL)
|
||||||
|
{
|
||||||
|
semsg(_(e_cannot_use_str_itself_it_is_imported), namebuf);
|
||||||
|
return FAIL;
|
||||||
|
}
|
||||||
|
|
||||||
// We can evaluate "has('name')" at compile time.
|
// We can evaluate "has('name')" at compile time.
|
||||||
// We always evaluate "exists_compiled()" at compile time.
|
// We always evaluate "exists_compiled()" at compile time.
|
||||||
@@ -713,12 +728,6 @@ compile_call(
|
|||||||
if (generate_ppconst(cctx, ppconst) == FAIL)
|
if (generate_ppconst(cctx, ppconst) == FAIL)
|
||||||
return FAIL;
|
return FAIL;
|
||||||
|
|
||||||
if (varlen >= sizeof(namebuf))
|
|
||||||
{
|
|
||||||
semsg(_(e_name_too_long_str), name);
|
|
||||||
return FAIL;
|
|
||||||
}
|
|
||||||
vim_strncpy(namebuf, *arg, varlen);
|
|
||||||
name = fname_trans_sid(namebuf, fname_buf, &tofree, &error);
|
name = fname_trans_sid(namebuf, fname_buf, &tofree, &error);
|
||||||
|
|
||||||
// We handle the "skip" argument of searchpair() and searchpairpos()
|
// We handle the "skip" argument of searchpair() and searchpairpos()
|
||||||
|
Reference in New Issue
Block a user