1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* eval.c (errinfo_place): skip if error is Fixnum. [ruby-dev:32608]

* bootstraptest/test_exception.rb, test_known_bug.rb: move fixed bug.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14323 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
ko1 2007-12-19 08:02:03 +00:00
parent 66417115a2
commit 9bd91ea3b0
4 changed files with 25 additions and 18 deletions

View file

@ -1,3 +1,9 @@
Wed Dec 19 16:59:55 2007 Koichi Sasada <ko1@atdot.net>
* eval.c (errinfo_place): skip if error is Fixnum. [ruby-dev:32608]
* bootstraptest/test_exception.rb, test_known_bug.rb: move fixed bug.
Wed Dec 19 16:31:58 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* parse.y (reg_named_capture_assign_iter): remove C99 dependency.

View file

@ -385,3 +385,20 @@ assert_match /undefined method `foo\'/, %q{
C.new.foo
}, "[ruby-dev:31407]"
assert_equal 'nil', %q{
doit = false
exc = nil
t = Thread.new {
begin
doit = true
sleep 10
ensure
exc = $!
end
}
Thread.pass until doit
t.kill
t.join
exc.inspect
}, '[ruby-dev:32608]'

View file

@ -190,23 +190,6 @@ assert_normal_exit %q{
Thread.new { GC.start }.join
}, '[ruby-dev:32604]'
assert_equal 'nil', %q{
doit = false
exc = nil
t = Thread.new {
begin
doit = true
sleep 10
ensure
exc = $!
end
}
Thread.pass until doit
t.kill
t.join
exc.inspect
}, '[ruby-dev:32608]'
assert_equal 'true', %q{
"abc".sub(/b/, "\xa1\xa1".force_encoding("euc-jp")) ==
"a\xa1\xa1c".force_encoding("euc-jp")

3
eval.c
View file

@ -2508,7 +2508,8 @@ errinfo_place(void)
return &cfp->dfp[-1];
}
else if (cfp->iseq->type == ISEQ_TYPE_ENSURE &&
TYPE(cfp->dfp[-1]) != T_NODE) {
TYPE(cfp->dfp[-1]) != T_NODE &&
!FIXNUM_P(cfp->dfp[-1])) {
return &cfp->dfp[-1];
}
}