[前][次][番号順一覧][スレッド一覧]

ruby-changes:9553

From: ko1 <ko1@a...>
Date: Sat, 27 Dec 2008 16:22:24 +0900 (JST)
Subject: [ruby-changes:9553] Ruby:r21093 (trunk): * eval.c (rb_frame_callee, rb_frame_caller): rb_frame_callee()

ko1	2008-12-27 16:22:01 +0900 (Sat, 27 Dec 2008)

  New Revision: 21093

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=21093

  Log:
    * eval.c (rb_frame_callee, rb_frame_caller): rb_frame_callee()
      should return method id on current frame.
      add rb_frame_caller() to get method id on parent frame.
      Bug #884 [ruby-dev:37446]
    * eval.c (rb_f_method_name): use rb_frame_caller()
      instead of rb_frame_callee().

  Modified files:
    trunk/ChangeLog
    trunk/eval.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 21092)
+++ ChangeLog	(revision 21093)
@@ -1,3 +1,13 @@
+Sat Dec 27 16:18:02 2008  Koichi Sasada  <ko1@a...>
+
+	* eval.c (rb_frame_callee, rb_frame_caller): rb_frame_callee() 
+	  should return method id on current frame.
+	  add rb_frame_caller() to get method id on parent frame.
+	  Bug #884 [ruby-dev:37446]
+
+	* eval.c (rb_f_method_name): use rb_frame_caller()
+	  instead of rb_frame_callee().
+
 Sat Dec 27 15:28:12 2008  Tanaka Akira  <akr@f...>
 
 	* transcode.c (make_econv_exception): show source and destination
Index: eval.c
===================================================================
--- eval.c	(revision 21092)
+++ eval.c	(revision 21093)
@@ -750,6 +750,12 @@
 ID
 rb_frame_callee(void)
 {
+    return frame_func_id(GET_THREAD()->cfp);
+}
+
+static ID
+rb_frame_caller(void)
+{
     rb_thread_t *th = GET_THREAD();
     rb_control_frame_t *prev_cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(th->cfp);
     /* check if prev_cfp can be accessible */
@@ -1106,7 +1112,7 @@
 static VALUE
 rb_f_method_name(void)
 {
-    ID fname = rb_frame_callee();
+    ID fname = rb_frame_caller(); /* need *caller* ID */
 
     if (fname) {
 	return ID2SYM(fname);

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]