diff src/vim9script.c @ 20846:709379ab5110 v8.2.0975

patch 8.2.0975: Vim9: script variable does not accept optional s: prefix Commit: https://github.com/vim/vim/commit/984dddbef421eda6b8ad60936f380c5f00aebb96 Author: Bram Moolenaar <Bram@vim.org> Date: Sun Jun 14 12:50:24 2020 +0200 patch 8.2.0975: Vim9: script variable does not accept optional s: prefix Problem: Vim9: script variable does not accept optional s: prefix. Solution: Adjust the accepted syntax.
author Bram Moolenaar <Bram@vim.org>
date Sun, 14 Jun 2020 13:00:04 +0200
parents 1360541e8c74
children 58137dbee8da
line wrap: on
line diff
--- a/src/vim9script.c
+++ b/src/vim9script.c
@@ -462,15 +462,20 @@ vim9_declare_scriptvar(exarg_T *eap, cha
 	return arg + STRLEN(arg);
     }
 
-    for (p = arg + 1; *p != NUL && *p != ':' && eval_isnamec(*p);
-								 MB_PTR_ADV(p))
-	;
+    for (p = arg + 1; *p != NUL && eval_isnamec(*p); MB_PTR_ADV(p))
+	if (*p == ':' && p != arg + 1)
+	    break;
 
     if (*p != ':')
     {
 	emsg(_(e_type_req));
 	return arg + STRLEN(arg);
     }
+    if (!VIM_ISWHITE(p[1]))
+    {
+	semsg(_(e_white_after), ":");
+	return arg + STRLEN(arg);
+    }
     name = vim_strnsave(arg, p - arg);
 
     // parse type