[#62297] Re: [ruby-cvs:52906] nari:r45760 (trunk): * gc.c (gc_after_sweep): suppress unnecessary expanding heap. — Eric Wong <normalperson@...>
[email protected] wrote:
7 messages
2014/05/02
[#62307] Re: [ruby-cvs:52906] nari:r45760 (trunk): * gc.c (gc_after_sweep): suppress unnecessary expanding heap.
— SASADA Koichi <ko1@...>
2014/05/03
(2014/05/03 4:41), Eric Wong wrote:
[#62402] Re: [ruby-cvs:52906] nari:r45760 (trunk): * gc.c (gc_after_sweep): suppress unnecessary expanding heap.
— Eric Wong <normalperson@...>
2014/05/05
SASADA Koichi <[email protected]> wrote:
[#62523] [ruby-trunk - Feature #9632] [PATCH 0/2] speedup IO#close with linked-list from ccan — ko1@...
Issue #9632 has been updated by Koichi Sasada.
3 messages
2014/05/11
[#62556] doxygen (Re: Re: [ruby-trunk - Feature #9632] [PATCH 0/2] speedup IO#close with linked-list from ccan) — Tanaka Akira <akr@...>
2014-05-11 8:50 GMT+09:00 Eric Wong <[email protected]>:
3 messages
2014/05/13
[#62727] [RFC] vm_method.c (rb_method_entry_make): avoid freed me in m_tbl — Eric Wong <normalperson@...>
rb_unlink_method_entry may cause old_me to be swept before the new
7 messages
2014/05/24
[#63039] Re: [RFC] vm_method.c (rb_method_entry_make): avoid freed me in m_tbl
— SASADA Koichi <ko1@...>
2014/06/10
Hi,
[#63077] Re: [RFC] vm_method.c (rb_method_entry_make): avoid freed me in m_tbl
— Eric Wong <normalperson@...>
2014/06/10
SASADA Koichi <[email protected]> wrote:
[#63086] Re: [RFC] vm_method.c (rb_method_entry_make): avoid freed me in m_tbl
— SASADA Koichi <ko1@...>
2014/06/11
(2014/06/11 4:47), Eric Wong wrote:
[#63087] Re: [RFC] vm_method.c (rb_method_entry_make): avoid freed me in m_tbl
— Eric Wong <normalperson@...>
2014/06/11
SASADA Koichi <[email protected]> wrote:
[#62862] [RFC] README.EXT: document rb_gc_register_mark_object — Eric Wong <normalperson@...>
Any comment on officially supporting this as part of the C API?
5 messages
2014/05/30
[ruby-core:62417] [ruby-trunk - Bug #5328] [Rejected] Splat args are treated wrongly in instance_exec and class_exec
From:
akr@...
Date:
2014-05-06 13:05:49 UTC
List:
ruby-core #62417
Issue #5328 has been updated by Akira Tanaka.
Status changed from Assigned to Rejected
Ruby 1.9 changes block arguments behavior.
Non-lambda block arguments always expands single array.
(Ruby 1.8 expands sometimes.)
If you needs block arguments behaving as methods, use lambda.
```
% cat splat_args
def foo(arg_1, *arg_2)
puts "Arguments received by method:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end
foo([1, 2, 3])
puts
Class.class_exec([1, 2, 3]) do |arg_1, *arg_2|
puts "Arguments received by class_exec:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end
puts
instance_exec([1, 2, 3]) do |arg_1, *arg_2|
puts "Arguments received by instance_exec:"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end
puts
Class.class_exec([1, 2, 3], &lambda do |arg_1, *arg_2|
puts "Arguments received by class_exec(lambda):"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end)
puts
instance_exec([1, 2, 3], &lambda do |arg_1, *arg_2|
puts "Arguments received by instance_exec(lambda):"
puts "arg_1: #{arg_1.inspect}"
puts "arg_2: #{arg_2.inspect}"
end)
% ruby-1.9.1p0 splat_args
Arguments received by method:
arg_1: [1, 2, 3]
arg_2: []
Arguments received by class_exec:
arg_1: 1
arg_2: [2, 3]
Arguments received by instance_exec:
arg_1: 1
arg_2: [2, 3]
Arguments received by class_exec(lambda):
arg_1: [1, 2, 3]
arg_2: []
Arguments received by instance_exec(lambda):
arg_1: [1, 2, 3]
arg_2: []
```
----------------------------------------
Bug #5328: Splat args are treated wrongly in instance_exec and class_exec
https://bugs.ruby-lang.org/issues/5328#change-46567
* Author: Myron Marston
* Status: Rejected
* Priority: Normal
* Assignee: Akira Tanaka
* Category:
* Target version:
* ruby -v: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin10.8.0]
* Backport:
----------------------------------------
This gist demonstrates the issue:
https://gist.github.com/1218664
On 1.8.7, instance_exec and class_exec treat splat block args the same as method splat args. On 1.9, it is treated differently and this is very unexpected.
--
https://bugs.ruby-lang.org/