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

ruby-changes:24180

From: nobu <ko1@a...>
Date: Wed, 27 Jun 2012 13:11:28 +0900 (JST)
Subject: [ruby-changes:24180] nobu:r36231 (trunk): NOEX_NOREDEF

nobu	2012-06-27 13:10:12 +0900 (Wed, 27 Jun 2012)

  New Revision: 36231

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

  Log:
    NOEX_NOREDEF
    
    * vm_method.c (rb_method_entry_make): use NOEX_NOREDEF itself for the
      condition.

  Modified files:
    trunk/vm_method.c

Index: vm_method.c
===================================================================
--- vm_method.c	(revision 36230)
+++ vm_method.c	(revision 36231)
@@ -6,7 +6,10 @@
 #define CACHE_MASK 0x7ff
 #define EXPR1(c,m) ((((c)>>3)^(m))&CACHE_MASK)
 
+#define NOEX_NOREDEF 0
+#ifndef NOEX_NOREDEF
 #define NOEX_NOREDEF NOEX_RESPONDS
+#endif
 
 static void rb_vm_check_redefinition_opt_method(const rb_method_entry_t *me, VALUE klass);
 
@@ -199,9 +202,10 @@
 	rb_method_definition_t *old_def = old_me->def;
 
 	if (rb_method_definition_eq(old_def, def)) return old_me;
-#if 0
+#if NOEX_NOREDEF
 	if (old_me->flag & NOEX_NOREDEF) {
-	    rb_raise(rb_eTypeError, "cannot redefine %s#%s", rb_class2name(klass), rb_id2name(mid));
+	    rb_raise(rb_eTypeError, "cannot redefine %"PRIsVALUE"#%"PRIsVALUE,
+		     klass, rb_id2str(mid));
 	}
 #endif
 	rb_vm_check_redefinition_opt_method(old_me, klass);

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

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