diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-15 03:27:33 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-06-15 03:27:33 +0000 |
commit | 7567fbf080552e04df4b5d2af9d601cf1d345b11 (patch) | |
tree | aaa825008c041b6dd7cb0ee51dd9f59cfcca8113 /vm.c | |
parent | 70df6311af85b7f53b5c730502d4b9a94fa23cc9 (diff) | |
download | ruby-7567fbf080552e04df4b5d2af9d601cf1d345b11.tar.gz |
* vm.c (th_yield_setup_args): |v| should work as |v,|.
ex) def m;yield 1, 2; end; m{|v| p v} #=> 1
* parse.y: apply above change for "for" statement.
* test/ruby/test_assignment.rb: ditto
* test/ruby/test_basicinstructions.rb: ditto.
* test/ruby/test_iterator.rb: ditto.
* test/ruby/test_yield.rb: ditto.
* compile.c (iseq_compile_each): fix debug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12544 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'vm.c')
-rw-r--r-- | vm.c | 11 |
1 files changed, 0 insertions, 11 deletions
@@ -718,17 +718,6 @@ th_yield_setup_args(rb_thread_t *th, rb_iseq_t *iseq, } if (iseq->arg_rest == -1) { - if (lambda == 0 && iseq->argc == 1) { - if (argc > 1) { - /* yield 1, 2, 3 for iter{|a| ...} - * - * ruby 1.8 warns on this timing. - * rb_warn("multiple values for a block parameter (%d for %d)", argc, iseq->argc); - */ - argv[0] = rb_ary_new4(argc, argv); - th->mark_stack_len = argc = 1; - } - } if (iseq->argc < argc) { if (lambda) { |