<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_refinement.rb, 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) 50430,50440: [Backport #11117]</title>
<updated>2015-07-03T08:55:40+00:00</updated>
<author>
<name>usa</name>
<email>usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-07-03T08:55:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=1bd36e36e09f5bccb5110d197e8494d0d7e19000'/>
<id>1bd36e36e09f5bccb5110d197e8494d0d7e19000</id>
<content type='text'>
	* vm_eval.c (rb_method_call_status): undefined refined method is
	  not callable unless using.  [ruby-core:69064] [Bug #11117]

	* vm_eval.c (rb_method_call_status): resolve refined method entry
	  to check if undefined.  [ruby-core:69064] [Bug #11117]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@51119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_eval.c (rb_method_call_status): undefined refined method is
	  not callable unless using.  [ruby-core:69064] [Bug #11117]

	* vm_eval.c (rb_method_call_status): resolve refined method entry
	  to check if undefined.  [ruby-core:69064] [Bug #11117]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@51119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r49184: [Backport #10707]</title>
<updated>2015-03-30T15:45:35+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-03-30T15:45:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ed22c21a8f4e0c98045efb6de245fba79ec7e961'/>
<id>ed22c21a8f4e0c98045efb6de245fba79ec7e961</id>
<content type='text'>
	* vm_method.c (rb_method_entry): if no super class, no original
	  method entry.  [ruby-core:67389] [Bug #10707]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_method.c (rb_method_entry): if no super class, no original
	  method entry.  [ruby-core:67389] [Bug #10707]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@50131 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) r49322: [Backport #10753]</title>
<updated>2015-03-17T15:55:50+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-03-17T15:55:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=5d3b8d0d5491096a10ae332db759b01c89a10f9d'/>
<id>5d3b8d0d5491096a10ae332db759b01c89a10f9d</id>
<content type='text'>
	* vm_method.c (check_definition): Module#public_method_defined?,
	  Module#private_method_defined?, Module#protected_method_defined?
	  should not use refinements. [ruby-core:67656] [Bug #10753]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_method.c (check_definition): Module#public_method_defined?,
	  Module#private_method_defined?, Module#protected_method_defined?
	  should not use refinements. [ruby-core:67656] [Bug #10753]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49991 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r49221: [Backport #10731]</title>
<updated>2015-02-28T18:13:42+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-02-28T18:13:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f50f70259ded4e1be9c197dd04d7da9518e8ca68'/>
<id>f50f70259ded4e1be9c197dd04d7da9518e8ca68</id>
<content type='text'>
	* vm_method.c (rb_alias): raise a NameError when creating alias to
	  a refined method if the original method of the refined method is
	  not defined.  [ruby-core:67523] [Bug #10731]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_method.c (rb_alias): raise a NameError when creating alias to
	  a refined method if the original method of the refined method is
	  not defined.  [ruby-core:67523] [Bug #10731]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49787 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r49182,r49183: [Backport #10706]</title>
<updated>2015-02-28T17:28:57+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2015-02-28T17:28:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c839def7cc34f858777b15d2d84cb45b585d9699'/>
<id>c839def7cc34f858777b15d2d84cb45b585d9699</id>
<content type='text'>
	vm_method.c: fix change refined new method visibility
	* vm_method.c (rb_export_method): bail out if the original method
	  is undefined when the method is refined.
	  [ruby-core:67387] [Bug #10706]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	vm_method.c: fix change refined new method visibility
	* vm_method.c (rb_export_method): bail out if the original method
	  is undefined when the method is refined.
	  [ruby-core:67387] [Bug #10706]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@49786 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) r47037: [Backport #10106]</title>
<updated>2014-08-22T17:49:32+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-08-22T17:49:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=80aa5ce577f91c491d16332a07a7f32001a72137'/>
<id>80aa5ce577f91c491d16332a07a7f32001a72137</id>
<content type='text'>
	* vm_insnhelper.c (vm_call_method): unusable super class should cause
	  method missing when BasicObject is refined but not been using.
	  [ruby-core:64166] [Bug #10106]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (vm_call_method): unusable super class should cause
	  method missing when BasicObject is refined but not been using.
	  [ruby-core:64166] [Bug #10106]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47256 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44931: [Backport #9452]</title>
<updated>2014-02-22T05:05:22+00:00</updated>
<author>
<name>naruse</name>
<email>naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-22T05:05:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=669e9ac5ff2593b175bd6b0b30d482d3e2fbced3'/>
<id>669e9ac5ff2593b175bd6b0b30d482d3e2fbced3</id>
<content type='text'>
	* vm_insnhelper.c (vm_call_method): should check ci-&gt;me-&gt;flag of
	  a refining method in case the method is private.
	  [ruby-core:60111] [Bug #9452]

	* vm_method.c (make_method_entry_refined): set me-&gt;flag of a refined
	  method entry to NOEX_PUBLIC in case the original method is private
	  and it is refined as a public method.  The original flag is stored
	  in me-&gt;def-&gt;body.orig_me, so it's OK to make a refined method
	  entry public.  [ruby-core:60111] [Bug #9452]

	* test/ruby/test_refinement.rb: related tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (vm_call_method): should check ci-&gt;me-&gt;flag of
	  a refining method in case the method is private.
	  [ruby-core:60111] [Bug #9452]

	* vm_method.c (make_method_entry_refined): set me-&gt;flag of a refined
	  method entry to NOEX_PUBLIC in case the original method is private
	  and it is refined as a public method.  The original flag is stored
	  in me-&gt;def-&gt;body.orig_me, so it's OK to make a refined method
	  entry public.  [ruby-core:60111] [Bug #9452]

	* test/ruby/test_refinement.rb: related tests.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix typo in tests</title>
<updated>2013-12-20T04:44:09+00:00</updated>
<author>
<name>a_matsuda</name>
<email>a_matsuda@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-20T04:44:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=41c42afddab5173c281fd1b6a8af2f522c540cc8'/>
<id>41c42afddab5173c281fd1b6a8af2f522c540cc8</id>
<content type='text'>
* test/ruby/test_proc.rb:  s/overriden/overridden/
* test/ruby/test_refinement.rb:  ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* test/ruby/test_proc.rb:  s/overriden/overridden/
* test/ruby/test_refinement.rb:  ditto

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