青木です。

  In mail "[ruby-list:41159] Re: RD と rdoc に関する newbie な質問"
  "conundrum /" <conundrum / hotmail.co.jp> wrote:

> conundrumです。るびきちさん、直々の回答ありがとうございます。

> ので、早速インストールを試みたのですが、mswin32環境、cygwin環境共に、
> 下記のようなエラーに遭遇します。

> $ ruby setup.rb

> adjusting shebang: rdswap.rb
> setup.rb:496:in `initialize': Permission denied - rdswap.rb (Errno::EACCES)

たぶん setup.rb が古いせいです。これは CVS 版でないと直ってないので、
がんばってダウンロードするよりも書き換えちゃったほうが早いと思います。
setup.rb の中を見ると、1145 行あたりに move_file なんたらという行が
あると思うんですが、

  1132    def adjust_shebang(path)
  1133      return if no_harm?
  1134      tmpfile = File.basename(path) + '.tmp'
  1135      begin
  1136        File.open(path, 'rb') {|r|
  1137          first = r.gets
  1138          return unless File.basename(config('rubypath')) == 'ruby'
  1139          return unless File.basename(first.sub(/\A\#!/, '').split[0]) == 
'ruby'
  1140          $stderr.puts "adjusting shebang: #{File.basename(path)}" if verb
ose?
  1141          File.open(tmpfile, 'wb') {|w|
  1142            w.print first.sub(/\A\#!\s*\S+/, '#! ' + config('rubypath'))
  1143            w.write r.read
  1144          }
  1145          move_file tmpfile, File.basename(path)
  1146        }
  1147      ensure
  1148        File.unlink tmpfile if File.exist?(tmpfile)
  1149      end
  1150    end

これをその次の行の下に移してください。つまり File.open のブロックから
出すってことです。

    move_file tmpfile, File.basename(path)
  }

           ↓

  }
    move_file tmpfile, File.basename(path)

バージョンによって行番号はちょっと違うかもしれませんが、
検索すれば見付かると思います。

# いいかげん setup.rb をリリースしないとまずいなあ……

--
青木峰郎