<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/vm_method.c, 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) 44175,44179: [Backport #9236]</title>
<updated>2013-12-22T14:33:11+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-22T14:33:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f0f3821be7507a96e613e6d8e7e675eada78a892'/>
<id>f0f3821be7507a96e613e6d8e7e675eada78a892</id>
<content type='text'>
	* proc.c (method_owner): return the class where alias is defined, not
	  the class original method is defined.

	* vm_method.c (rb_method_entry_make, rb_alias): store the originally
	  defined class in me.  [Bug #7993] [Bug #7842] [Bug #9236]

	* vm_method.c (rb_method_entry_get_without_cache): cache included
	  module but not iclass.

	* proc.c (mnew_from_me): achieve the original defined_class from
	  prepended iclass, to fix inherited owner.

	* proc.c (method_owner): return the defined class, but not the
	  class which the method object is created from.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* proc.c (method_owner): return the class where alias is defined, not
	  the class original method is defined.

	* vm_method.c (rb_method_entry_make, rb_alias): store the originally
	  defined class in me.  [Bug #7993] [Bug #7842] [Bug #9236]

	* vm_method.c (rb_method_entry_get_without_cache): cache included
	  module but not iclass.

	* proc.c (mnew_from_me): achieve the original defined_class from
	  prepended iclass, to fix inherited owner.

	* proc.c (method_owner): return the defined class, but not the
	  class which the method object is created from.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44345 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 42902:</title>
<updated>2013-11-11T16:34:16+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-11-11T16:34:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=52301063d4e81d292cb180b7fe99db8e38304c61'/>
<id>52301063d4e81d292cb180b7fe99db8e38304c61</id>
<content type='text'>
	vm_method.c: constify

	* vm_method.c (rb_resolve_refined_method): constify.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43650 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	vm_method.c: constify

	* vm_method.c (rb_resolve_refined_method): constify.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@43650 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) 40346: [Backport #8284]</title>
<updated>2013-04-23T14:32:49+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-23T14:32:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=c967493b653c9af32f9850876f4ff145add33d77'/>
<id>c967493b653c9af32f9850876f4ff145add33d77</id>
<content type='text'>
	* vm_method.c (rb_mod_public_method): fix visibility on anonymous
	  module. set visibility of singleton method, not method in base
	  class.  [ruby-core:54404] [Bug #8284]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_method.c (rb_mod_public_method): fix visibility on anonymous
	  module. set visibility of singleton method, not method in base
	  class.  [ruby-core:54404] [Bug #8284]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40427 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39742,39743: [Backport #8005]</title>
<updated>2013-04-11T17:19:28+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-11T17:19:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=047b553920b55fa5efbabd5f8a31b1a8bf829f45'/>
<id>047b553920b55fa5efbabd5f8a31b1a8bf829f45</id>
<content type='text'>
	assertions.rb: private flag

	* lib/test/unit/assertions.rb (assert_respond_to): accept optional
  include-private flag.
	* vm_method.c (rb_export_method): directly override the flag of method
	  defined in prepending class too, not adding zsuper entry.
	  [ruby-core:53106] [Bug #8005]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	assertions.rb: private flag

	* lib/test/unit/assertions.rb (assert_respond_to): accept optional
  include-private flag.
	* vm_method.c (rb_export_method): directly override the flag of method
	  defined in prepending class too, not adding zsuper entry.
	  [ruby-core:53106] [Bug #8005]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40252 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39234,39235: [Backport #7843]</title>
<updated>2013-03-02T17:17:59+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-03-02T17:17:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=362f70c3cfb861c543ebb99f4ee816ad02dd3785'/>
<id>362f70c3cfb861c543ebb99f4ee816ad02dd3785</id>
<content type='text'>
	* vm_method.c: call method_removed hook on called class, not on
	  prepending iclass.
	  prepending iclass.  [ruby-core:52207] [Bug #7843]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_method.c: call method_removed hook on called class, not on
	  prepending iclass.
	  prepending iclass.  [ruby-core:52207] [Bug #7843]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39565 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_method.c: show respond_to location</title>
<updated>2013-02-06T04:35:23+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-06T04:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=6eb76ba664a7ea1dc2b6804a0f2280e1f7531c53'/>
<id>6eb76ba664a7ea1dc2b6804a0f2280e1f7531c53</id>
<content type='text'>
* proc.c (rb_method_entry_location, rb_{mod,obj}_method_location): new
  functions to obtain source location of method definition.
* vm_method.c (rb_obj_respond_to): show the location of old style
  respond_to? method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* proc.c (rb_method_entry_location, rb_{mod,obj}_method_location): new
  functions to obtain source location of method definition.
* vm_method.c (rb_obj_respond_to): show the location of old style
  respond_to? method.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39089 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>vm_method.c: drop include_all flag</title>
<updated>2013-02-05T07:25:27+00:00</updated>
<author>
<name>nobu</name>
<email>nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-05T07:25:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=a106b310e5bbe678022b127b9d32bb0a55708002'/>
<id>a106b310e5bbe678022b127b9d32bb0a55708002</id>
<content type='text'>
* vm_method.c (rb_obj_respond_to): drop optional include_all flag if
  respond_to? method is defined in old style.  [Bug #7722]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* vm_method.c (rb_obj_respond_to): drop optional include_all flag if
  respond_to? method is defined in old style.  [Bug #7722]


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