<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/test/ruby/test_refinement.rb, branch v2_0_0_451</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) r44931: [Backport #9452]</title>
<updated>2014-02-15T06:53:01+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-02-15T06:53:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ab530f056c7e45aa711a736790fb448bbdce19e7'/>
<id>ab530f056c7e45aa711a736790fb448bbdce19e7</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_0_0@44967 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_0_0@44967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 43334: [Backport #9030]</title>
<updated>2013-10-17T17:34:22+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-10-17T17:34:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=57b26f83051d13442ffa6269230ea9d5803b6d1b'/>
<id>57b26f83051d13442ffa6269230ea9d5803b6d1b</id>
<content type='text'>
	* vm_insnhelper.c (vm_call_method): set ci-&gt;me to 0 when the
	  original method of a refined method is undef to avoid SEGV.

	* vm_method.c (rb_method_entry_without_refinements): return 0 when
	  the original method of a refined method is undef to avoid SEGV.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (vm_call_method): set ci-&gt;me to 0 when the
	  original method of a refined method is undef to avoid SEGV.

	* vm_method.c (rb_method_entry_without_refinements): return 0 when
	  the original method of a refined method is undef to avoid SEGV.

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


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 43090,43091: [Backport #8966]</title>
<updated>2013-10-04T17:13:11+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-10-04T17:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3cfa0074d9d05e2eb4506fb5222f28fda5a0f6eb'/>
<id>3cfa0074d9d05e2eb4506fb5222f28fda5a0f6eb</id>
<content type='text'>
	* vm_method.c (rb_undef): raise a NameError if the original method
	  of a refined method is not defined. 

	* vm_insnhelper.c (rb_method_entry_eq): added NULL check to avoid SEGV.

	* test/ruby/test_refinement.rb: related test.
	  of a refined method is not defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_method.c (rb_undef): raise a NameError if the original method
	  of a refined method is not defined. 

	* vm_insnhelper.c (rb_method_entry_eq): added NULL check to avoid SEGV.

	* test/ruby/test_refinement.rb: related test.
	  of a refined method is not defined.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43143 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 42903: [Backport #8881]</title>
<updated>2013-09-12T16:08:31+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-09-12T16:08:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b55e9b7bf5d0e44742f52fa78a44c8eeebc7b18e'/>
<id>b55e9b7bf5d0e44742f52fa78a44c8eeebc7b18e</id>
<content type='text'>
	* class.c (method_entry_i): should exclude refined methods from
	  instance method list.  [ruby-core:57080] [Bug #8881]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* class.c (method_entry_i): should exclude refined methods from
	  instance method list.  [ruby-core:57080] [Bug #8881]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 42869: [Backport #8872]</title>
<updated>2013-09-12T15:54:50+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-09-12T15:54:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=3041c43df15bd895c41860930332579b80f7d68e'/>
<id>3041c43df15bd895c41860930332579b80f7d68e</id>
<content type='text'>
	* vm_eval.c (vm_call0): fix prototype, the id parameter should be of
	  type ID, not VALUE

	* vm_insnhelper.c (check_match): the rb_funcall family of functions
	  does not care about refinements. We need to use
	  rb_method_entry_with_refinements instead to call === with
	  refinements. Thanks to Jon Conley for reporting this bug.
	  [ruby-core:57051] [Bug #8872]

	* test/ruby/test_refinement.rb: add test


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_eval.c (vm_call0): fix prototype, the id parameter should be of
	  type ID, not VALUE

	* vm_insnhelper.c (check_match): the rb_funcall family of functions
	  does not care about refinements. We need to use
	  rb_method_entry_with_refinements instead to call === with
	  refinements. Thanks to Jon Conley for reporting this bug.
	  [ruby-core:57051] [Bug #8872]

	* test/ruby/test_refinement.rb: add test


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@42923 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39451: [Backport #7925]</title>
<updated>2013-03-09T14:36:34+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-09T14:36:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=8c7d4383a7d3c5f360e3803b380610cae17cbc26'/>
<id>8c7d4383a7d3c5f360e3803b380610cae17cbc26</id>
<content type='text'>
	* vm_insnhelper.c (vm_call_method): block level control frame does not
	  have method entry, so obtain the method entry from method top-level
	  control frame to be compared with refined method entry.
	  [ruby-core:52750] [Bug #7925]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (vm_call_method): block level control frame does not
	  have method entry, so obtain the method entry from method top-level
	  control frame to be compared with refined method entry.
	  [ruby-core:52750] [Bug #7925]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39672 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* eval.c (Init_eval): enable Refinements by default.</title>
<updated>2013-01-07T11:22:31+00:00</updated>
<author>
<name>shugo</name>
<email>shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-01-07T11:22:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=9cadf0c03906f49f41e4222248c6a48e72bdb82f'/>
<id>9cadf0c03906f49f41e4222248c6a48e72bdb82f</id>
<content type='text'>
  [ruby-core:51286] [Bug #7667]

* eval.c (rb_mod_refine, top_using): show a warning when
  Module#refine or main.using is called at the first time.

* ext/refinement/*: removed the extension library "refinement".

* test/ruby/test_refinement.rb: fix for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  [ruby-core:51286] [Bug #7667]

* eval.c (rb_mod_refine, top_using): show a warning when
  Module#refine or main.using is called at the first time.

* ext/refinement/*: removed the extension library "refinement".

* test/ruby/test_refinement.rb: fix for the above changes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38729 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* remove trailing spaces.</title>
<updated>2012-12-20T01:52:47+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-12-20T01:52:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=30fbc5591da5922f359987bbbb41de7ac6173ae8'/>
<id>30fbc5591da5922f359987bbbb41de7ac6173ae8</id>
<content type='text'>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38483 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* class.c (rb_prepend_module): move refined methods from the origin</title>
<updated>2012-12-12T09:35:50+00:00</updated>
<author>
<name>shugo</name>
<email>shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-12-12T09:35:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=75bed271f0719642f1866bdbbfa3c9940aad9abb'/>
<id>75bed271f0719642f1866bdbbfa3c9940aad9abb</id>
<content type='text'>
  of a class to the class, because refinements should have priority
  over prepended modules.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  of a class to the class, because refinements should have priority
  over prepended modules.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38344 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* eval.c (rb_using_refinement): make the method table of an iclass</title>
<updated>2012-12-11T16:48:21+00:00</updated>
<author>
<name>shugo</name>
<email>shugo@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2012-12-11T16:48:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=b5e9c6cb903aa550713f5f5764964560f98e180f'/>
<id>b5e9c6cb903aa550713f5f5764964560f98e180f</id>
<content type='text'>
  for a refinement that of the refinement, not that of the origin of
  the refinement, which is set by rb_include_class_new().  This
  change is needed to make module prepend into a refinement work
  properly.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@38328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  for a refinement that of the refinement, not that of the origin of
  the refinement, which is set by rb_include_class_new().  This
  change is needed to make module prepend into a refinement work
  properly.

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

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