[#42311] [ruby-trunk - Feature #5958][Open] ThreadGroup#join — Masaki Matsushita <glass.saga@...>
[#42329] [RFC/PATCH] reinit signal_thread_list_lock atfork — Eric Wong <normalperson@...>
This issue was found under Ruby 1.9.3 (-p0 presumably), but probably
> signal_thread_list_lock may be held in the timer thread during
KOSAKI Motohiro <kosaki.motohiro@gmail.com> wrote:
2012/2/2 Eric Wong <normalperson@yhbt.net>:
[#42344] [ruby-trunk - Feature #5964][Open] Make Symbols an Alternate Syntax for Strings — Tom Wardrop <tom@...>
[#42361] 1.9.3's 1st patch release — "NARUSE, Yui" <naruse@...>
Hi,
[#42391] I'll reject stalled feature tickets — Yusuke Endoh <mame@...>
(Japaneser later; 日本語は後で)
[#42404] [ruby-trunk - Bug #5978][Open] YAML.load_stream should process documents as they are read — Thomas Sawyer <transfire@...>
[#42443] [ruby-trunk - Bug #5985][Open] miniruby skews "make benchmark" results — Eric Wong <normalperson@...>
"ko1 (Koichi Sasada)" <redmine@ruby-lang.org> wrote:
Issue #5985 has been updated by Eric Wong.
[#42444] [ruby-trunk - Bug #5986][Open] Segmentation Fault — Luis Matta <levmatta@...>
[#42448] [ruby-trunk - Bug #5988][Open] Time class interprets "2012-02-30" as "2012-03-01" — Dylan Markow <dmarkow@...>
[#42471] [ruby-trunk - Feature #5995][Open] calling io_advise_internal() in read_all() — Masaki Matsushita <glass.saga@...>
[#42480] [ruby-trunk - Feature #5999][Open] Optimize for faster loading time and win32/file.c refactoring — Hiroshi Shirosaki <h.shirosaki@...>
[#42500] Question on getting the receiver class information from a RUBY_EVENT_CALL event hook (1.9.2) — Daniel Cadenas <dcadenas@...>
Hi all, I hope someone can help me with this problem I'm having on a
[#42523] [ruby-trunk - Bug #6008][Open] {a: 1}.hash not consistent over VM restarts — Jens Berlips <jens@...>
[#42550] [ruby-trunk - Feature #1400] Please add a method to enumerate fields in OpenStruct — Yusuke Endoh <mame@...>
On Mon, Feb 13, 2012 at 4:08 PM, Yusuke Endoh <mame@tsg.ne.jp> wrote:
[#42564] some questions about nesting/constants — Xavier Noria <fxn@...>
Hello,
[#42579] [ruby-trunk - Bug #6012][Open] Proc#source_location also return the column — Roger Pack <rogerpack2005@...>
[#42607] [ruby-trunk - Bug #6020][Open] Unexpected is_a/kind_of behaviour — Alex N <masterlambaster@...>
[#42613] [ruby-trunk - Bug #6021][Open] TestDBM#test_aref test fails — Vit Ondruch <v.ondruch@...>
[#42630] [ruby-trunk - Feature #6023][Open] Add "a ?= 2" support for meaning "a = a.nil? ? 2 : a" — Rodrigo Rosenfeld Rosas <rr.rosas@...>
[#42672] strange 1.9.3 GC issue with Nokogiri — Eric Wong <normalperson@...>
Hello ruby-core,
On Wed, Feb 15, 2012 at 4:39 PM, Eric Wong <normalperson@yhbt.net> wrote:
[#42682] Ruby 1.9.3 patchlevel 125 released — "NARUSE, Yui" <naruse@...>
-----BEGIN PGP SIGNED MESSAGE-----
> Ruby 1.9.3-p125 is released.
On Thu, Feb 16, 2012 at 11:19 AM, Jon <jon.forums@gmail.com> wrote:
[#42685] [ruby-trunk - Bug #6036][Open] Test failures in Fedora Rawhide/17 — Bohuslav Kabrda <bkabrda@...>
[#42697] [ruby-trunk - Bug #6040][Open] Transcoding test failure: Big5 to UTF8 not defined (MinGW) — Luis Lavena <luislavena@...>
On Fri, Feb 17, 2012 at 7:47 PM, Yui NARUSE <naruse@airemix.jp> wrote:
[#42715] Classes as pure mixin conatiners — trans <transfire@...>
Some time ago, I suggested that it might be worth considering a design
[#42755] [ruby-trunk - Bug #6048][Open] {Unbound}Method#hash doesn't always return the right value — Marc-Andre Lafortune <ruby-core@...>
[#42777] 500 reputation stackoverflow question about Ruby GIL — Grigory Petrov <grigory.v.p@...>
Hello.
2012/2/21 Grigory Petrov <grigory.v.p@gmail.com>:
No, it fails same way on all my OSX versions from 10.5 to 10.7
[#42789] [ruby-trunk - Bug #6057][Open] URI - Nonsensical Behavior — Scott Gonyea <scott@...>
[#42813] [ruby-trunk - Feature #6065][Open] Allow Bignum marshalling/unmarshalling from C API — Martin Bosslet <Martin.Bosslet@...>
Hello,
[#42843] [ruby-trunk - Feature #6070][Open] The scope of for loop variables — Shugo Maeda <redmine@...>
[#42857] [ruby-trunk - Feature #6074][Open] Allow alias arguments to have a comma — Thomas Sawyer <transfire@...>
[#42870] [ruby-trunk - Feature #6079][Open] Hash#each_sorted — Walter Urbaniak <mondgrav-ruby@...>
[#42891] [ruby-trunk - Feature #6083][Open] Hide a Bignum definition — Koichi Sasada <redmine@...>
> Target version changed from 2.0.0 to next minor
[#42906] [ruby-trunk - Bug #6085][Open] Treatment of Wrong Number of Arguments — Marc-Andre Lafortune <ruby-core@...>
[#42972] 50$ for answering my stackoverflow question about Ruby GIL 500 reputation stackoverflow question about Ruby GIL 50$ for answering my stackoverflow question. — Grigory Petrov <grigory.v.p@...>
Hello.
[#42981] 50$ for answering my stackoverflow question about Ruby and GIL — Grigory Petrov <grigory.v.p@...>
Thanks.
On Feb 27, 2012, at 9:54 AM, Grigory Petrov wrote:
I'm not so sure about that.
On Feb 27, 2012, at 12:10 PM, Grigory Petrov wrote:
> This test code doesn't show switch time, it shows how fast two ruby threa=
[#42989] Re: [ruby-cvs:42007] nobu:r34829 (trunk): * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): since methods — Eric Hodel <drbrain@...7.net>
On Feb 27, 2012, at 12:03 AM, nobu@ruby-lang.org wrote:
[#43003] Bug in sub/gsub? — James French <James.French@...>
Hi,
[#43012] [ruby-trunk - Bug #6103][Open] Build failure on trunk 34850 with VC 2010 — Heesob Park <phasis@...>
[#43021] English instructions for setting up chkbuild? — Luis Lavena <luislavena@...>
Hello,
[#43030] return values of methods on String subclasses — Aaron Patterson <tenderlove@...>
It pains me to ask about this, but since Rails subclasses String, I need
[ruby-core:42920] [ruby-trunk - Feature #6070] The scope of for loop variables
Issue #6070 has been updated by Shugo Maeda.
File for_loop_scope_fix_0224.diff added
Hi,
> I agree with your opinion regarding the current side effect problems of
> `for`. I would love to see your patch in Ruby 2.0!
Thanks for your agreement:)
I've updated my patch, whose changes are:
* use NODE_MEMO to avoid memory leak when parsing of expr_value failed.
* removed unused code.
* fixed tests for new behavior of for expressions.
* fixed rss/parser.rb for new behavior of for expressions.
A good news is that rss/parser.rb is the only library affected by this change of for expressions.
The patch passes make test, and the result of test-all is 1F0E, which is the same as the version without the patch.
The version with the patch is a bit faster than the original version:
defiant:ruby$ time ruby-trunk -e 'for i in 1..10000000; end'
ruby-trunk -e 'for i in 1..10000000; end' 3.92s user 0.01s system 99% cpu 3.936 total
defiant:ruby$ time build/ruby-trunk -e 'for i in 1..10000000; end'
build/ruby-trunk -e 'for i in 1..10000000; end' 3.52s user 0.02s system 99% cpu 3.545 total
----------------------------------------
Feature #6070: The scope of for loop variables
https://bugs.ruby-lang.org/issues/6070
Author: Shugo Maeda
Status: Open
Priority: Normal
Assignee: Yukihiro Matsumoto
Category: core
Target version: 2.0.0
Hi,
In Ruby, the scope of a for loop variable is not limited in the for expression,
which means that a for expression counts on side effects.
This sometimes causes unexpected behavior when closing a for loop variable using a closure.
$ cat test.rb
procs = []
for lang in ["Ruby", "Scala", "Haskell"]
procs << -> { p lang }
end
procs.each(&:call)
$ ruby test.rb
"Haskell"
"Haskell"
"Haskell"
Why not make a for loop variable local to the for expression like a block parameter?
In Ruby 1.8, a for expression is faster than a method call with a block, but it's not
true in Ruby 1.9, so there is no reason to give a for expression special treatment.
The compatibility might be a problem, but I believe that code depending on the current behavior is evil.
Ruby's for expression also allows a global variable and a method call as a for loop variable. However,
I rarely see such code in real-world applications.
Furthermore, I've heard that the scope of a foreach loop variable is changed in C# 5.
http://blogs.msdn.com/b/ericlippert/archive/2009/11/12/closing-over-the-loop-variable-considered-harmful.aspx?PageIndex=3
Why should Ruby be more conservative than C#?
I've attached a patch for POC.
There is at least one problem in this patch. The problem is that it cannot handle
the following code in mkmf.rb.
# I suspected that this code was written by nobu, but it was written by Eric.
for lib in libs = $libs.split
...
end
It's because libs is considered local to the for expression in parsing phase, but the variable
can't be found in dyna vars in compiling phase. I'm wondering how this code should behave and
how to implement it.
--
http://bugs.ruby-lang.org/