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

ruby-changes:37567

From: naruse <ko1@a...>
Date: Thu, 19 Feb 2015 17:05:07 +0900 (JST)
Subject: [ruby-changes:37567] naruse:r49648 (ruby_2_2): merge revision(s) 49222:

naruse	2015-02-19 17:04:54 +0900 (Thu, 19 Feb 2015)

  New Revision: 49648

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

  Log:
    merge revision(s) 49222:
    
    method.h: UNDEFINED_REFINED_METHOD_P
    
    * method.h (UNDEFINED_REFINED_METHOD_P): macro to tell if refined
      original method is defined.

  Modified directories:
    branches/ruby_2_2/
  Modified files:
    branches/ruby_2_2/ChangeLog
    branches/ruby_2_2/method.h
    branches/ruby_2_2/version.h
    branches/ruby_2_2/vm_method.c
Index: ruby_2_2/method.h
===================================================================
--- ruby_2_2/method.h	(revision 49647)
+++ ruby_2_2/method.h	(revision 49648)
@@ -108,6 +108,9 @@ struct unlinked_method_entry_list_entry https://github.com/ruby/ruby/blob/trunk/ruby_2_2/method.h#L108
 };
 
 #define UNDEFINED_METHOD_ENTRY_P(me) (!(me) || !(me)->def || (me)->def->type == VM_METHOD_TYPE_UNDEF)
+#define UNDEFINED_REFINED_METHOD_P(def) \
+    ((def)->type == VM_METHOD_TYPE_REFINED && \
+     UNDEFINED_METHOD_ENTRY_P((def)->body.orig_me))
 
 void rb_add_method_cfunc(VALUE klass, ID mid, VALUE (*func)(ANYARGS), int argc, rb_method_flag_t noex);
 rb_method_entry_t *rb_add_method(VALUE klass, ID mid, rb_method_type_t type, void *option, rb_method_flag_t noex);
Index: ruby_2_2/ChangeLog
===================================================================
--- ruby_2_2/ChangeLog	(revision 49647)
+++ ruby_2_2/ChangeLog	(revision 49648)
@@ -9,11 +9,11 @@ Thu Feb 19 16:14:04 2015  Shugo Maeda  < https://github.com/ruby/ruby/blob/trunk/ruby_2_2/ChangeLog#L9
 	* vm_method.c (remove_method): When remove refined
 	  method, raise a NameError if the method is not
 	  defined in refined class.
-	
+
 	  But if the method is defined in refined class,
 	  it should keep refined method and remove original
 	  method.
-	  
+
 	  Patch by Seiei Higa. [ruby-core:67722] [Bug #10765]
 
 Thu Feb 19 16:07:03 2015  Seiei Higa  <hanachin@g...>
Index: ruby_2_2/vm_method.c
===================================================================
--- ruby_2_2/vm_method.c	(revision 49647)
+++ ruby_2_2/vm_method.c	(revision 49648)
@@ -837,8 +837,7 @@ rb_export_method(VALUE klass, ID name, r https://github.com/ruby/ruby/blob/trunk/ruby_2_2/vm_method.c#L837
     }
 
     if (UNDEFINED_METHOD_ENTRY_P(me) ||
-	(me->def->type == VM_METHOD_TYPE_REFINED &&
-	 UNDEFINED_METHOD_ENTRY_P(me->def->body.orig_me))) {
+	UNDEFINED_REFINED_METHOD_P(me->def)) {
 	rb_print_undef(klass, name, 0);
     }
 
@@ -937,8 +936,7 @@ rb_undef(VALUE klass, ID id) https://github.com/ruby/ruby/blob/trunk/ruby_2_2/vm_method.c#L936
     me = search_method(klass, id, 0);
 
     if (UNDEFINED_METHOD_ENTRY_P(me) ||
-	(me->def->type == VM_METHOD_TYPE_REFINED &&
-	 UNDEFINED_METHOD_ENTRY_P(me->def->body.orig_me))) {
+	UNDEFINED_REFINED_METHOD_P(me->def)) {
 	const char *s0 = " class";
 	VALUE c = klass;
 
@@ -1285,8 +1283,7 @@ rb_alias(VALUE klass, ID name, ID def) https://github.com/ruby/ruby/blob/trunk/ruby_2_2/vm_method.c#L1283
     orig_me = search_method(klass, def, &defined_class);
 
     if (UNDEFINED_METHOD_ENTRY_P(orig_me) ||
-	(orig_me->def->type == VM_METHOD_TYPE_REFINED &&
-	 UNDEFINED_METHOD_ENTRY_P(orig_me->def->body.orig_me))) {
+	UNDEFINED_REFINED_METHOD_P(orig_me->def)) {
 	if ((!RB_TYPE_P(klass, T_MODULE)) ||
 	    (orig_me = search_method(rb_cObject, def, 0),
 	     UNDEFINED_METHOD_ENTRY_P(orig_me))) {
Index: ruby_2_2/version.h
===================================================================
--- ruby_2_2/version.h	(revision 49647)
+++ ruby_2_2/version.h	(revision 49648)
@@ -1,6 +1,6 @@ https://github.com/ruby/ruby/blob/trunk/ruby_2_2/version.h#L1
 #define RUBY_VERSION "2.2.0"
 #define RUBY_RELEASE_DATE "2015-02-19"
-#define RUBY_PATCHLEVEL 58
+#define RUBY_PATCHLEVEL 59
 
 #define RUBY_RELEASE_YEAR 2015
 #define RUBY_RELEASE_MONTH 2

Property changes on: ruby_2_2
___________________________________________________________________
Modified: svn:mergeinfo
   Merged /trunk:r49222,49481


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

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