summaryrefslogtreecommitdiffhomepage
path: root/src/kernel.c
diff options
context:
space:
mode:
authorPaolo Bosetti <[email protected]>2012-06-01 13:41:10 -0700
committerPaolo Bosetti <[email protected]>2012-06-01 13:41:10 -0700
commit1bff6a8f62310a750c0943611c70a7247c492bff (patch)
tree43123469deb2b59eaad04b81b129dda0c1e16ae2 /src/kernel.c
parent8fafbe7e03b089cdbab5334a63f0f01499f394ca (diff)
parentb2d0f22dee87651bca4e16e287cab61dc303db19 (diff)
downloadmruby-1bff6a8f62310a750c0943611c70a7247c492bff.tar.gz
mruby-1bff6a8f62310a750c0943611c70a7247c492bff.zip
Merge branch 'master' of git://github.com/mruby/mruby into XCode
Diffstat (limited to 'src/kernel.c')
-rw-r--r--src/kernel.c41
1 files changed, 4 insertions, 37 deletions
diff --git a/src/kernel.c b/src/kernel.c
index 9ee9e8d34..9092d239d 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -240,18 +240,6 @@ mrb_obj_id_m(mrb_state *mrb, mrb_value self)
return mrb_fixnum_value(mrb_obj_id(self));
}
-mrb_value
-send_internal(int argc, mrb_value *argv, mrb_value recv, enum call_type ctype)
-{
- return mrb_nil_value(); /* dummy */
-}
-
-mrb_value
-mrb_f_send(int argc, mrb_value *argv, mrb_value recv)
-{
- return send_internal(argc, argv, recv, CALL_FCALL);
-}
-
/* 15.3.1.3.4 */
/* 15.3.1.3.44 */
/*
@@ -272,34 +260,15 @@ mrb_f_send(int argc, mrb_value *argv, mrb_value recv)
* k.send :hello, "gentle", "readers" #=> "Hello gentle readers"
*/
static mrb_value
-mrb_f_send_m(mrb_state *mrb, mrb_value self)
+mrb_f_send(mrb_state *mrb, mrb_value self)
{
mrb_value name, block, *argv;
int argc;
- mrb_get_args(mrb, "&o*", &block, &name, &argv, &argc);
+ mrb_get_args(mrb, "o*&", &name, &argv, &argc, &block);
return mrb_funcall_with_block(mrb,self, mrb_string_value_ptr(mrb, name), argc, argv, block);
}
-/* 15.3.1.2.1 */
-/* 15.3.1.3.5 */
-/*
- * call-seq:
- * spawn([env,] command... [,options]) -> pid
- * Process.spawn([env,] command... [,options]) -> pid
- *
- * spawn executes specified command and return its pid.
- */
-static mrb_value
-mrb_f_spawn_m(mrb_state *mrb, mrb_value self)
-{
- mrb_value *argv;
- int argc;
-
- mrb_get_args(mrb, "*", &argv, &argc);
- return (mrb_f_send(argc, argv, self));
-}
-
static mrb_value
mrb_f_block_given_p(void)
{
@@ -1400,7 +1369,6 @@ mrb_init_kernel(mrb_state *mrb)
struct RClass *krn;
krn = mrb->kernel_module = mrb_define_module(mrb, "Kernel");
- mrb_define_class_method(mrb, krn, "'", mrb_f_spawn_m, ARGS_ANY()); /* 15.3.1.2.1 */
mrb_define_class_method(mrb, krn, "block_given?", mrb_f_block_given_p_m, ARGS_NONE()); /* 15.3.1.2.2 */
mrb_define_class_method(mrb, krn, "eval", mrb_f_eval_m, ARGS_ANY()); /* 15.3.1.2.3 */
mrb_define_class_method(mrb, krn, "global_variables", mrb_f_global_variables, ARGS_NONE()); /* 15.3.1.2.4 */
@@ -1418,8 +1386,7 @@ mrb_init_kernel(mrb_state *mrb)
mrb_define_method(mrb, krn, "!=", mrb_obj_not_equal_m, ARGS_REQ(1));
mrb_define_method(mrb, krn, "===", mrb_equal_m, ARGS_REQ(1)); /* 15.3.1.3.2 */
mrb_define_method(mrb, krn, "__id__", mrb_obj_id_m, ARGS_NONE()); /* 15.3.1.3.3 */
- mrb_define_method(mrb, krn, "__send__", mrb_f_send_m, ARGS_ANY()); /* 15.3.1.3.4 */
- mrb_define_method(mrb, krn, "'", mrb_f_spawn_m, ARGS_ANY()); /* 15.3.1.3.5 *//* "spawn"->"'" */
+ mrb_define_method(mrb, krn, "__send__", mrb_f_send, ARGS_ANY()); /* 15.3.1.3.4 */
mrb_define_method(mrb, krn, "block_given?", mrb_f_block_given_p_m, ARGS_NONE()); /* 15.3.1.3.6 */
mrb_define_method(mrb, krn, "class", mrb_obj_class_m, ARGS_NONE()); /* 15.3.1.3.7 */
mrb_define_method(mrb, krn, "clone", mrb_obj_clone, ARGS_NONE()); /* 15.3.1.3.8 */
@@ -1454,7 +1421,7 @@ mrb_init_kernel(mrb_state *mrb)
mrb_define_method(mrb, krn, "remove_instance_variable", mrb_obj_remove_instance_variable,ARGS_REQ(1)); /* 15.3.1.3.41 */
mrb_define_method(mrb, krn, "require", mrb_f_require, ARGS_REQ(1)); /* 15.3.1.3.42 */
mrb_define_method(mrb, krn, "respond_to?", obj_respond_to, ARGS_ANY()); /* 15.3.1.3.43 */
- mrb_define_method(mrb, krn, "send", mrb_f_send_m, ARGS_ANY()); /* 15.3.1.3.44 */
+ mrb_define_method(mrb, krn, "send", mrb_f_send, ARGS_ANY()); /* 15.3.1.3.44 */
mrb_define_method(mrb, krn, "singleton_methods", mrb_obj_singleton_methods_m, ARGS_ANY()); /* 15.3.1.3.45 */
mrb_define_method(mrb, krn, "to_s", mrb_any_to_s, ARGS_NONE()); /* 15.3.1.3.46 */