Merge pull request #5980 from dearblue/binding-noise

Remove noise in new `mruby-binding`
This commit is contained in:
Yukihiro "Matz" Matsumoto
2023-04-14 01:05:05 +09:00
committed by GitHub
-20
View File
@@ -391,25 +391,6 @@ mrb_f_binding(mrb_state *mrb, mrb_value self)
return mrb_binding_new(mrb, proc, self, env);
}
/* provided by mruby-eval */
mrb_value mrb_f_eval(mrb_state *mrb, mrb_value self);
static mrb_value
mrb_binding_eval(mrb_state *mrb, mrb_value binding)
{
mrb_callinfo *ci = mrb->c->ci;
int argc = ci->n;
mrb_value *argv = ci->stack + 1;
if (argc < 15) {
argv[0] = mrb_ary_new_from_values(mrb, argc, argv);
argv[1] = argv[argc]; /* copy block */
ci->n = 15;
}
mrb_ary_splice(mrb, argv[0], 1, 0, binding); /* insert binding as 2nd argument */
return mrb_f_eval(mrb, binding);
}
void
mrb_mruby_binding_gem_init(mrb_state *mrb)
{
@@ -428,7 +409,6 @@ mrb_mruby_binding_gem_init(mrb_state *mrb)
mrb_define_method(mrb, binding, "receiver", binding_receiver, MRB_ARGS_NONE());
mrb_define_method(mrb, binding, "source_location", binding_source_location, MRB_ARGS_NONE());
mrb_define_method(mrb, binding, "inspect", mrb_any_to_s, MRB_ARGS_NONE());
mrb_define_method(mrb, binding, "eval", mrb_binding_eval, MRB_ARGS_ANY());
}
void