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_mzsch.c b/src/if_mzsch.c
index bf0157a..e31d0e1 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -3136,7 +3136,7 @@
MZ_GC_UNREG();
}
}
- else if (vim_value->v_type == VAR_SPECIAL)
+ else if (vim_value->v_type == VAR_BOOL || vim_value->v_type == VAR_SPECIAL)
{
if (vim_value->vval.v_number <= VVAL_TRUE)
result = scheme_make_integer((long)vim_value->vval.v_number);
@@ -3218,7 +3218,7 @@
}
else if (SCHEME_BOOLP(obj))
{
- tv->v_type = VAR_SPECIAL;
+ tv->v_type = VAR_BOOL;
tv->vval.v_number = SCHEME_TRUEP(obj);
}
# ifdef FEAT_FLOAT