summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-09-03 00:41:09 +0900
committerYukihiro Matsumoto <[email protected]>2012-09-03 00:41:09 +0900
commitfd3af6aec88fe8ad01efb23f69a075f83ac91063 (patch)
tree217eff2af8c75591be2f6f6a24e4296c093dcf71 /src
parent9c12b47d7373cdfecede2e014b63cea4da97ee36 (diff)
downloadmruby-fd3af6aec88fe8ad01efb23f69a075f83ac91063.tar.gz
mruby-fd3af6aec88fe8ad01efb23f69a075f83ac91063.zip
introduce toplevel object main; close #327
Diffstat (limited to 'src')
-rw-r--r--src/kernel.c3
-rw-r--r--src/state.c6
2 files changed, 7 insertions, 2 deletions
diff --git a/src/kernel.c b/src/kernel.c
index 9307f57e5..05868bc70 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -64,6 +64,9 @@ mrb_obj_inspect(mrb_state *mrb, mrb_value obj)
else if (mrb_nil_p(obj)) {
return mrb_str_new(mrb, "nil", 3);
}
+ else if (mrb_type(obj) == MRB_TT_MAIN) {
+ return mrb_str_new(mrb, "main", 4);
+ }
return mrb_funcall(mrb, obj, "to_s", 0, 0);
}
diff --git a/src/state.c b/src/state.c
index 57f052569..6efacd68c 100644
--- a/src/state.c
+++ b/src/state.c
@@ -97,6 +97,8 @@ mrb_add_irep(mrb_state *mrb, int idx)
mrb_value
mrb_top_self(mrb_state *mrb)
{
- // for now
- return mrb_nil_value();
+ mrb_value v;
+
+ MRB_SET_VALUE(v, MRB_TT_MAIN, value.i, 0);
+ return v;
}