mirror of
https://github.com/vim/vim.git
synced 2025-09-24 03:44:06 -04:00
patch 8.2.1251: Vim9: warning for pointer usage, test failure undetected
Problem: Vim9: warning for pointer usage, test failure undetected. Solution: Fix pointer indirection. Give error when executing function failed for any reason. Fix instruction names.
This commit is contained in:
@@ -22,6 +22,7 @@ int get_callback_depth(void);
|
|||||||
int call_callback(callback_T *callback, int len, typval_T *rettv, int argcount, typval_T *argvars);
|
int call_callback(callback_T *callback, int len, typval_T *rettv, int argcount, typval_T *argvars);
|
||||||
void user_func_error(int error, char_u *name);
|
void user_func_error(int error, char_u *name);
|
||||||
int call_func(char_u *funcname, int len, typval_T *rettv, int argcount_in, typval_T *argvars_in, funcexe_T *funcexe);
|
int call_func(char_u *funcname, int len, typval_T *rettv, int argcount_in, typval_T *argvars_in, funcexe_T *funcexe);
|
||||||
|
char_u *printable_func_name(ufunc_T *fp);
|
||||||
char_u *trans_function_name(char_u **pp, int *is_global, int skip, int flags, funcdict_T *fdp, partial_T **partial);
|
char_u *trans_function_name(char_u **pp, int *is_global, int skip, int flags, funcdict_T *fdp, partial_T **partial);
|
||||||
char_u *untrans_function_name(char_u *name);
|
char_u *untrans_function_name(char_u *name);
|
||||||
ufunc_T *def_function(exarg_T *eap, char_u *name_arg);
|
ufunc_T *def_function(exarg_T *eap, char_u *name_arg);
|
||||||
|
@@ -2122,7 +2122,7 @@ theend:
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static char_u *
|
char_u *
|
||||||
printable_func_name(ufunc_T *fp)
|
printable_func_name(ufunc_T *fp)
|
||||||
{
|
{
|
||||||
return fp->uf_name_exp != NULL ? fp->uf_name_exp : fp->uf_name;
|
return fp->uf_name_exp != NULL ? fp->uf_name_exp : fp->uf_name;
|
||||||
|
@@ -754,6 +754,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 */
|
||||||
|
/**/
|
||||||
|
1251,
|
||||||
/**/
|
/**/
|
||||||
1250,
|
1250,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -714,8 +714,7 @@ call_def_function(
|
|||||||
{
|
{
|
||||||
if (called_emsg == called_emsg_before)
|
if (called_emsg == called_emsg_before)
|
||||||
semsg(_("E1091: Function is not compiled: %s"),
|
semsg(_("E1091: Function is not compiled: %s"),
|
||||||
ufunc->uf_name_exp == NULL
|
printable_func_name(ufunc));
|
||||||
? ufunc->uf_name : ufunc->uf_name_exp);
|
|
||||||
return FAIL;
|
return FAIL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1139,10 +1138,10 @@ call_def_function(
|
|||||||
|
|
||||||
switch (iptr->isn_type)
|
switch (iptr->isn_type)
|
||||||
{
|
{
|
||||||
case ISN_LOADG: d = get_globvar_dict(); break;
|
case ISN_LOADGDICT: d = get_globvar_dict(); break;
|
||||||
case ISN_LOADB: d = &curbuf->b_vars; break;
|
case ISN_LOADBDICT: d = curbuf->b_vars; break;
|
||||||
case ISN_LOADW: d = &curwin->w_vars; break;
|
case ISN_LOADWDICT: d = curwin->w_vars; break;
|
||||||
case ISN_LOADT: d = &curtab->tp_vars; break;
|
case ISN_LOADTDICT: d = curtab->tp_vars; break;
|
||||||
default: // Cannot reach here
|
default: // Cannot reach here
|
||||||
goto failed;
|
goto failed;
|
||||||
}
|
}
|
||||||
@@ -2497,6 +2496,10 @@ failed_early:
|
|||||||
|
|
||||||
vim_free(ectx.ec_stack.ga_data);
|
vim_free(ectx.ec_stack.ga_data);
|
||||||
vim_free(ectx.ec_trystack.ga_data);
|
vim_free(ectx.ec_trystack.ga_data);
|
||||||
|
|
||||||
|
if (ret != OK && called_emsg == called_emsg_before)
|
||||||
|
semsg(_("E1099: Unknown error while executing %s"),
|
||||||
|
printable_func_name(ufunc));
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user