From 080480092145ce456f432060cae48431518eb82f Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Sat, 27 Jul 2013 13:16:08 +0900 Subject: I replace 0 with NULL because struct pointer be should set NULL in. --- mrbgems/mruby-object-ext/src/object.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/mrbgems/mruby-object-ext/src/object.c b/mrbgems/mruby-object-ext/src/object.c index 598ebe91d..927a23d66 100644 --- a/mrbgems/mruby-object-ext/src/object.c +++ b/mrbgems/mruby-object-ext/src/object.c @@ -59,7 +59,7 @@ nil_to_i(mrb_state *mrb, mrb_value obj) * k.instance_exec(5) {|x| @secret+x } #=> 104 */ -mrb_value +mrb_value mrb_yield_internal(mrb_state *mrb, mrb_value b, int argc, mrb_value *argv, mrb_value self, struct RClass *c); static mrb_value @@ -69,7 +69,7 @@ mrb_obj_instance_exec(mrb_state *mrb, mrb_value self) int argc; mrb_value blk; struct RClass *c; - + mrb_get_args(mrb, "*&", &argv, &argc, &blk); if (mrb_nil_p(blk)) { @@ -80,7 +80,7 @@ mrb_obj_instance_exec(mrb_state *mrb, mrb_value self) case MRB_TT_SYMBOL: case MRB_TT_FIXNUM: case MRB_TT_FLOAT: - c = 0; + c = NULL; break; default: c = mrb_class_ptr(mrb_singleton_class(mrb, self)); -- cgit v1.2.3 From d6b24de6e1b7384c5cd974cefc63865f7f705ed4 Mon Sep 17 00:00:00 2001 From: Jun Hiroe Date: Sat, 27 Jul 2013 14:57:34 +0900 Subject: I replace 'Pre-Conditions' with 'Preconditions' because the former is a wrong word. --- doc/mrbgems/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/mrbgems/README.md b/doc/mrbgems/README.md index 881fbb228..65b794dc0 100644 --- a/doc/mrbgems/README.md +++ b/doc/mrbgems/README.md @@ -156,7 +156,7 @@ the following options additionally inside of your GEM specification: mruby can be extended with C. This is possible by using the C API to integrate C libraries into mruby. -### Pre-Conditions +### Preconditions mrbgems expects that you have implemented a C method called `mrb_YOURGEMNAME_gem_init(mrb_state)`. `YOURGEMNAME` will be replaced -- cgit v1.2.3 From ff40793fc726c3d05cbf38ec703d8d39a0dd09df Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Sun, 28 Jul 2013 13:15:22 -0400 Subject: Remove pop that was done when not a return val --- src/codegen.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/codegen.c b/src/codegen.c index 37176653b..3f18aad0b 100644 --- a/src/codegen.c +++ b/src/codegen.c @@ -1551,7 +1551,6 @@ codegen(codegen_scope *s, node *tree, int val) // variable rhs codegen(s, t, VAL); gen_vmassignment(s, tree->car, rhs, val); - if (!val) pop(); } } break; -- cgit v1.2.3 From 2eb2cdf0deefeb090e9737f86e5c300660bda299 Mon Sep 17 00:00:00 2001 From: Carson McDonald Date: Sun, 28 Jul 2013 13:35:00 -0400 Subject: Add a couple splat tests --- test/t/syntax.rb | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/test/t/syntax.rb b/test/t/syntax.rb index 332cfcca8..b975d0103 100644 --- a/test/t/syntax.rb +++ b/test/t/syntax.rb @@ -65,3 +65,12 @@ assert('Abbreviated variable assignment as returns') do end assert_equal Syntax4AbbrVarAsgnAsReturns::A.new.b, 1 end + +assert('Splat and mass assignment') do + *a = *[1,2,3] + b, *c = *[7,8,9] + + assert_equal [1,2,3], a + assert_equal 7, b + assert_equal [8,9], c +end -- cgit v1.2.3