ruby-changes:2832
From: ko1@a...
Date: 19 Dec 2007 18:39:26 +0900
Subject: [ruby-changes:2832] ko1 - Ruby:r14323 (trunk): * eval.c (errinfo_place): skip if error is Fixnum.
ko1 2007-12-19 17:02:03 +0900 (Wed, 19 Dec 2007) New Revision: 14323 Modified files: trunk/ChangeLog trunk/bootstraptest/test_exception.rb trunk/bootstraptest/test_knownbug.rb trunk/eval.c Log: * eval.c (errinfo_place): skip if error is Fixnum. [ruby-dev:32608] * bootstraptest/test_exception.rb, test_known_bug.rb: move fixed bug. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14323&r2=14322 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/eval.c?r1=14323&r2=14322 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_exception.rb?r1=14323&r2=14322 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/bootstraptest/test_knownbug.rb?r1=14323&r2=14322 Index: ChangeLog =================================================================== --- ChangeLog (revision 14322) +++ ChangeLog (revision 14323) @@ -1,3 +1,9 @@ +Wed Dec 19 16:59:55 2007 Koichi Sasada <ko1@a...> + + * 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@r...> * parse.y (reg_named_capture_assign_iter): remove C99 dependency. Index: bootstraptest/test_knownbug.rb =================================================================== --- bootstraptest/test_knownbug.rb (revision 14322) +++ bootstraptest/test_knownbug.rb (revision 14323) @@ -190,23 +190,6 @@ 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") Index: bootstraptest/test_exception.rb =================================================================== --- bootstraptest/test_exception.rb (revision 14322) +++ bootstraptest/test_exception.rb (revision 14323) @@ -385,3 +385,20 @@ 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]' + Index: eval.c =================================================================== --- eval.c (revision 14322) +++ eval.c (revision 14323) @@ -2508,7 +2508,8 @@ 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]; } } -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml