Problem: Check for uppercase char in autoload name is wrong, it checks the
name of the script.
Solution: Remove the check. (closes #11031)
{
// Allow for w: b: s: and t:. In Vim9 script s: is not allowed, because
// the name can be used without the s: prefix.
+ // Allow autoload variable.
if (!((vim_strchr((char_u *)"wbt", name[0]) != NULL
|| (!in_vim9script() && name[0] == 's')) && name[1] == ':')
&& !ASCII_ISUPPER((name[0] != NUL && name[1] == ':')
- ? name[2] : name[0]))
+ ? name[2] : name[0])
+ && vim_strchr(name, '#') == NULL)
{
semsg(_(e_funcref_variable_name_must_start_with_capital_str), name);
return TRUE;
let Test104#numvar = function('tr')
call assert_equal("function('tr')", string(Test104#numvar))
+ let foo#tr = function('tr')
+ call assert_equal("function('tr')", string(foo#tr))
+ unlet foo#tr
+
let a = 1
let b = 2
static int included_patches[] =
{ /* Add new patch number below this line */
+/**/
+ 355,
/**/
354,
/**/