mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
patch 8.2.3317: Vim9: No error for missing white space before return type
Problem: Vim9: No error for missing white space before return type. Solution: Check for white space. (closes #8733)
This commit is contained in:
@@ -1429,6 +1429,27 @@ def Test_return_type_wrong()
|
|||||||
'defcompile'], 'E1003:')
|
'defcompile'], 'E1003:')
|
||||||
delfunc! g:Func
|
delfunc! g:Func
|
||||||
|
|
||||||
|
CheckScriptFailure([
|
||||||
|
'def Func():number',
|
||||||
|
'return 123',
|
||||||
|
'enddef',
|
||||||
|
'defcompile'], 'E1069:')
|
||||||
|
delfunc! g:Func
|
||||||
|
|
||||||
|
CheckScriptFailure([
|
||||||
|
'def Func() :number',
|
||||||
|
'return 123',
|
||||||
|
'enddef',
|
||||||
|
'defcompile'], 'E1059:')
|
||||||
|
delfunc! g:Func
|
||||||
|
|
||||||
|
CheckScriptFailure([
|
||||||
|
'def Func() : number',
|
||||||
|
'return 123',
|
||||||
|
'enddef',
|
||||||
|
'defcompile'], 'E1059:')
|
||||||
|
delfunc! g:Func
|
||||||
|
|
||||||
CheckScriptFailure(['def Func(): list', 'return []', 'enddef'], 'E1008:')
|
CheckScriptFailure(['def Func(): list', 'return []', 'enddef'], 'E1008:')
|
||||||
delfunc! g:Func
|
delfunc! g:Func
|
||||||
CheckScriptFailure(['def Func(): dict', 'return {}', 'enddef'], 'E1008:')
|
CheckScriptFailure(['def Func(): dict', 'return {}', 'enddef'], 'E1008:')
|
||||||
|
@@ -4066,8 +4066,15 @@ define_function(exarg_T *eap, char_u *name_arg)
|
|||||||
if (eap->cmdidx == CMD_def)
|
if (eap->cmdidx == CMD_def)
|
||||||
{
|
{
|
||||||
// find the return type: :def Func(): type
|
// find the return type: :def Func(): type
|
||||||
if (*p == ':')
|
if (*skipwhite(p) == ':')
|
||||||
{
|
{
|
||||||
|
if (*p != ':')
|
||||||
|
{
|
||||||
|
semsg(_(e_no_white_space_allowed_before_colon_str), p);
|
||||||
|
p = skipwhite(p);
|
||||||
|
}
|
||||||
|
else if (!IS_WHITE_OR_NUL(p[1]))
|
||||||
|
semsg(_(e_white_space_required_after_str_str), ":", p);
|
||||||
ret_type = skipwhite(p + 1);
|
ret_type = skipwhite(p + 1);
|
||||||
p = skip_type(ret_type, FALSE);
|
p = skip_type(ret_type, FALSE);
|
||||||
if (p > ret_type)
|
if (p > ret_type)
|
||||||
|
@@ -755,6 +755,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 */
|
||||||
|
/**/
|
||||||
|
3317,
|
||||||
/**/
|
/**/
|
||||||
3316,
|
3316,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user