patch 8.2.1968: Vim9: has() assumes a feature does not change dynamically
Problem: Vim9: has() assumes a feature does not change dynamically.
Solution: Check whether a feature may change dynamically. (closes #7265)
diff --git a/src/vim9compile.c b/src/vim9compile.c
index 5ade42a..bda1ab3 100644
--- a/src/vim9compile.c
+++ b/src/vim9compile.c
@@ -2620,7 +2620,8 @@
else if (*s == '\'')
(void)eval_lit_string(&s, &argvars[0], TRUE);
s = skipwhite(s);
- if (*s == ')' && argvars[0].v_type == VAR_STRING)
+ if (*s == ')' && argvars[0].v_type == VAR_STRING
+ && !dynamic_feature(argvars[0].vval.v_string))
{
typval_T *tv = &ppconst->pp_tv[ppconst->pp_used];