diff options
| author | Paolo Bosetti <[email protected]> | 2012-06-01 13:41:10 -0700 |
|---|---|---|
| committer | Paolo Bosetti <[email protected]> | 2012-06-01 13:41:10 -0700 |
| commit | 1bff6a8f62310a750c0943611c70a7247c492bff (patch) | |
| tree | 43123469deb2b59eaad04b81b129dda0c1e16ae2 /src/kernel.c | |
| parent | 8fafbe7e03b089cdbab5334a63f0f01499f394ca (diff) | |
| parent | b2d0f22dee87651bca4e16e287cab61dc303db19 (diff) | |
| download | mruby-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.c | 41 |
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 */ |
