From: matz@... (Yukihiro Matsumoto) Date: 1999-10-15T15:39:26+09:00 Subject: [ruby-list:17715] Re: command line option -e WITHOUT temporary file まつもと ゆきひろです In message "[ruby-list:17426] Re: command line option -e WITHOUT temporary file" on 99/10/05, nobu.nakada@nifty.ne.jp writes: |> ぐはぁ. unlink をもうちょっと遅らせないとまずいですね. |> 使えなくても文句は出なかったわけで rb_compile_string でいいわけか. ですねえ。 | じゃあ、いっそのこと(謎)↓。なんだかいきなり $0.SOURCE とか怪し |げなものを作ってますが。あとは、(cmdline) というスクリプトファイ |ルがあるとややこしいかも。 うむむ、ちょっと悩んだ挙げ句、あちこち直してしまいました。 * call_trace_funcを変更してruby_sourcefileが0でもSEGVしな いように。 * 定数 LINE__ が定義されていて、Hashであればそのファイルに ロードしたソースファイルを保存するように。 * debug.rb, tracer.rbをLINE__を使うように変更。 * -r で require したライブラリはスクリプトをコンパイルする 前に実行する。 * -sの処理を-rのプログラムを実行する前と、スクリプトを実行 する前の2回行う(#!行に -s が指定された場合のため)。 などなどを修正しました。かなり修正の規模が大きいので、金曜に 職場に顔出してから、check inします。 これらの修正の結果、以下の点が変わります。 * 一時ファイルを使わなくなった。 * -eでもデバッガがプログラムを表示するようになった。 * ロードするだけでファイルがメモリに読み込まれる。 * スクリプトの #!行に -s が指定されても、-rでロードされる プログラムの実行中にはまだ処理されない。 しばらく使ってみて様子を見ようと思います。 まつもと ゆきひろ /:|)