changeset 30035:bbcdc76dcd71 v9.0.0355

patch 9.0.0355: check for uppercase char in autoload name is wrong Commit: https://github.com/vim/vim/commit/6c667bdc9489963102bd6c46b1b73e4d43c034ce Author: thinca <thinca@gmail.com> Date: Fri Sep 2 11:25:37 2022 +0100 patch 9.0.0355: check for uppercase char in autoload name is wrong Problem: Check for uppercase char in autoload name is wrong, it checks the name of the script. Solution: Remove the check. (closes #11031)
author Bram Moolenaar <Bram@vim.org>
date Fri, 02 Sep 2022 12:30:06 +0200
parents 629977ec7f62
children 562a3136dda3
files src/evalvars.c src/testdir/test_let.vim src/version.c
diffstat 3 files changed, 9 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -4012,10 +4012,12 @@ var_wrong_func_name(
 {
     // 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;
--- a/src/testdir/test_let.vim
+++ b/src/testdir/test_let.vim
@@ -8,6 +8,10 @@ func Test_let()
   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
 
--- a/src/version.c
+++ b/src/version.c
@@ -708,6 +708,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    355,
+/**/
     354,
 /**/
     353,