forked from aniani/vim
patch 9.1.0400: Vim9: confusing error message for unknown type
Problem: Vim9: confusing error message for unknown type (Doug Kearns) Solution: For an unknown type, display only the type name in the error message (Yegappan Lakshmanan) fixes: #13153 closes: #14736 Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
committed by
Christian Brabandt
parent
d5c8c0920e
commit
1b53172901
@@ -5002,7 +5002,7 @@ def Test_invalid_type_in_for()
|
|||||||
enddef
|
enddef
|
||||||
defcompile
|
defcompile
|
||||||
END
|
END
|
||||||
v9.CheckSourceFailure(lines, 'E1010: Type not recognized: x in range(10)', 1)
|
v9.CheckSourceFailure(lines, 'E1010: Type not recognized: x', 1)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
" Test for using a line break between the variable name and the type in a for
|
" Test for using a line break between the variable name and the type in a for
|
||||||
@@ -5083,6 +5083,21 @@ def Test_null_values()
|
|||||||
v9.CheckSourceDefAndScriptSuccess(lines)
|
v9.CheckSourceDefAndScriptSuccess(lines)
|
||||||
enddef
|
enddef
|
||||||
|
|
||||||
|
" Test for using an unknown type in a typecast
|
||||||
|
def Test_unknown_type_in_typecast()
|
||||||
|
var lines =<< trim END
|
||||||
|
vim9script
|
||||||
|
var a = <MyType>b
|
||||||
|
END
|
||||||
|
v9.CheckSourceFailure(lines, 'E1010: Type not recognized: MyType', 2)
|
||||||
|
|
||||||
|
lines =<< trim END
|
||||||
|
vim9script
|
||||||
|
var Fn = <funcx(number, number): number>b
|
||||||
|
END
|
||||||
|
v9.CheckSourceFailure(lines, 'E1010: Type not recognized: funcx(number, number): number', 2)
|
||||||
|
enddef
|
||||||
|
|
||||||
" Keep this last, it messes up highlighting.
|
" Keep this last, it messes up highlighting.
|
||||||
def Test_substitute_cmd()
|
def Test_substitute_cmd()
|
||||||
new
|
new
|
||||||
|
@@ -363,7 +363,7 @@ def Test_typealias_import()
|
|||||||
|
|
||||||
var myNum: A.SomeType = 10
|
var myNum: A.SomeType = 10
|
||||||
END
|
END
|
||||||
v9.CheckScriptFailure(lines, 'E1010: Type not recognized: A.SomeType = 10', 4)
|
v9.CheckScriptFailure(lines, 'E1010: Type not recognized: A.SomeType', 4)
|
||||||
|
|
||||||
# Use a type alias that is not exported
|
# Use a type alias that is not exported
|
||||||
lines =<< trim END
|
lines =<< trim END
|
||||||
|
@@ -704,6 +704,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 */
|
||||||
|
/**/
|
||||||
|
400,
|
||||||
/**/
|
/**/
|
||||||
399,
|
399,
|
||||||
/**/
|
/**/
|
||||||
|
@@ -1466,7 +1466,14 @@ parse_type_user_defined(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (give_error && (did_emsg == did_emsg_before))
|
if (give_error && (did_emsg == did_emsg_before))
|
||||||
|
{
|
||||||
|
char_u *p = skip_type(*arg, FALSE);
|
||||||
|
char cc = *p;
|
||||||
|
|
||||||
|
*p = NUL;
|
||||||
semsg(_(e_type_not_recognized_str), *arg);
|
semsg(_(e_type_not_recognized_str), *arg);
|
||||||
|
*p = cc;
|
||||||
|
}
|
||||||
|
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user