<feed xmlns='http://www.w3.org/2005/Atom'>
<title>ruby.git/proc.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) 44455,44458,44510: [Backport #9315]</title>
<updated>2014-01-06T16:35:45+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2014-01-06T16:35:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=968b6238d0bd0ef8e185cd4912587df00ac3c9ef'/>
<id>968b6238d0bd0ef8e185cd4912587df00ac3c9ef</id>
<content type='text'>
	* vm_insnhelper.c (vm_search_super_method): direct superclass of a
	  module is found when super called in a Method object generated a
	  method defined in a module, call method_missing in that case.
	  [ruby-core:59358] [Bug #9315]

	* proc.c (mnew_from_me): keep iclass as-is, to make inheritance
	  chain consistent.  [ruby-core:59358] [Bug #9315]

	* proc.c (method_owner): return the original defined_class from
	  prepended iclass, instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* vm_insnhelper.c (vm_search_super_method): direct superclass of a
	  module is found when super called in a Method object generated a
	  method defined in a module, call method_missing in that case.
	  [ruby-core:59358] [Bug #9315]

	* proc.c (mnew_from_me): keep iclass as-is, to make inheritance
	  chain consistent.  [ruby-core:59358] [Bug #9315]

	* proc.c (method_owner): return the original defined_class from
	  prepended iclass, instead.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44511 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 44198: [Backport #9236]</title>
<updated>2013-12-23T13:57:30+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-12-23T13:57:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=aadf98f11f6d8c429f91c5ddebdc4dfadeed9395'/>
<id>aadf98f11f6d8c429f91c5ddebdc4dfadeed9395</id>
<content type='text'>
	* proc.c (mnew_from_me): method by respond_to_missing? should be
	  owned by the original class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* proc.c (mnew_from_me): method by respond_to_missing? should be
	  owned by the original class.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44366 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) 40525,40526,40528,40530: [Backport #8345]</title>
<updated>2013-06-18T19:18:15+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-06-18T19:18:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=12f4488c582a4f80bfe971754dbf7da7df2cea95'/>
<id>12f4488c582a4f80bfe971754dbf7da7df2cea95</id>
<content type='text'>
	proc.c: remove unnecessary static function

	* proc.c (proc_lambda): remove and use rb_block_lambda directly
  instead.
	* include/ruby/intern.h (rb_block_lambda): add declaration instead of
	  deprecated rb_f_lambda.

	* proc.c (mproc, mlambda): use frozen core methods instead of plain
	  global methods, so that methods cannot be overridden.
	  [ruby-core:54687] [Bug #8345]

	* vm.c (Init_VM): define proc and lambda on the frozen core object.

	* defs/id.def (predefined): add "idProc".

	* proc.c (mnew, mproc, mlambda): use predefined IDs.

	* vm.c (Init_VM): ditto.


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

	* proc.c (proc_lambda): remove and use rb_block_lambda directly
  instead.
	* include/ruby/intern.h (rb_block_lambda): add declaration instead of
	  deprecated rb_f_lambda.

	* proc.c (mproc, mlambda): use frozen core methods instead of plain
	  global methods, so that methods cannot be overridden.
	  [ruby-core:54687] [Bug #8345]

	* vm.c (Init_VM): define proc and lambda on the frozen core object.

	* defs/id.def (predefined): add "idProc".

	* proc.c (mnew, mproc, mlambda): use predefined IDs.

	* vm.c (Init_VM): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 41342,41359,41361: [Backport #8341]</title>
<updated>2013-06-18T18:22:16+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-06-18T18:22:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=ab4e82fedf32b722122d6a58be2b02e13f670de3'/>
<id>ab4e82fedf32b722122d6a58be2b02e13f670de3</id>
<content type='text'>
	test/ruby/test_proc.rb: tests for [Bug #8341]
	* include/ruby/intern.h, proc.c (rb_method_call_with_block):
	  new function to invoke a Method object with a block passed
	  as an argument.

	* proc.c (bmcall): use the above function to avoid a block sharing.
	  [ruby-core:54626] [Bug #8341]

	* test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls):
	  run related tests.

	* test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc):
	  run test for r41359.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	test/ruby/test_proc.rb: tests for [Bug #8341]
	* include/ruby/intern.h, proc.c (rb_method_call_with_block):
	  new function to invoke a Method object with a block passed
	  as an argument.

	* proc.c (bmcall): use the above function to avoid a block sharing.
	  [ruby-core:54626] [Bug #8341]

	* test/ruby/test_proc.rb (TestProc#test_block_persist_between_calls):
	  run related tests.

	* test/ruby/test_proc.rb (TestProc#test_block_given_method_to_proc):
	  run test for r41359.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@41392 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>merge revision(s) 39905,39919,39925,39945: [Backport #8163]</title>
<updated>2013-04-11T18:47:16+00:00</updated>
<author>
<name>nagachika</name>
<email>nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-04-11T18:47:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=44212576f5b2bfe92f1df31f9b75cb23d6086c64'/>
<id>44212576f5b2bfe92f1df31f9b75cb23d6086c64</id>
<content type='text'>
	* test/ruby/envutil.rb (assert_ruby_status): include stderr output.	  unlinked method entry. [Bug #8100] [ruby-core:53439]

	* proc.c (bm_free): need to clean up the mark flag of a free and


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	* test/ruby/envutil.rb (assert_ruby_status): include stderr output.	  unlinked method entry. [Bug #8100] [ruby-core:53439]

	* proc.c (bm_free): need to clean up the mark flag of a free and


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@40254 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* backport r39275 from trunk. [ruby-dev:46994] [Bug #7774]</title>
<updated>2013-02-18T23:12:25+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-18T23:12:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=885f2da83b8a47a1833cbcfb78fe345ff950341d'/>
<id>885f2da83b8a47a1833cbcfb78fe345ff950341d</id>
<content type='text'>
* proc.c (rb_binding_new_with_cfp): create binding object even if
  the frame is IFUNC. But return a ruby-level binding to keep
  compatibility.
  This patch fix degradation introduced from r39067.
  [Bug #7774] [ruby-dev:46960]
* test/ruby/test_settracefunc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39305 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* proc.c (rb_binding_new_with_cfp): create binding object even if
  the frame is IFUNC. But return a ruby-level binding to keep
  compatibility.
  This patch fix degradation introduced from r39067.
  [Bug #7774] [ruby-dev:46960]
* test/ruby/test_settracefunc.rb: add a test.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@39305 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>* proc.c (rb_binding_new_with_cfp): permit to create binding object</title>
<updated>2013-02-05T06:04:59+00:00</updated>
<author>
<name>ko1</name>
<email>ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-05T06:04:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=88101695ab516ce30f930513150c1247ebc6c36d'/>
<id>88101695ab516ce30f930513150c1247ebc6c36d</id>
<content type='text'>
  of IFUNC frame.
  When `rb_binding_new_with_cfp()' is called, VM finds out the first
  normal (has iseq) frame and create a binding object of this frame
  and create Env objects. `ep's of related frames are updated
  (`ep's point Env object managed spaces).
  However, `ep' of skipped IFUNC frame was not updated and
  old invalid `ep' was remained. It causes serious problems.
  To solve this issue, permit IFUNC to create binding.
  (Maybe there is no problem on it)
  [ruby-dev:46908] [ruby-trunk - Bug #7774]
* test/ruby/test_settracefunc.rb: add a test.
* vm.c (rb_vm_get_binding_creatable_next_cfp), vm_core.h: added.
* vm_trace.c: fix to use `rb_vm_get_binding_creatable_next_cfp()'.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
  of IFUNC frame.
  When `rb_binding_new_with_cfp()' is called, VM finds out the first
  normal (has iseq) frame and create a binding object of this frame
  and create Env objects. `ep's of related frames are updated
  (`ep's point Env object managed spaces).
  However, `ep' of skipped IFUNC frame was not updated and
  old invalid `ep' was remained. It causes serious problems.
  To solve this issue, permit IFUNC to create binding.
  (Maybe there is no problem on it)
  [ruby-dev:46908] [ruby-trunk - Bug #7774]
* test/ruby/test_settracefunc.rb: add a test.
* vm.c (rb_vm_get_binding_creatable_next_cfp), vm_core.h: added.
* vm_trace.c: fix to use `rb_vm_get_binding_creatable_next_cfp()'.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@39067 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
</pre>
</div>
</content>
</entry>
<entry>
<title>* proc.c (proc_curry): Fix arity check [Bug #5747]</title>
<updated>2013-02-01T22:46:32+00:00</updated>
<author>
<name>marcandre</name>
<email>marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e</email>
</author>
<published>2013-02-01T22:46:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.ruby-lang.org/ruby.git/commit/?id=f810d1804a7e1c2dbdb2d4d6c0406674a1912ea3'/>
<id>f810d1804a7e1c2dbdb2d4d6c0406674a1912ea3</id>
<content type='text'>
* test/ruby/test_proc.rb: Test for above

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

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