[#37248] [Feature:1.9] Enumerator#inspect — "Yusuke ENDOH" <mame@...>

遠藤です。

12 messages 2008/12/02

[#37337] [Feature #841] Object#self — "rubikitch ." <redmine@...>

Feature #841: Object#self

13 messages 2008/12/09

[#37513] Current status of 1.9.1 RC1's issues — "Yugui (Yuki Sonoda)" <yugui@...>

Hi, folks

14 messages 2008/12/20
[#37516] Re: Current status of 1.9.1 RC1's issues — Masatoshi SEKI <m_seki@...> 2008/12/20

咳といいます。

[#37576] [BUG:trunk] encoding for stdio's — "Yugui (Yuki Sonoda)" <yugui@...>

Yuguiです。

11 messages 2008/12/24

[ruby-dev:37592] Re: [Bug: trunk] module_function中のsuperでSystemStackError

From: SASADA Koichi <ko1@...>
Date: 2008-12-25 04:14:15 UTC
List: ruby-dev #37592
 ささだです.

 見つからない場合は Object を見に行くようなので,rb_cObject を返すよう
にしてみました.

Index: vm_insnhelper.c
===================================================================
--- vm_insnhelper.c	(リビジョン 20980)
+++ vm_insnhelper.c	(作業コピー)
@@ -1172,20 +1172,24 @@ vm_method_search(VALUE id, VALUE klass,
 static inline VALUE
 vm_search_normal_superclass(VALUE klass, VALUE recv)
 {
+    VALUE sk = 0;
+
     if (BUILTIN_TYPE(klass) == T_CLASS) {
-	klass = RCLASS_SUPER(klass);
+	sk = RCLASS_SUPER(klass);
     }
     else if (BUILTIN_TYPE(klass) == T_MODULE) {
 	VALUE k = CLASS_OF(recv);
 	while (k) {
 	    if (BUILTIN_TYPE(k) == T_ICLASS && RBASIC(k)->klass == klass) {
-		klass = RCLASS_SUPER(k);
+		sk = RCLASS_SUPER(k);
 		break;
 	    }
 	    k = RCLASS_SUPER(k);
 	}
+	sk = rb_cObject;
     }
-    return klass;
+
+    return sk;
 }

 static void

-- 
// SASADA Koichi at atdot dot net

In This Thread