patch 8.2.0185: Vim9 script: cannot use "if has()" to skip lines
Problem: Vim9 script: cannot use "if has()" to skip lines.
Solution: Evaluate constant expression at runtime.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 15b7990..a79cc89 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -100,7 +100,6 @@
static void f_getreg(typval_T *argvars, typval_T *rettv);
static void f_getregtype(typval_T *argvars, typval_T *rettv);
static void f_gettagstack(typval_T *argvars, typval_T *rettv);
-static void f_has(typval_T *argvars, typval_T *rettv);
static void f_haslocaldir(typval_T *argvars, typval_T *rettv);
static void f_hasmapto(typval_T *argvars, typval_T *rettv);
static void f_hlID(typval_T *argvars, typval_T *rettv);
@@ -3261,7 +3260,7 @@
/*
* "has()" function
*/
- static void
+ void
f_has(typval_T *argvars, typval_T *rettv)
{
int i;