diff options
Diffstat (limited to 'lib/rubygems/core_ext/kernel_warn.rb')
| -rw-r--r-- | lib/rubygems/core_ext/kernel_warn.rb | 17 |
1 files changed, 6 insertions, 11 deletions
diff --git a/lib/rubygems/core_ext/kernel_warn.rb b/lib/rubygems/core_ext/kernel_warn.rb index 2dadf1fcd8..f806b77fab 100644 --- a/lib/rubygems/core_ext/kernel_warn.rb +++ b/lib/rubygems/core_ext/kernel_warn.rb @@ -13,11 +13,7 @@ module Kernel module_function define_method(:warn) {|*messages, **kw| unless uplevel = kw[:uplevel] - if Gem.java_platform? && RUBY_VERSION < "3.1" - return original_warn.bind(self).call(*messages) - else - return original_warn.bind(self).call(*messages, **kw) - end + return original_warn.bind_call(self, *messages, **kw) end # Ensure `uplevel` fits a `long` @@ -35,16 +31,15 @@ module Kernel start += 1 - if path = loc.path - unless path.start_with?(rubygems_path, "<internal:") - # Non-rubygems frames - uplevel -= 1 - end + next unless path = loc.path + unless path.start_with?(rubygems_path, "<internal:") + # Non-rubygems frames + uplevel -= 1 end end kw[:uplevel] = start end - original_warn.bind(self).call(*messages, **kw) + original_warn.bind_call(self, *messages, **kw) } end |
