Hi,

What is the reason that bin is needed in $LOAD_PATH?  AFAIK,
bin directory is for executable files, but not for libraries.


Index: gem_prelude.rb =================================================================== --- gem_prelude.rb (revision 25229) +++ gem_prelude.rb (working copy) @@ -256,12 +256,11 @@ if defined?(Gem) then GemPaths.each_value do |path| if File.exist?(file = File.join(path, ".require_paths")) then - paths = File.read(file).split.map do |require_path| + paths = File.readlines(file).map! do |require_path| + require_path.chomp! File.join path, require_path end - require_paths.concat paths else - require_paths << file if File.exist?(file = File.join(path, "bin")) - require_paths << file if File.exist?(file = File.join(path, "lib")) + require_paths << (File.directory?(file = File.join(path, "lib")) ? file : path) end end Index: lib/rubygems.rb =================================================================== --- lib/rubygems.rb (revision 25229) +++ lib/rubygems.rb (working copy) @@ -294,7 +294,4 @@ module Gem end - # bin directory must come before library directories - spec.require_paths.unshift spec.bindir if spec.bindir - require_paths = spec.require_paths.map do |path| File.join spec.full_gem_path, path Index: lib/rubygems/require_paths_builder.rb =================================================================== --- lib/rubygems/require_paths_builder.rb (revision 25229) +++ lib/rubygems/require_paths_builder.rb (working copy) @@ -3,13 +3,10 @@ require 'rubygems' module Gem::RequirePathsBuilder def write_require_paths_file_if_needed(spec = @spec, gem_home = @gem_home) - return if spec.require_paths == ["lib"] && - (spec.bindir.nil? || spec.bindir == "bin") + require_paths = spec.require_paths + return if require_paths == ["lib"] file_name = File.join(gem_home, 'gems', "#{@spec.full_name}", ".require_paths") file_name.untaint - File.open(file_name, "w") do |file| - spec.require_paths.each do |path| - file.puts path - end - file.puts spec.bindir if spec.bindir + File.open(file_name, "wb") do |file| + file.puts require_paths end end
-- Nobu Nakada