まつもと ゆきひろです

In message "Re: [ruby-dev:25707] (null) in caller"
    on Thu, 17 Feb 2005 09:48:00 +0900, Tanaka Akira <akr / m17n.org> writes:

|次のように、caller の結果に (null) というのが出て来るのは変ではないでしょうか。
|
|% ./ruby -ve 'Thread.new { p caller }'
|ruby 1.9.0 (2005-02-17) [i686-linux]
|["-e:1:in `(null)'", "-e:1"]

こんな感じの修正じゃないでしょうか > なかださん。

--- ChangeLog	17 Feb 2005 04:50:46 -0000	1.4023
+++ ChangeLog	17 Feb 2005 05:32:34 -0000
@@ -1 +1,6 @@
+Thu Feb 17 14:31:52 2005  Yukihiro Matsumoto  <matz / ruby-lang.org>
+
+	* eval.c (rb_thread_start_1): initialize newly pushed frame.
+	  fixed: [ruby-dev:25707]
+

--- eval.c	16 Feb 2005 14:54:22 -0000	1.753
+++ eval.c	17 Feb 2005 05:32:34 -0000
@@ -11758,3 +11767,5 @@ rb_thread_start_1()
     PUSH_FRAME();
-    _frame.iter = ITER_CUR;
+    *ruby_frame = *ip->frame;
+    ruby_frame->prev = ip->frame;
+    ruby_frame->iter = ITER_CUR;
     PUSH_TAG(PROT_NONE);