class Gem::Commands::SetupCommand

def install_executables(bin_dir)

def install_executables(bin_dir)
  say "Installing gem executable" if @verbose
  @bin_file_names = []
  Dir.chdir 'bin' do
    bin_files = Dir['*']
    bin_files.delete 'update_rubygems'
    bin_files.each do |bin_file|
      bin_file_formatted = if options[:format_executable] then
                             Gem.default_exec_format % bin_file
                           else
                             bin_file
                           end
      dest_file = File.join bin_dir, bin_file_formatted
      bin_tmp_file = File.join Dir.tmpdir, "#{bin_file}.#{$$}"
      begin
        bin = File.readlines bin_file
        bin[0] = "#!#{Gem.ruby}\n"
        File.open bin_tmp_file, 'w' do |fp|
          fp.puts bin.join
        end
        install bin_tmp_file, dest_file, :mode => 0755
        @bin_file_names << dest_file
      ensure
        rm bin_tmp_file
      end
      next unless Gem.win_platform?
      begin
        bin_cmd_file = File.join Dir.tmpdir, "#{bin_file}.bat"
        File.open bin_cmd_file, 'w' do |file|
          file.puts <<-TEXT
CHO OFF
 NOT "%~f0" == "~f0" GOTO :WinNT
#{File.basename(Gem.ruby).chomp('"')}" "#{dest_file}" %1 %2 %3 %4 %5 %6 %7 %8 %9
TO :EOF
inNT
#{File.basename(Gem.ruby).chomp('"')}" "%~dpn0" %*
XT
        end
        install bin_cmd_file, "#{dest_file}.bat", :mode => 0755
      ensure
        rm bin_cmd_file
      end
    end
  end
end