From e41bbaa67a10008eca575c488800e41531e6d656 Mon Sep 17 00:00:00 2001 From: "Yukihiro \"Matz\" Matsumoto" Date: Mon, 6 Nov 2023 13:38:22 +0900 Subject: [PATCH] class.c: move Proc class allocation to proc.c --- src/class.c | 3 --- src/proc.c | 4 +++- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/class.c b/src/class.c index 89f1c4699..f8ee8b70d 100644 --- a/src/class.c +++ b/src/class.c @@ -3018,9 +3018,6 @@ mrb_init_class(mrb_state *mrb) mrb_class_name_class(mrb, NULL, mod, MRB_SYM(Module)); /* 15.2.2 */ mrb_class_name_class(mrb, NULL, cls, MRB_SYM(Class)); /* 15.2.3 */ - mrb->proc_class = mrb_define_class(mrb, "Proc", mrb->object_class); /* 15.2.17 */ - MRB_SET_INSTANCE_TT(mrb->proc_class, MRB_TT_PROC); - MRB_SET_INSTANCE_TT(cls, MRB_TT_CLASS); mrb_define_method_id(mrb, bob, MRB_SYM(initialize), mrb_do_nothing, MRB_ARGS_NONE()); mrb_define_method_id(mrb, bob, MRB_OPSYM(not), mrb_bob_not, MRB_ARGS_NONE()); diff --git a/src/proc.c b/src/proc.c index 0317a47e8..e56160f0c 100644 --- a/src/proc.c +++ b/src/proc.c @@ -485,7 +485,9 @@ void mrb_init_proc(mrb_state *mrb) { mrb_method_t m; - struct RClass *pc = mrb->proc_class; + struct RClass *pc = mrb->proc_class = mrb_define_class_id(mrb, MRB_SYM(Proc), mrb->object_class); /* 15.2.17 */ + + MRB_SET_INSTANCE_TT(mrb->proc_class, MRB_TT_PROC); MRB_SET_INSTANCE_TT(pc, MRB_TT_UNDEF); mrb_define_class_method(mrb, pc, "new", mrb_proc_s_new, MRB_ARGS_NONE()|MRB_ARGS_BLOCK());