* compile.c (iseq_compile_each): drop unused ARGSCAT results.

fix [ruby-dev:41933], [Bug #3658]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28870 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-08-05 10:52:08 +00:00
Родитель 5274f89201
Коммит 50b5049921
3 изменённых файлов: 14 добавлений и 2 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Thu Aug 5 19:51:21 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* compile.c (iseq_compile_each): drop unused ARGSCAT results.
fix [ruby-dev:41933], [Bug #3658]
Thu Aug 5 18:36:11 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* complex.c (nucomp_marshal_load): should check the argument.

Просмотреть файл

@ -4521,8 +4521,9 @@ iseq_compile_each(rb_iseq_t *iseq, LINK_ANCHOR *ret, NODE * node, int poped)
break;
}
case NODE_ARGSCAT:{
COMPILE(ret, "argscat head", node->nd_head);
COMPILE(ret, "argscat body", node->nd_body);
COMPILE_(ret, "argscat head", node->nd_head, poped);
COMPILE_(ret, "argscat body", node->nd_body, poped);
if (poped) break;
ADD_INSN(ret, nd_line(node), concatarray);
break;
}

Просмотреть файл

@ -273,6 +273,7 @@ class TestRubyPrimitive < Test::Unit::TestCase
assert_equal 'abcd', $&
assert_equal 'xyz', $`
assert_equal 'efgabcdefg', $'
# '
assert_equal 'c', $+
/(?!)/ =~ 'xyzabcdefgabcdefg'
@ -400,4 +401,9 @@ class TestRubyPrimitive < Test::Unit::TestCase
#assert_equal [0,1,2,3,4], [0, *a, 4]
end
def test_concatarray_ruby_dev_41933
bug3658 = '[ruby-dev:41933]'
[0, *x=1]
assert_equal(1, x, bug3658)
end
end