[#40298] Re: [ruby-cvs:33760] Ruby:r26545 (trunk): Wed Feb 3 10:12:09 2010 Aaron Patterson <tenderlove@ruby-lang.org> — "NARUSE, Yui" <naruse@...>
成瀬です。
2010/2/2 NARUSE, Yui <naruse@airemix.jp>:
成瀬です。
小崎です
2010年2月3日21:07 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
成瀬です。
2010年2月7日21:37 NARUSE, Yui <naruse@airemix.jp>:
> 2010年2月7日21:37 NARUSE, Yui <naruse@airemix.jp>:
2010年2月9日14:19 KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>:
金本と申します。
成瀬です。
成瀬です。
2010/2/25 NARUSE, Yui <naruse@airemix.jp>:
アーロン宛
アーロン宛です。
2010/2/26 NARUSE, Yui <naruse@airemix.jp>:
(2010/02/28 9:01), Aaron Patterson wrote:
こんばんは sheepman です。
成瀬です。
[#40317] [Bug:trunk] TCPServer#gets gets stuck — Yusuke ENDOH <mame@...>
遠藤です。
2010年2月5日0:18 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年2月9日22:23 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年2月11日17:14 Yusuke ENDOH <mame@tsg.ne.jp>:
[#40359] trunk \w match — WATANABE Tetsuya <tetsuya.watanabe@...>
渡辺哲也です。
[#40382] [Bug:trunk] rubyspec: ObjectSpace.define_finalizer doesn't call self-referencing finalizers FAILED — Yusuke ENDOH <mame@...>
なかださんかまつもとさん
遠藤です。
遠藤です。
遠藤です。
[#40384] [Bug:trunk] rubyspec: Time#+ rounds micro seconds rather than truncates FAILED — Yusuke ENDOH <mame@...>
akr さん
2010年2月11日2:58 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
2010年2月11日21:58 Yusuke ENDOH <mame@tsg.ne.jp>:
[#40387] [Bug #2516] IO#reopen Compatibility (original: ) — Yusuke Endoh <redmine@...>
チケット #2516 が更新されました。 (by Yusuke Endoh)
[#40414] Re: [ruby-cvs:33873] Ruby:r26658 (trunk): * marshal.c (id2encidx): duplicated entry for encoding name. — Tanaka Akira <akr@...>
2010/2/13 <matz@ruby-lang.org>:
[#40418] [Feature #2746] ビルドする拡張ライブラリを configure 時に指定するための --with-exts オプション — Kenta Murata <redmine@...>
Feature #2746: ビルドする拡張ライブラリを configure 時に指定するための --with-exts オプション
まつもと ゆきひろです
こんにちは、なかむら(う)です。
[#40424] [Bug #2747] io.dup doesn't handle pos properly — Motohiro KOSAKI <redmine@...>
Bug #2747: io.dup doesn't handle pos properly
[#40452] [bug:trunk] Invalid read of size 4 by redefining load — Tanaka Akira <akr@...>
以下のように load 中に load を再定義すると、変なところをアクセスするのが
[#40453] [Bug #2776] can't return from lambda with outer block — _ wanabe <redmine@...>
Bug #2776: can't return from lambda with outer block
チケット #2776 が更新されました。 (by Shyouhei Urabe)
[#40461] respond_to?(<protected method name>) returns true — "Akinori MUSHA" <knu@...>
今さらかもしれませんが、 respond_to? で protected メソッドを
まつもと ゆきひろです
At Tue, 23 Feb 2010 14:09:52 +0900,
まつもと ゆきひろです
At Wed, 24 Feb 2010 00:55:39 +0900,
まつもと ゆきひろです
At Wed, 24 Feb 2010 01:25:45 +0900,
遠藤です。
まつもと ゆきひろです
[#40467] Re: [ruby-cvs:33954] Ruby:r26739 (trunk): * ext/openssl/ossl_digest.c (GetDigestPtr): Allow to pass the — "NARUSE, Yui" <naruse@...>
成瀬です。
At Wed, 24 Feb 2010 01:28:24 +0900,
(2010/02/24 1:57), Akinori MUSHA wrote:
At Wed, 24 Feb 2010 02:07:00 +0900,
2010/2/24 Akinori MUSHA <knu@idaemons.org>:
At Wed, 24 Feb 2010 06:06:13 +0900,
MjAxMC8yLzI0IEFraW5vcmkgTVVTSEEgPGtudUBpZGFlbW9ucy5vcmc+Ogo+PiAbJEIwRTlmPWhN
2010/2/25 NAKAMURA, Hiroshi <nakahiro@gmail.com>:
長いことほとんど Ruby に時間が割けておらずすみません。
2010/5/20 Akinori MUSHA <knu@idaemons.org>:
成瀬です。
At Thu, 3 Jun 2010 17:02:32 +0900,
成瀬です。
At Thu, 3 Jun 2010 21:00:29 +0900,
2010/2/24 Akinori MUSHA <knu@idaemons.org>:
成瀬です。
>> 成瀬さんはじめ、ruby/opensslメンテナ探しに影響を受けそうなみなさん、どうでしょうか。@evanphxがメンテナ立候補ということだったと思うので、その線で進めるならruby-coreかなと思います。
2010/2/28 KOSAKI Motohiro <kosaki.motohiro@gmail.com>:
[#40487] [Bug #2792] String#to_f on Ruby-1.8.6-p399 — Masao Mutoh <redmine@...>
Bug #2792: String#to_f on Ruby-1.8.6-p399
[#40493] [Bug:trunk] readpartial after ungetc fails with text mode — Yusuke ENDOH <mame@...>
遠藤です。
2010年2月26日19:34 Yusuke ENDOH <mame@tsg.ne.jp>:
遠藤です。
[#40506] [Bug:trunk] IO behaviors on mingw — Yusuke ENDOH <mame@...>
akr さん
[#40514] [Bug:trunk] Dir.[] returns unmatched path — Yusuke ENDOH <mame@...>
遠藤です。
こんにちは、なかむら(う)です。
遠藤です。
[ruby-dev:40451] [Bug:trunk] add explicit constraints for WONTFIX IO bug
Hi, all
I propose writing two constraints into rdoc of IO:
- after running IO#dup, both an original IO and generated IO may
cause "bezarre behavior" except IO#close
- after running IO#reopen, an original IO that passed to reopen
may cause "bezarre behavior" except IO#close
In short, it means "IO#dup should not be used" and "IO that was once
passed to IO#reopen should be just closed."
"bezarre behavior" does not mean undefined behavior (such as SEGV),
but means wrong order of reading and writing, wrong value from
IO#pos, etc. (see Appendix)
These behaviors are caused by bug of core's wrong buffering handing.
But to fix these, we must change the structure `rb_io_t', public API
in include/ruby/io.h, resulting in binary incompatibility.
We are currently thinking that these behaviors won't cause so serious
issue to ought to be fixed with even binary incompatibility.
So I'm proposing writing the above constraints to assert WONTFIX in
the immediate future.
Please say your rebuttal if the above constraints make trouble in
"real world" example. If valid and convincing rebuttal is come, the
issue will be fixed with breaking binary compatibility. If not, the
above constraint statement will be added.
Answers for anticipated rebuttal:
- how to replace stdout and stderr temporarily to invoke subprocess
Use Kernel#spawn's option.
- my existing code will not work
Please fix your code.
Fixing this, *all users* will be forced to reinstall ext library
(even worse, the code of the library may need to be modified).
We are expecting rebuttals such as examples that cannot be absorbed
by Ruby-level fix or that requires all users to do more cumbersome
things.
If anyone says no objection in three days, I'll add the constraints.
Thanks,
Appendix: current bezarre behaviors of IO#dup and reopen
foo.txt
-------
A
B
C
example: first-come-first-served gets after IO#reopen (1)
---------------------------------------------------------
f1 = File.new("foo.txt")
f2 = File.new("foo.txt")
f1.reopen(f2)
p f1.gets #=> "A\n"
p f2.gets #=> nil (cannot read)
example: first-come-first-served gets after IO#reopen (2)
---------------------------------------------------------
f1 = File.new("foo.txt")
f2 = File.new("foo.txt")
f1.reopen(f2)
p f2.gets #=> "A\n"
p f1.gets #=> nil (cannot read)
example: negative value of IO#pos after IO#reopen
----------------------------------------------
f1 = File.new("foo.txt")
f2 = File.new("foo.txt")
f2.gets
f1.reopen(f2)
f2.gets
f1.rewind
p f2.pos #=> -2
example: wrong value of IO#pos after IO#dup
-------------------------------------------
f1 = File.new("foo.txt")
f2 = f1.dup()
p f1.pos #=> 0
p f2.gets #=> "A\n"
p f1.pos #=> 6 (neither 0 or 2)
example: IO#pos with side-effect after IO#reopen
------------------------------------------------
f1 = File.new("foo.txt")
f2 = File.new("foo.txt")
f2.gets
f1.reopen(f2)
f2.gets
p f1.pos #=> 6
f2.pos
p f1.pos #=> 4 (changed)
example: wrong order of reading after IO#dup
--------------------------------------------
r, w = IO.pipe
Thread.new do
w.print "Foo\nBar"
sleep 1
w.print "Baz\n"
sleep 1
w.print "Qux\n"
end
p r.gets #=> "Foo\n"
r2 = r.dup
p r2.gets #=> "Baz\n" (not "BarBaz\n")
p r.gets #=> "BarQux\n" (not "Qux\n")
example: wrong order of writing after IO#dup
--------------------------------------------
f = File.new("out.txt", "w")
f1 = File.new("foo.txt")
f2 = File.new("foo.txt")
f1.reopen(f)
f2.reopen(f)
f2.puts("foo")
f1.puts("bar")
#=> resulting "bar\nfoo\n" in out.txt, not "foo\nbar\n"
--
Yusuke ENDOH <mame@tsg.ne.jp>