[前][次][番号順一覧][スレッド一覧]

ruby-changes:56874

From: Nobuyoshi <ko1@a...>
Date: Thu, 8 Aug 2019 21:31:22 +0900 (JST)
Subject: [ruby-changes:56874] Nobuyoshi Nakada: 76bd0714cf (master): solve "duplicate :raise event" in require too [Bug #15877]

https://git.ruby-lang.org/ruby.git/commit/?id=76bd0714cf

From 76bd0714cf1140ffd64bf564446c76c54f2c4870 Mon Sep 17 00:00:00 2001
From: Nobuyoshi Nakada <nobu@r...>
Date: Thu, 8 Aug 2019 21:26:31 +0900
Subject: solve "duplicate :raise event" in require too [Bug #15877]


diff --git a/load.c b/load.c
index cc5533e..ba84ec0 100644
--- a/load.c
+++ b/load.c
@@ -1053,7 +1053,6 @@ rb_require_safe(VALUE fname, int safe) https://github.com/ruby/ruby/blob/trunk/load.c#L1053
     int result = rb_require_internal(fname, safe);
 
     if (result > TAG_RETURN) {
-	if (result == TAG_RAISE) rb_exc_raise(rb_errinfo());
 	EC_JUMP_TAG(GET_EC(), result);
     }
     if (result < 0) {
diff --git a/test/ruby/test_settracefunc.rb b/test/ruby/test_settracefunc.rb
index 7d7b672..1138427 100644
--- a/test/ruby/test_settracefunc.rb
+++ b/test/ruby/test_settracefunc.rb
@@ -1676,10 +1676,16 @@ class TestSetTraceFunc < Test::Unit::TestCase https://github.com/ruby/ruby/blob/trunk/test/ruby/test_settracefunc.rb#L1676
     tmpdir = Dir.mktmpdir
     path = "#{tmpdir}/hola.rb"
     File.open(path, "w") { |f| f.write("raise") }
-    TracePoint.new(:raise){|tp| next if !target_thread?; events << [tp.event]}.enable{
+    tp = TracePoint.new(:raise) {|tp| events << [tp.event] if target_thread?}
+    tp.enable{
       load path rescue nil
     }
     assert_equal [[:raise]], events
+    events.clear
+    tp.enable{
+      require path rescue nil
+    }
+    assert_equal [[:raise]], events
   ensure
     FileUtils.rmtree(tmpdir)
   end
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]