patch 8.2.3299: Vim9: exists() does not handle much at compile time
Problem: Vim9: exists() does not handle much at compile time.
Solution: Handle variable names. (closes #8688)
diff --git a/src/vim9compile.c b/src/vim9compile.c
index d96724b..23f0a74 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -3417,8 +3417,8 @@
s = skipwhite(s);
if (*s == ')' && argvars[0].v_type == VAR_STRING
&& ((is_has && !dynamic_feature(argvars[0].vval.v_string))
- || (!is_has && (*argvars[0].vval.v_string == '+'
- || *argvars[0].vval.v_string == '&'))))
+ || (!is_has && vim_strchr((char_u *)"+&:*",
+ *argvars[0].vval.v_string))))
{
typval_T *tv = &ppconst->pp_tv[ppconst->pp_used];