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

ruby-changes:12030

From: akr <ko1@a...>
Date: Tue, 16 Jun 2009 01:52:17 +0900 (JST)
Subject: [ruby-changes:12030] Ruby:r23696 (trunk): * vm_eval.c (rb_call0): refine exception message for hidden objects.

akr	2009-06-16 01:52:00 +0900 (Tue, 16 Jun 2009)

  New Revision: 23696

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

  Log:
    * vm_eval.c (rb_call0): refine exception message for hidden objects.

  Modified files:
    trunk/ChangeLog
    trunk/vm_eval.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 23695)
+++ ChangeLog	(revision 23696)
@@ -1,3 +1,7 @@
+Tue Jun 16 01:50:02 2009  Tanaka Akira  <akr@f...>
+
+	* vm_eval.c (rb_call0): refine exception message for hidden objects.
+
 Mon Jun 15 22:35:31 2009  Tadayoshi Funaba  <tadf@d...>
 
 	* bignum.c (rb_big2db): (-Float::MAX.to_i*2).to_f should return
Index: vm_eval.c
===================================================================
--- vm_eval.c	(revision 23695)
+++ vm_eval.c	(revision 23696)
@@ -187,9 +187,12 @@
     rb_thread_t *th = GET_THREAD();
 
     if (!klass) {
+        const char *adj = "terminated";
+        if (!IMMEDIATE_P(recv) && RBASIC(recv)->flags != 0)
+            adj = "hidden";
 	rb_raise(rb_eNotImpError,
-		 "method `%s' called on terminated object (%p)",
-		 rb_id2name(mid), (void *)recv);
+		 "method `%s' called on %s object (%p)",
+		 rb_id2name(mid), adj, (void *)recv);
     }
     /* is it in the method cache? */
     ent = cache + EXPR1(klass, mid);

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

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