<199801290451.NAA16594 / eban.ase.ptg.sony.co.jp> の、
   "[ruby-list:6097] Re: パースエラー等の嵐をDos窓で受けるには...?" において、
   "WATANABE Hirofumi <watanabe / ase.ptg.sony.co.jp>"さんは書きました:

> :$stderr.reopen(error_file)
> :
> :のようにして、エラー出力を変更する話がありましたが
> :これをDos窓(Windowsの)でやってもうまくいきません (;_;)
> 
> この方法は ruby 処理系自身には影響を及ぼしません.
> だから rubytest.rb のように sub process で ruby を呼び出すか,
>
> $stderr.reopen($stdout)
> system "ruby -x #$0"
> __END__
> #!ruby
> $stderr.print "kaba\n"
> if (TRUE) {
>   p "aho"
> }

す、すごい(^o^)/

なぜかruby: Can't chdir to  #$0"といわれますがバージョンを上げて
再度試みます。system()関係がちょっと変なんです。Dosはつらい。



> djgpp の redir のようなコマンドを使えば可能です.
> でも bash を使うのが一番簡単.

redirというのよさそうですね。

究極はbashなのでしょう……


> |この方法は ruby 処理系自身には影響を及ぼしません.
>
> しかし,作者はruby処理系のエラーメッセージにも影響を及ぼすべ
> きだと考えています.というわけで,バグです.^^;;;

> あ,パースエラーはreopenの設定より時間的に前に出るんで無理で
> すよね.そりゃそうだ.コマンドラインオプションで指定するとい
> うことも考えられないでもないですが,なんかちょっと違う気がし
> ますね.

残念。


> もしNTのDOS窓でcygwin版を使ってるんだったら、DOS窓のプロパティで画面
> バッファのサイズを1000行とかに設定してしまうのが一番楽かも。95だと駄
> 目だけど。

そうなんですよねぇ。95がバカだと思います。できないはずはないと何度も
探しましたが95のDos窓のバッファを簡単に変える方法はないようです。でも
何かのプロパティの変更でできたような気も...  探してみます。


M.Kanemitsu