From 89f591485b91780c213f459f840111a99adca9d0 Mon Sep 17 00:00:00 2001 From: KOBAYASHI Shuji Date: Wed, 11 Nov 2020 23:59:45 +0900 Subject: Change name and usage of presym macros To be also able to build mruby without presym in the future. However, `MRB_QSYM` has been removed and changed as follows: ### Example | Type | Symbol | Previous Style | New Style | |---------------------------|--------|------------------|----------------| | Operator | & | MRB_QSYM(and) | MRB_OPSYM(and) | | Class Variable | @@foo | MRB_QSYM(00_foo) | MRB_CVSYM(foo) | | Instance Variable | @foo | MRB_QSYM(0_foo) | MRB_IVSYM(foo) | | Method with Bang | foo! | MRB_QSYM(foo_b) | MRB_SYM_B(foo) | | Method with Question mark | foo? | MRB_QSYM(foo_p) | MRB_SYM_Q(foo) | | Mmethod with Equal | foo= | MRB_QSYM(foo_e) | MRB_SYM_E(foo) | This change makes it possible to define, for example, `MRB_IVSYM(foo)` as `mrb_intern_lit(mrb, "@" "foo")`, which is useful if we support building without presym in the future. --- include/mruby.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'include/mruby.h') diff --git a/include/mruby.h b/include/mruby.h index 6d03ba79c..0fad0d440 100644 --- a/include/mruby.h +++ b/include/mruby.h @@ -1080,7 +1080,8 @@ MRB_API mrb_value mrb_funcall_argv(mrb_state *mrb, mrb_value val, mrb_sym name, */ MRB_API mrb_value mrb_funcall_with_block(mrb_state *mrb, mrb_value val, mrb_sym name, mrb_int argc, const mrb_value *argv, mrb_value block); /** - * Create a symbol from C string. But usually it's better to use MRB_SYM(sym) and MRB_QSYM(qsym). + * Create a symbol from C string. But usually it's better to use MRB_SYM, + * MRB_OPSYM, MRB_CVSYM, MRB_IVSYM, MRB_SYM_B, MRB_SYM_Q, MRB_SYM_E macros. * * Example: * @@ -1090,7 +1091,7 @@ MRB_API mrb_value mrb_funcall_with_block(mrb_state *mrb, mrb_value val, mrb_sym * // C style: * mrb_sym sym1 = mrb_intern_lit(mrb, "pizza"); // => :pizza * mrb_sym sym2 = MRB_SYM(pizza); // => :pizza - * mrb_sym sym3 = MRB_SYM(pizza_p); // => :pizza? + * mrb_sym sym3 = MRB_SYM_Q(pizza); // => :pizza? * * @param mrb The current mruby state. * @param str The string to be symbolized -- cgit v1.2.3