mirror of
https://github.com/ruby/ruby.git
synced 2026-01-29 05:24:23 +00:00
... to prevent "circular require" when `--disable-gems` is used. This is a simplified case ofe5a0abc5de``` $ bundle exec ruby -we 'system("ruby", "-w", "--disable-gems", "-e", "")' <internal:/home/mame/work/ruby/local/lib/ruby/3.2.0+3/rubygems/core_ext/kernel_require.rb>:85: warning: <internal:/home/mame/work/ruby/local/lib/ruby/3.2.0+3/rubygems/core_ext/kernel_require.rb>:85: warning: loading in progress, circular require considered harmful - /home/mame/work/ruby/local/lib/ruby/3.2.0+3/bundler/setup.rb ``` When bundler/setup is require'ed under --disable-gems mode, it loads rubygems by `require "rubygems" unless defined?(Gem)` in0b1f682a6d/bundler/lib/bundler/rubygems_integration.rb (L3)In this case, require'ing bundler/setup from rubygems.rb is circular. This change makes rubygems.rb to require "bundler/setup" only when `Bundler` is not defined. https://github.com/rubygems/rubygems/commit/b4608dee5e