mirror of
https://github.com/vim/vim.git
synced 2025-09-29 04:34:16 -04:00
patch 8.2.4582: useless code handling a type declaration
Problem: Useless code handling a type declaration. Solution: Remove the code and give an error.
This commit is contained in:
22
src/eval.c
22
src/eval.c
@@ -937,8 +937,6 @@ get_lval(
|
||||
}
|
||||
if (*p == ':')
|
||||
{
|
||||
garray_T tmp_type_list;
|
||||
garray_T *type_list;
|
||||
char_u *tp = skipwhite(p + 1);
|
||||
|
||||
if (tp == p + 1 && !quiet)
|
||||
@@ -947,27 +945,19 @@ get_lval(
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (SCRIPT_ID_VALID(current_sctx.sc_sid))
|
||||
type_list = &SCRIPT_ITEM(current_sctx.sc_sid)->sn_type_list;
|
||||
else
|
||||
if (!SCRIPT_ID_VALID(current_sctx.sc_sid))
|
||||
{
|
||||
// TODO: should we give an error here?
|
||||
type_list = &tmp_type_list;
|
||||
ga_init2(type_list, sizeof(type_T), 10);
|
||||
semsg(_(e_using_type_not_in_script_context_str), p);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
// parse the type after the name
|
||||
lp->ll_type = parse_type(&tp, type_list, !quiet);
|
||||
lp->ll_type = parse_type(&tp,
|
||||
&SCRIPT_ITEM(current_sctx.sc_sid)->sn_type_list,
|
||||
!quiet);
|
||||
if (lp->ll_type == NULL && !quiet)
|
||||
return NULL;
|
||||
lp->ll_name_end = tp;
|
||||
|
||||
// drop the type when not in a script
|
||||
if (type_list == &tmp_type_list)
|
||||
{
|
||||
lp->ll_type = NULL;
|
||||
clear_type_list(type_list);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user