From 9ec6db5e38f40544aa808f6e2bab35f023950dbc Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 1 Jun 2012 21:21:11 +0900 Subject: reorder arguments to mrb_get_args in mrb_f_send_m --- src/kernel.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index 9ee9e8d34..9b00ad99a 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -277,7 +277,7 @@ mrb_f_send_m(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); } -- cgit v1.2.3 From 26ac26bd4b9c099c91079d6fccf5dcf8307d8b29 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 1 Jun 2012 21:22:40 +0900 Subject: remove spawn (and backtick) method that cannot be implemented without platform support --- src/kernel.c | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index 9b00ad99a..dbf4b2725 100644 --- a/src/kernel.c +++ b/src/kernel.c @@ -281,25 +281,6 @@ mrb_f_send_m(mrb_state *mrb, mrb_value self) 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 +1381,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 */ @@ -1419,7 +1399,6 @@ mrb_init_kernel(mrb_state *mrb) 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, "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 */ -- cgit v1.2.3 From 364f7e8f376f6bc01b6fcf79bdec0e4a06969df1 Mon Sep 17 00:00:00 2001 From: Yukihiro Matsumoto Date: Fri, 1 Jun 2012 21:23:54 +0900 Subject: remove unused mrb_f_send; and rename mrb_f_send_m to mrb_f_send --- src/kernel.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) (limited to 'src/kernel.c') diff --git a/src/kernel.c b/src/kernel.c index dbf4b2725..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,7 +260,7 @@ 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; @@ -1398,7 +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, "__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 */ @@ -1433,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 */ -- cgit v1.2.3