diff options
Diffstat (limited to 'src/variable.c')
| -rw-r--r-- | src/variable.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/variable.c b/src/variable.c index eebe81575..b3b3b3d87 100644 --- a/src/variable.c +++ b/src/variable.c @@ -580,7 +580,7 @@ iv_i(mrb_state *mrb, mrb_sym sym, mrb_value v, void *p) ary = *(mrb_value*)p; s = mrb_sym2name_len(mrb, sym, &len); - if (len > 1 && s[0] == '@') { + if (len > 1 && s[0] == '@' && s[1] != '@') { mrb_ary_push(mrb, ary, mrb_symbol_value(sym)); } return 0; @@ -927,5 +927,5 @@ mrb_class_sym(mrb_state *mrb, struct RClass *c, struct RClass *outer) return arg.sym; } } - return SYM2ID(name); + return mrb_symbol(name); } |
