diff --git a/lib/bundled_gems.rb b/lib/bundled_gems.rb index f6fdad21a1..85f23b2596 100644 --- a/lib/bundled_gems.rb +++ b/lib/bundled_gems.rb @@ -122,6 +122,10 @@ module Gem::BUNDLED_GEMS # :nodoc: false end + if suppress_list = Thread.current[:__bundled_gems_warning_suppression] + return if suppress_list.include?(name) || suppress_list.include?(feature) + end + return if specs.include?(name) # Don't warn if a hyphenated gem provides this feature diff --git a/prelude.rb b/prelude.rb index 7b5a766898..163aa5c3e5 100644 --- a/prelude.rb +++ b/prelude.rb @@ -1,6 +1,9 @@ class Binding # :nodoc: def irb(...) + suppress = Thread.current[:__bundled_gems_warning_suppression] + Thread.current[:__bundled_gems_warning_suppression] = ['irb', 'reline', 'rdoc'] + begin require 'irb' rescue LoadError, Gem::LoadError @@ -8,6 +11,8 @@ class Binding require 'irb' end irb(...) + ensure + Thread.current[:__bundled_gems_warning_suppression] = suppress end # suppress redefinition warning