From 3215466af9abfc9fbbfba81d166d625176993486 Mon Sep 17 00:00:00 2001 From: Bram Moolenaar Date: Sun, 28 Mar 2021 21:14:06 +0200 Subject: patch 8.2.2673: Vim9: script-local funcref can have lower case name Problem: Vim9: script-local funcref can have lower case name. Solution: Require an upper case name. --- src/evalvars.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/evalvars.c') diff --git a/src/evalvars.c b/src/evalvars.c index cd50ba7fd..e9e893a3f 100644 --- a/src/evalvars.c +++ b/src/evalvars.c @@ -3453,8 +3453,10 @@ var_wrong_func_name( char_u *name, // points to start of variable name int new_var) // TRUE when creating the variable { - // Allow for w: b: s: and t:. - if (!(vim_strchr((char_u *)"wbst", name[0]) != NULL && name[1] == ':') + // Allow for w: b: s: and t:. In Vim9 script s: is not allowed, because + // the name can be used without the s: prefix. + 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])) { -- cgit v1.2.1