patch 8.2.2254: Vim9: bool option type is number
Problem: Vim9: bool option type is number.
Solution: Have get_option_value() return a different value for bool and
number options. (closes #7583)
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 3751025..9e58902 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -865,13 +865,11 @@
vim_str2rb_enc_str(const char *s)
{
#if RUBY_VERSION >= 19
- int isnum;
long lval;
char_u *sval;
rb_encoding *enc;
- isnum = get_option_value((char_u *)"enc", &lval, &sval, 0);
- if (isnum == 0)
+ if (get_option_value((char_u *)"enc", &lval, &sval, 0) == gov_string)
{
enc = rb_enc_find((char *)sval);
vim_free(sval);
@@ -886,14 +884,12 @@
eval_enc_string_protect(const char *str, int *state)
{
#if RUBY_VERSION >= 19
- int isnum;
long lval;
char_u *sval;
rb_encoding *enc;
VALUE v;
- isnum = get_option_value((char_u *)"enc", &lval, &sval, 0);
- if (isnum == 0)
+ if (get_option_value((char_u *)"enc", &lval, &sval, 0) == gov_string)
{
enc = rb_enc_find((char *)sval);
vim_free(sval);