diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-26 10:32:19 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2020-11-26 10:32:19 +0900 |
| commit | 66f2e733e52bc03f17f9b5e6913cee2ad116e03b (patch) | |
| tree | 131977e57637e1b54b659fea290599218f44215d | |
| parent | a33f9d7b651aa62ecc22ed4facf01b9aa8ef03b0 (diff) | |
| download | mruby-66f2e733e52bc03f17f9b5e6913cee2ad116e03b.tar.gz mruby-66f2e733e52bc03f17f9b5e6913cee2ad116e03b.zip | |
Symbols should work with `MRB_USE_ALL_SYMBOLS`; fix #5116
| -rw-r--r-- | include/mruby/presym.h | 4 | ||||
| -rw-r--r-- | mrbgems/mruby-symbol-ext/src/symbol.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/include/mruby/presym.h b/include/mruby/presym.h index 61e5bc8cb..fd08a24da 100644 --- a/include/mruby/presym.h +++ b/include/mruby/presym.h @@ -8,7 +8,11 @@ #define MRUBY_PRESYM_H #undef MRB_PRESYM_MAX +#ifdef MRB_USE_ALL_SYMBOLS +#define MRB_PRESYM_NAMED(lit, num, type, name) MRB_##type##__##name = (num), +#else #define MRB_PRESYM_NAMED(lit, num, type, name) MRB_##type##__##name = (num<<1), +#endif #define MRB_PRESYM_UNNAMED(lit, num) enum mruby_presym { diff --git a/mrbgems/mruby-symbol-ext/src/symbol.c b/mrbgems/mruby-symbol-ext/src/symbol.c index b4dbbf128..d0ea52946 100644 --- a/mrbgems/mruby-symbol-ext/src/symbol.c +++ b/mrbgems/mruby-symbol-ext/src/symbol.c @@ -26,8 +26,7 @@ mrb_sym_all_symbols(mrb_state *mrb, mrb_value self) mrb_value ary = mrb_ary_new_capa(mrb, mrb->symidx); for (i=1, lim=mrb->symidx+1; i<lim; i++) { - mrb_sym sym = i<<1; - mrb_ary_push(mrb, ary, mrb_symbol_value(sym)); + mrb_ary_push(mrb, ary, mrb_symbol_value(i+MRB_PRESYM_MAX)); } return ary; |
