diff --git a/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c b/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c index ad33e465a..8b3f30ff3 100644 --- a/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c +++ b/mrbgems/mruby-bin-debugger/tools/mrdb/apiprint.c @@ -68,7 +68,7 @@ mrb_debug_eval(mrb_state *mrb, mrb_debug_context *dbg, const char *expr, size_t recv = dbg->regs[0]; - v = mrb_funcall_id(mrb, recv, MRB_SYM(instance_eval), 1, ruby_code); + v = mrb_funcall_argv(mrb, recv, MRB_SYM(instance_eval), 1, &ruby_code); } if (exc) { diff --git a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c index 7ef7af1d6..d4cea8d5b 100644 --- a/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +++ b/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c @@ -117,7 +117,7 @@ p(mrb_state *mrb, mrb_value obj, int prompt) mrb_value val; char* msg; - val = mrb_funcall_id(mrb, obj, MRB_SYM(inspect), 0); + val = mrb_funcall_argv(mrb, obj, MRB_SYM(inspect), 0, NULL); if (prompt) { if (!mrb->exc) { fputs(" => ", stdout); diff --git a/mrbgems/mruby-metaprog/src/metaprog.c b/mrbgems/mruby-metaprog/src/metaprog.c index 6eeaf5391..4337db48b 100644 --- a/mrbgems/mruby-metaprog/src/metaprog.c +++ b/mrbgems/mruby-metaprog/src/metaprog.c @@ -627,7 +627,7 @@ mrb_mod_remove_method(mrb_state *mrb, mrb_value mod) mrb_check_frozen(mrb, c); while (argc--) { mrb_remove_method(mrb, c, mrb_obj_to_sym(mrb, *argv)); - mrb_funcall_id(mrb, mod, MRB_SYM(method_removed), 1, *argv); + mrb_funcall_argv(mrb, mod, MRB_SYM(method_removed), 1, argv); argv++; } return mod; diff --git a/mrbgems/mruby-rational/src/rational.c b/mrbgems/mruby-rational/src/rational.c index 5591556c0..2fadf5d60 100644 --- a/mrbgems/mruby-rational/src/rational.c +++ b/mrbgems/mruby-rational/src/rational.c @@ -485,7 +485,7 @@ rational_cmp(mrb_state *mrb, mrb_value x) } #endif default: - x = mrb_funcall_id(mrb, y, MRB_OPSYM(cmp), 1, x); + x = mrb_funcall_argv(mrb, y, MRB_OPSYM(cmp), 1, &x); if (mrb_integer_p(x)) { mrb_int z = mrb_integer(x); return mrb_fixnum_value(-z); @@ -542,7 +542,7 @@ mrb_rational_add(mrb_state *mrb, mrb_value x, mrb_value y) #endif default: - return mrb_funcall_id(mrb, y, MRB_OPSYM(add), 1, x); + return mrb_funcall_argv(mrb, y, MRB_OPSYM(add), 1, &x); } } @@ -640,7 +640,7 @@ mrb_rational_mul(mrb_state *mrb, mrb_value x, mrb_value y) #endif default: - return mrb_funcall_id(mrb, y, MRB_OPSYM(mul), 1, x); + return mrb_funcall_argv(mrb, y, MRB_OPSYM(mul), 1, &x); } } diff --git a/mrbgems/mruby-socket/src/socket.c b/mrbgems/mruby-socket/src/socket.c index 456df94df..6bf9bcc0a 100644 --- a/mrbgems/mruby-socket/src/socket.c +++ b/mrbgems/mruby-socket/src/socket.c @@ -475,9 +475,9 @@ mrb_basicsocket_setsockopt(mrb_state *mrb, mrb_value self) else if (argc == 1) { if (strcmp(mrb_obj_classname(mrb, so), "Socket::Option") != 0) mrb_raise(mrb, E_ARGUMENT_ERROR, "not an instance of Socket::Option"); - level = mrb_as_int(mrb, mrb_funcall_id(mrb, so, MRB_SYM(level), 0)); - optname = mrb_as_int(mrb, mrb_funcall_id(mrb, so, MRB_SYM(optname), 0)); - optval = mrb_funcall_id(mrb, so, MRB_SYM(data), 0); + level = mrb_as_int(mrb, mrb_funcall_argv(mrb, so, MRB_SYM(level), 0, NULL)); + optname = mrb_as_int(mrb, mrb_funcall_argv(mrb, so, MRB_SYM(optname), 0, NULL)); + optval = mrb_funcall_argv(mrb, so, MRB_SYM(data), 0, NULL); mrb_ensure_string_type(mrb, optval); } else { diff --git a/mrbgems/mruby-sprintf/src/sprintf.c b/mrbgems/mruby-sprintf/src/sprintf.c index ad95295ed..9f7fb59d1 100644 --- a/mrbgems/mruby-sprintf/src/sprintf.c +++ b/mrbgems/mruby-sprintf/src/sprintf.c @@ -763,7 +763,7 @@ retry: tmp = mrb_str_new(mrb, buf, 1); } else { - tmp = mrb_funcall_id(mrb, val, MRB_SYM(chr), 0); + tmp = mrb_funcall_argv(mrb, val, MRB_SYM(chr), 0, NULL); mrb_check_type(mrb, tmp, MRB_TT_STRING); } #endif diff --git a/src/array.c b/src/array.c index c9f6c6a97..9ea0b088a 100644 --- a/src/array.c +++ b/src/array.c @@ -1176,7 +1176,7 @@ mrb_ary_splat(mrb_state *mrb, mrb_value v) return mrb_ary_new_from_values(mrb, 1, &v); } - ary = mrb_funcall_id(mrb, v, MRB_SYM(to_a), 0); + ary = mrb_funcall_argv(mrb, v, MRB_SYM(to_a), 0, NULL); if (mrb_nil_p(ary)) { return mrb_ary_new_from_values(mrb, 1, &v); } diff --git a/src/class.c b/src/class.c index a7030aae4..05d21f672 100644 --- a/src/class.c +++ b/src/class.c @@ -2554,7 +2554,8 @@ mrb_method_added(mrb_state *mrb, struct RClass *c, mrb_sym mid) added = MRB_SYM(method_added); } if (!mrb_func_basic_p(mrb, recv, added, mrb_do_nothing)) { - mrb_funcall_id(mrb, recv, added, 1, mrb_symbol_value(mid)); + mrb_value sym = mrb_symbol_value(mid); + mrb_funcall_argv(mrb, recv, added, 1, &sym); } } @@ -2784,7 +2785,7 @@ init_copy(mrb_state *mrb, mrb_value dest, mrb_value obj) break; } if (!mrb_func_basic_p(mrb, dest, MRB_SYM(initialize_copy), mrb_obj_init_copy)) { - mrb_funcall_id(mrb, dest, MRB_SYM(initialize_copy), 1, obj); + mrb_funcall_argv(mrb, dest, MRB_SYM(initialize_copy), 1, &obj); } } diff --git a/src/kernel.c b/src/kernel.c index 300aab7be..0781e1076 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -507,7 +507,7 @@ mrb_obj_ceqq(mrb_state *mrb, mrb_value self) return mrb_false_value(); } else { - ary = mrb_funcall_id(mrb, self, MRB_SYM(to_a), 0); + ary = mrb_funcall_argv(mrb, self, MRB_SYM(to_a), 0, NULL); if (mrb_nil_p(ary)) { return mrb_funcall_argv(mrb, self, eqq, 1, &v); } diff --git a/src/numeric.c b/src/numeric.c index 37cac0ef8..167f462ec 100644 --- a/src/numeric.c +++ b/src/numeric.c @@ -2174,7 +2174,7 @@ mrb_cmp(mrb_state *mrb, mrb_value obj1, mrb_value obj2) return mrb_str_cmp(mrb, obj1, obj2); default: if (!mrb_respond_to(mrb, obj1, MRB_OPSYM(cmp))) return -2; - v = mrb_funcall_id(mrb, obj1, MRB_OPSYM(cmp), 1, obj2); + v = mrb_funcall_argv(mrb, obj1, MRB_OPSYM(cmp), 1, &obj2); if (mrb_nil_p(v) || !mrb_integer_p(v)) return -2; return mrb_integer(v); diff --git a/src/object.c b/src/object.c index cc7ec644a..0ca2e7b4d 100644 --- a/src/object.c +++ b/src/object.c @@ -77,7 +77,7 @@ mrb_equal(mrb_state *mrb, mrb_value obj1, mrb_value obj2) return FALSE; } #endif - result = mrb_funcall_id(mrb, obj1, MRB_OPSYM(eq), 1, obj2); + result = mrb_funcall_argv(mrb, obj1, MRB_OPSYM(eq), 1, &obj2); if (mrb_test(result)) return TRUE; return FALSE; } @@ -638,7 +638,7 @@ mrb_check_hash_type(mrb_state *mrb, mrb_value hash) MRB_API mrb_value mrb_inspect(mrb_state *mrb, mrb_value obj) { - mrb_value v = mrb_funcall_id(mrb, obj, MRB_SYM(inspect), 0); + mrb_value v = mrb_funcall_argv(mrb, obj, MRB_SYM(inspect), 0, NULL); if (!mrb_string_p(v)) { v = mrb_obj_as_string(mrb, obj); } @@ -649,5 +649,5 @@ MRB_API mrb_bool mrb_eql(mrb_state *mrb, mrb_value obj1, mrb_value obj2) { if (mrb_obj_eq(mrb, obj1, obj2)) return TRUE; - return mrb_test(mrb_funcall_id(mrb, obj1, MRB_SYM_Q(eql), 1, obj2)); + return mrb_test(mrb_funcall_argv(mrb, obj1, MRB_SYM_Q(eql), 1, &obj2)); } diff --git a/src/variable.c b/src/variable.c index be992887a..11d371e8b 100644 --- a/src/variable.c +++ b/src/variable.c @@ -769,7 +769,6 @@ const_get(mrb_state *mrb, struct RClass *base, mrb_sym sym, mrb_bool skip) struct RClass *c = base; mrb_value v; mrb_bool retry = FALSE; - mrb_value name; /* if skip then skip the current class (already searched) */ if (skip) c = c->super; @@ -786,7 +785,7 @@ L_RETRY: retry = TRUE; goto L_RETRY; } - name = mrb_symbol_value(sym); + mrb_value name = mrb_symbol_value(sym); return mrb_funcall_argv(mrb, mrb_obj_value(base), MRB_SYM(const_missing), 1, &name); }