diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-26 11:13:06 +0900 |
|---|---|---|
| committer | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-26 11:13:06 +0900 |
| commit | 2ddfd50df37a49d7300e947c39cb053340b14624 (patch) | |
| tree | 7ce9ea7cc2788abd4bf9debb9f347d27232496e4 /include/mruby.h | |
| parent | 17ecf145111f903d62952fb1b557ea60471d7408 (diff) | |
| download | mruby-2ddfd50df37a49d7300e947c39cb053340b14624.tar.gz mruby-2ddfd50df37a49d7300e947c39cb053340b14624.zip | |
Use `MRB_SYM()` for error class retrieval; ref #5277
Note that `MRB_SYM()` is only available when `mruby/presym.h` is
included. Use `mrb_intern_lit()` otherwise.
Diffstat (limited to 'include/mruby.h')
| -rw-r--r-- | include/mruby.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/include/mruby.h b/include/mruby.h index aa6d2ab65..b1cefb27b 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1303,6 +1303,13 @@ MRB_API mrb_value mrb_vformat(mrb_state *mrb, const char *format, va_list ap); + those E_* macros requires mrb_state* variable named mrb. + exception objects obtained from those macros are local to mrb */ +#ifdef MRB_SYM +/* mruby/presym.h is included earlier */ +# define MRB_E_SYM(sym) MRB_SYM(sym) +#else +# define MRB_E_SYM(sym) mrb_intern_lit(mrb, #sym) +#endif + #define E_RUNTIME_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "RuntimeError")) #define E_TYPE_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "TypeError")) #define E_ZERODIV_ERROR mrb_exc_get_id(mrb, mrb_intern_lit(mrb, "ZeroDivisionError")) |
