patch 8.2.0111: VAR_SPECIAL is also used for booleans
Problem: VAR_SPECIAL is also used for booleans.
Solution: Add VAR_BOOL for better type checking.
diff --git a/src/if_lua.c b/src/if_lua.c
index 9b03c97..b80b6c9 100644
--- a/src/if_lua.c
+++ b/src/if_lua.c
@@ -535,6 +535,7 @@
case VAR_DICT:
luaV_pushdict(L, tv->vval.v_dict);
break;
+ case VAR_BOOL:
case VAR_SPECIAL:
if (tv->vval.v_number <= VVAL_TRUE)
lua_pushinteger(L, (int) tv->vval.v_number);
@@ -564,7 +565,7 @@
switch (lua_type(L, pos))
{
case LUA_TBOOLEAN:
- tv->v_type = VAR_SPECIAL;
+ tv->v_type = VAR_BOOL;
tv->vval.v_number = (varnumber_T) lua_toboolean(L, pos);
break;
case LUA_TNIL: