diff --git a/mrblib/00class.rb b/mrblib/00class.rb index 39e0d5091..f3762e8d0 100644 --- a/mrblib/00class.rb +++ b/mrblib/00class.rb @@ -8,4 +8,19 @@ class Module def attr(name) attr_reader(name) end + + # 15.2.2.4.27 + def include(*args) + args.reverse.each do |m| + m.append_features(self) + m.included(self) + end + end + + def prepend(*args) + args.reverse.each do |m| + m.prepend_features(self) + m.prepended(self) + end + end end diff --git a/src/class.c b/src/class.c index 0f72c7753..47a6c846b 100644 --- a/src/class.c +++ b/src/class.c @@ -947,24 +947,6 @@ mrb_mod_prepend_features(mrb_state *mrb, mrb_value mod) return mod; } -static mrb_value -mrb_mod_prepend(mrb_state *mrb, mrb_value klass) -{ - mrb_value *argv; - mrb_int argc, i; - - mrb_get_args(mrb, "*", &argv, &argc); - for (i=0; i