<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/class.c, branch v2_1_7</title>
<subtitle>The Ruby Programming Language</subtitle>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/'/>
<entry>
<title>merge revision(s) 49875: [Backport #10946]</title>
<updated>2015-04-13T07:52:40+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-04-13T07:52:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=4f0e238f2854a9f3e5a1f3cbb0c8d32e66dc15d8'/>
<id>4f0e238f2854a9f3e5a1f3cbb0c8d32e66dc15d8</id>
<content type='text'>
	* class.c (rb_prepend_module): need a WB for klass -&gt; origin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* class.c (rb_prepend_module): need a WB for klass -&gt; origin.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50285 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r49685,r49687: [Backport #10885]</title>
<updated>2015-03-17T17:34:01+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-03-17T17:34:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=585287338ed2eb6f1443d838911632eff243a998'/>
<id>585287338ed2eb6f1443d838911632eff243a998</id>
<content type='text'>
	* vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements
	  of orignal crefs. It fixes segmentation fault when calling
	  refined method in duplicate module. [ruby-dev:48878] [Bug #10885]

	* vm_core.h, class.c: change accordingly.

	* test/ruby/test_refinement.rb: add a test for above.
	  of original crefs. It fixes segmentation fault when calling


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (rb_vm_rewrite_cref_stack): copy nd_refinements
	  of orignal crefs. It fixes segmentation fault when calling
	  refined method in duplicate module. [ruby-dev:48878] [Bug #10885]

	* vm_core.h, class.c: change accordingly.

	* test/ruby/test_refinement.rb: add a test for above.
	  of original crefs. It fixes segmentation fault when calling


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49995 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r49222,r49480,r49493: [Backport #10765]</title>
<updated>2015-03-17T16:12:28+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-03-17T16:12:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c4b21f736ebb339fc46760f800851a7eed444c47'/>
<id>c4b21f736ebb339fc46760f800851a7eed444c47</id>
<content type='text'>
	method.h: UNDEFINED_REFINED_METHOD_P

	* method.h (UNDEFINED_REFINED_METHOD_P): macro to tell if refined
  original method is defined.
	* 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]

	* class.c (method_entry_i, class_instance_method_list,
	  rb_obj_singleton_methods): should not include methods of
	  superclasses if recur is false. [ruby-dev:48854] [Bug #10826]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	method.h: UNDEFINED_REFINED_METHOD_P

	* method.h (UNDEFINED_REFINED_METHOD_P): macro to tell if refined
  original method is defined.
	* 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]

	* class.c (method_entry_i, class_instance_method_list,
	  rb_obj_singleton_methods): should not include methods of
	  superclasses if recur is false. [ruby-dev:48854] [Bug #10826]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49992 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r48102: [Backport #10413]</title>
<updated>2014-10-25T18:29:00+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-10-25T18:29:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c4e838d011ac61ad30b2fa7c568caa11b34ee958'/>
<id>c4e838d011ac61ad30b2fa7c568caa11b34ee958</id>
<content type='text'>
	* class.c (unknown_keyword_error): delete expected keywords
	  directly from raw table, so that the given block is not called.
	  [ruby-core:65837] [Bug #10413]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@48137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* class.c (unknown_keyword_error): delete expected keywords
	  directly from raw table, so that the given block is not called.
	  [ruby-core:65837] [Bug #10413]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@48137 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45874: [Backport #9813]</title>
<updated>2014-06-22T17:52:26+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-06-22T17:52:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9f982bd59d6e3e5e4c2c5ca20bdef79df4f8b5c0'/>
<id>9f982bd59d6e3e5e4c2c5ca20bdef79df4f8b5c0</id>
<content type='text'>
	* class.c (rb_mod_init_copy): always clear instance variable,
	  constant and method tables first, regardless the source tables.
	  [ruby-dev:48182] [Bug #9813]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* class.c (rb_mod_init_copy): always clear instance variable,
	  constant and method tables first, regardless the source tables.
	  [ruby-dev:48182] [Bug #9813]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46498 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r45302: [Backport #9616]</title>
<updated>2014-06-02T15:48:24+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-06-02T15:48:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=16318094451bdcc3964cbdd3774f4d466e20303b'/>
<id>16318094451bdcc3964cbdd3774f4d466e20303b</id>
<content type='text'>
	* class.c (rb_class_subclass_add): use xmalloc

	* class.c (rb_module_add_to_subclasses_list): ditto

	* class.c (rb_class_remove_from_super_subclasses): use xfree

	* class.c (rb_class_remove_from_module_subclasses): ditto
	  [Bug #9616]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* class.c (rb_class_subclass_add): use xmalloc

	* class.c (rb_module_add_to_subclasses_list): ditto

	* class.c (rb_class_remove_from_super_subclasses): use xfree

	* class.c (rb_class_remove_from_module_subclasses): ditto
	  [Bug #9616]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46319 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 45076: [Backport #9535]</title>
<updated>2014-02-22T09:53:35+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T09:53:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=776b8b1fd1932221621b85e0a3176cc69ebb0647'/>
<id>776b8b1fd1932221621b85e0a3176cc69ebb0647</id>
<content type='text'>
	* class.c (rb_mod_init_copy): do nothing if copying self.
	  [ruby-dev:47989] [Bug #9535]

	* hash.c (rb_hash_initialize_copy): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* class.c (rb_mod_init_copy): do nothing if copying self.
	  [ruby-dev:47989] [Bug #9535]

	* hash.c (rb_hash_initialize_copy): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45128 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* include/ruby/ruby.h: rename OBJ_WRITE and OBJ_WRITTEN into</title>
<updated>2013-12-20T08:07:47+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-20T08:07:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c702005a7bbb807cab666537b5ef1877c14c40ba'/>
<id>c702005a7bbb807cab666537b5ef1877c14c40ba</id>
<content type='text'>
  RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
  proc.c, process.c, re.c, string.c, variable.c, vm.c,
  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
  vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  RB_OBJ_WRITE and RB_OBJ_WRITTEN.
* array.c, class.c, compile.c, hash.c, internal.h, iseq.c,
  proc.c, process.c, re.c, string.c, variable.c, vm.c,
  vm_eval.c, vm_insnhelper.c, vm_insnhelper.h,
  vm_method.c: catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44299 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>class.c: fix option hash</title>
<updated>2013-12-16T10:25:21+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-16T10:25:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c5601931c2fa27cf0a38df028654c67163eeb528'/>
<id>c5601931c2fa27cf0a38df028654c67163eeb528</id>
<content type='text'>
* class.c (rb_scan_args): if no keywords is given return nil as
  the option hash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* class.c (rb_scan_args): if no keywords is given return nil as
  the option hash.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>object.c: use RCLASS_M_TBL_WRAPPER for equality checks</title>
<updated>2013-12-12T23:19:02+00:00</updated>
<author>
<name>tmm1</name>
<email>tmm1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-12T23:19:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c2dcb947aaf60421ca4035298059a029a0a24c26'/>
<id>c2dcb947aaf60421ca4035298059a029a0a24c26</id>
<content type='text'>
* class.c (include_modules_at): use RCLASS_M_TBL_WRAPPER for
  equality checks. this avoids an unnecessary deference inside a tight
  loop, fixing a performance regression from r43973.
* object.c (rb_obj_is_kind_of): ditto.
* object.c (rb_class_inherited_p): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* class.c (include_modules_at): use RCLASS_M_TBL_WRAPPER for
  equality checks. this avoids an unnecessary deference inside a tight
  loop, fixing a performance regression from r43973.
* object.c (rb_obj_is_kind_of): ditto.
* object.c (rb_class_inherited_p): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
</feed>
