summaryrefslogtreecommitdiffhomepage
path: root/src/class.c
diff options
context:
space:
mode:
authortake_cheeze <[email protected]>2013-08-26 22:51:53 +0900
committertake_cheeze <[email protected]>2013-09-02 00:48:06 +0900
commitd12b6ab2187528828977ba1ea8b6f6fc9f6e42f2 (patch)
tree9d3bbe7d7c8d7beede1ce6841c56e35b7a9fe781 /src/class.c
parentd19d9bb047a8b63c79442d5713be9205cf74c60c (diff)
downloadmruby-d12b6ab2187528828977ba1ea8b6f6fc9f6e42f2.tar.gz
mruby-d12b6ab2187528828977ba1ea8b6f6fc9f6e42f2.zip
add verbose_backtrace
Diffstat (limited to 'src/class.c')
-rw-r--r--src/class.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/class.c b/src/class.c
index 1870b94ba..e04aa5ce8 100644
--- a/src/class.c
+++ b/src/class.c
@@ -55,7 +55,7 @@ mrb_name_class(mrb_state *mrb, struct RClass *c, mrb_sym name)
mrb_obj_iv_set(mrb, (struct RObject*)c,
mrb_intern2(mrb, "__classid__", 11), mrb_symbol_value(name));
}
-
+
#define make_metaclass(mrb, c) prepare_singleton_class((mrb), (struct RBasic*)(c))
static void
@@ -311,6 +311,7 @@ mrb_define_method_id(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_func_t f
int ai = mrb_gc_arena_save(mrb);
p = mrb_proc_new_cfunc(mrb, func);
+ p->target_class = c;
mrb_define_method_raw(mrb, c, mid, p);
mrb_gc_arena_restore(mrb, ai);
}
@@ -1065,7 +1066,7 @@ mrb_class_new_class(mrb_state *mrb, mrb_value cv)
{
mrb_value super;
struct RClass *new_class;
-
+
if (mrb_get_args(mrb, "|o", &super) == 0) {
super = mrb_obj_value(mrb->object_class);
}