cygwin上のemacs22.2でirbを動かす

なぜだかわからないが cygwin上のemacs22.2のrubyモードでC-cC-s(run-ruby)が

Searching for program: no such file or directory, irb.exe

を表示して実行できない。
何故かと思い exec-pathを見てみたが /usr/binが消えている。/usr/bin上書きしても駄目。(これは/usr/binを/binにマウントしている為だった)

http://https..sourceforge.jp/projects/ntemacsjp/files/ ここから落とした


どうもcygwinemacsの問題みたいだ。

(start-process "my-process" "foo" "zcat" "--help")を*scratch*で実行してもエラーになる。
rubyだとOK irbだとNG
gzipだとOK zcatだとNG
ということは irbrubyを呼び出しているとこらでだめってことか。

$ ls -l `which irb`
-rwxr-xr-x 1 n9d Users 373 May 30  2007 /usr/bin/irb*

そうかgaucheが動いたのはgosh -iだったからか。

bashの上からだと動くんだけどなぁとおもったら

上で

(start-process "my-process" "foo" "bash" "-c" "irb -v")

だと起動するので

inf-ruby.elを以下のように書き直す。

(defvar ruby-program-name "bash -c irb --inf-ruby-mode"
  "*Program invoked by the run-ruby command")

これで動くようになった。