なかだです。

At Thu, 2 Dec 1999 11:43:13 +0900,
matz / netlab.co.jp (Yukihiro Matsumoto) wrote:
> |  あと、これはバグというべきか分かりませんが、ruby_set_argv() の
> |前の process_sflag() って意味あるんでしょうか。
> 
> これはなにか理由があってそうしたように思うんですが、思い出せ
> ません。なんだったかなあ。-x とかと関連してたのかなあ。

  #!.*ruby の後のオプションのためですか。じゃあ取っちゃまずいのか
な。(^^;

  でも load_(stdin|file) から proc_options() が呼ばれるので、
proc_options() 内では ruby_set_argv() の直後の一回でいいような気
もするのですが、多分。

  あと、Init_ext() って load_(stdin|file) のたびに呼ばれるようで
すが、何か static link してある場合何回も呼ばれて大丈夫でしょうか。

  ついでにもう一個。
$ cat bug.rb
#!ruby -v                       # garbage after an option
$ ruby bug.rb
ruby 1.5.0 (1999-12-01) [i586-linux]
ruby: [BUG] Segmentation fault
Aborted (core dumped)

--- dist/ruby.c	Thu Nov 25 18:05:15 1999
+++ build/ruby.c	Thu Dec  2 12:35:06 1999
@@ -304,5 +304,5 @@
 	s++;
     argv[1] = ALLOCA_N(char, s - p + 2);
-    sprintf(argv[1], "-%s", p);
+    sprintf(argv[1], "-%*s", s - p, p);
     proc_options(argc, argv);
     while (*s && ISSPACE(*s))

-- 
そうだ 強気に ちょっと インチキに☆彡
    中田 "Bugるくらいがちょうどいいかも;-)" 伸悦