ruby-ML ななめ読む [ruby-dev:48179-48194] / [ruby-core:62445-62462]
[ruby-dev:48179] by Usaku NAKAMURA:#9685
[ruby-dev:48180] by Yui NARUSE:#9772
[ruby-dev:48181] by Akira Tanaka:#9772
[ruby-dev:48182] by Nobuyoshi Nakada:#9813
[ruby-dev:48183] by Nobuyoshi Nakada:#9813
[ruby-dev:48184] by Koichi Sasada:#9815
[ruby-dev:48185] by Nobuyoshi Nakada:#9815
[ruby-dev:48186] by Yui NARUSE:#9816
[ruby-dev:48187] by Koichi Sasada:#9815
[ruby-dev:48188] by Yui NARUSE:#9772
[ruby-dev:48189] by Usaku NAKAMURA:#9816
[ruby-dev:48190] by Kazuhiro NISHIYAMA:#9816
[ruby-dev:48191] by Yui NARUSE:#9816
[ruby-dev:48192] by Tadayoshi Funaba :#9816
[ruby-dev:48193] by tadayoshi funaba:#9816
[ruby-dev:48194] by Nobuyoshi Nakada:#9816
[ruby-core:62445] by Akira Tanaka:#9750
[ruby-core:62446] by Akira Tanaka:#5330
[ruby-core:62447] by Nobuyoshi Nakada:#6074
[ruby-core:62448] by Tomoyuki Chikanaga:#9750
[ruby-core:62449] by Tomoyuki Chikanaga:#9586
[ruby-core:62450] by Usaku NAKAMURA:#9743
[ruby-core:62451] by Usaku NAKAMURA:#9657
[ruby-core:62452] by Usaku NAKAMURA:#9746
[ruby-core:62453] by Usaku NAKAMURA:#9743
[ruby-core:62454] by Usaku NAKAMURA:#9746
[ruby-core:62455] by Usaku NAKAMURA:#9708
[ruby-core:62456] by Usaku NAKAMURA:#9657
[ruby-core:62457] by Usaku NAKAMURA:#9708
[ruby-core:62458] by George Koehler:#9777
[ruby-core:62459] by Jon Forums:#9812
[ruby-core:62460] by Nobuyoshi Nakada:#9812
[ruby-core:62461] by Usaku NAKAMURA:#9812
[ruby-core:62462] by Erik Hollembeak:#9814
#5330
間違ったバックトレースの行番号が返される
[ruby-core:62446] by Akira Tanaka
Reject。caller メソッドは 0 を渡さない限りカレントフレームは返さないよ、呼び出し元とそれ以前のフレームの配列を返すよ、caller(0) するのがわかりやすいよ、とのこと。
#6074
alias の区切りにコンマを入れるのを許してほしい
[ruby-core:62447] by Nobuyoshi Nakada
担当者をまつもとさんに。
構文変更のリクエストだよ(なのでまつもとさんに判断を任せるよ)、とのこと。
#9586
Ruby 2.1.1 が NetBSD でビルドできない
[ruby-core:62449] by Tomoyuki Chikanaga
2.1 のバックポートを済に。r45190 と r45202 と r45204 と r45713 を r45867 でバックポートしたよ、とのこと。
#9657
bigdecimal/util.rb の Float#to_d で SEGV
[ruby-core:62451] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45869 でバックポートしたよ、SEGV の再現は出来なかったけど修正自体は正しいし少なくとも悪い影響はなさそうだよ、とのこと。
そうなんですよ再現しにくいんですよね。これを確実に再現させるためだけに #9761 起票したわけで、そしてそのせいで CI 壊したわけで。
[ruby-core:62456] by Usaku NAKAMURA
関連するチケットに #9708 を追加。
#9685
psych-2.0.5 のバックポート
[ruby-dev:48179] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45453 で 2.0.0 にバックポートしたよ、libyaml だけ更新して psych は更新しないことにしたよ、とのこと。
#9708
r45015 のバックポート(2.0.0)
[ruby-core:62455] by Usaku NAKAMURA
関連するチケットに #9657 を追加。
[ruby-core:62457] by Usaku NAKAMURA
クローズ。(バックポートが)終わったよ、#9657 を見てね、とのこと。
#9743
openssl の ossl_pkey_verify でメモリリーク
[ruby-core:62450] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45868 で 2.0.0 にバックポートしたよ、とのこと。
[ruby-core:62453] by Usaku NAKAMURA
関連するチケットに #9746 を追加。
#9746
r45595 (#9743) のバックポート(2.0.0)
[ruby-core:62452] by Usaku NAKAMURA
関連するチケットに #9743 を追加。
[ruby-core:62454] by Usaku NAKAMURA
クローズ。(バックポートが)終わったよ、#9743 を見てね、とのこと。
#9750
OpenSSL::SSL::SSLServer.new が第一引数に Socket を受け付けてくれない
[ruby-core:62445] by Akira Tanaka
クローズコミット。
[ruby-core:62448] by Tomoyuki Chikanaga
2.0.0 と 2.1 をバックポート対象に。非互換はなさそうだしバックポートするべき変更だと思うよ、とのこと。
#9772
IO#statfs と File::Statfs
[ruby-dev:48180] by Yui NARUSE
(f_type のない環境では IO#statfs を提供しないのか、という質問を受けて)誰かが互換実装を提供するの反対はしないけど、自分は動機が欠けているよ、(OpenBSD 5.5 でコンパイルできないとのコメントを受けて)r45873 で直したよ、とのこと。
[ruby-dev:48181] by Akira Tanaka
じゃあ statvfs があるときは少なくとも statvfs の情報が得られることになるので、実際は statvfs + 環境依存の様々な情報が返されることになりそうだね、なら名前は statvfs でいいんじゃないかな、あるいはファイルシステムの種類を返すように限定して getmntent とかどうかな、GNU/Linux の getmntent は /etc/mtab を読むからもしかして ext2/3/4 が判別できるかもね、とのこと。
[ruby-dev:48188] by Yui NARUSE
採否の判断のときに(採用なら)まつもとさんに名前も決めてもらえばいいかな、自分のユースケースには getmntent のほうがいいかもね、これもやってみるよ、名前は Etc.mntinfo とか Etc.df とかかな、とのこと。
#9777
Proc#to_lambda の提案
[ruby-core:62458] by George Koehler
StackOverflow の回答はブロック中の self を保存していない点で間違っているから注意だよ、ましな例を書いてみたけどやっぱり間違ってるよ、新機能追加しない限り proc から lambda への変換の方法はないよ、ライブラリ内部でブロックを lambda に変換されたくはないのでこの機能を支持する気はないよ、next の使い方は知ってるし変換されたら return で外側のメソッドからの脱出ができなくなるよ、lambda が使いたければ ->() って書くよ、とのこと。
#9812(新規)
2.0.0 のバックポートで windows 上で test-all の pysch のテストが失敗する
[ruby-core:62459] by Jon Forums
ruby 2.0.0p480 で make test-all すると Psych::TestEncoding#test_dump_load_encoding_object が TypeError: allocator undefined for Encoding というエラーで失敗するよ、とのこと。
[ruby-core:62460] by Nobuyoshi Nakada
2.0.0 のバックポートチケットに移動、カテゴリ削除、担当者をなかむら(う)さんに。
[ruby-core:62461] by Usaku NAKAMURA
クローズ。ごめんマージミスだよ、r45876 で直ってるよ、報告どうも、とのこと。
#9813(新規)
Module#initialize_copy で変数がクリアされない
[ruby-dev:48182] by Nobuyoshi Nakada
Module#initialize_copyで定数やインスタンス変数を持たないModuleをコピーしても、元の定数やインスタンス変数が残っているよ(語尾以外原文ママ)、initialize_copy 導入当初からのバグのようだよ、とのこと。
[ruby-dev:48183] by Nobuyoshi Nakada
クローズコミット。
#9814(新規)
Enumerator#peek のドキュメントの例変更
[ruby-core:62462] by Erik Hollembeak
Enumerator#peek の現在のドキュメントの例は enumerator が最後までいったあとの動作について書かれていないよ、StopIteration を投げることを明示するように変更するパッチを書いたよ、とのこと。
#9815(新規)
値未設定のインスタンス変数に attr_reader がアクセスしても警告を出してくれない
[ruby-dev:48184] by Koichi Sasada
attr_reader は -w で警告を有効にしても、インスタンス変数の値未設定の警告を出してくれないよ、意図的なのかな、とのこと。
[ruby-dev:48185] by Nobuyoshi Nakada
クローズ。意図的だよ、(内部的に使っている C API の)rb_ivar_get と rb_attr_get との差だよ、とのこと。
[ruby-dev:48187] by Koichi Sasada
どういう意図だっけ、とのこと。
#9816(新規)
文字列内の数字を数値として比較するメソッド(原文ママ)
[ruby-dev:48186] by Yui NARUSE
担当者まつもとさんで起票。文字列内の数字を数値として比較するメソッドを追加したいよ、一般的な用途としてはファイラが(ソートのために)比較に使っていて、Windows では StrCmpLogicalW、OS X では NSString:compare:options:へのNSNumericSearch定数が提供されているよ、Ruby レベルでも難しくはないけど大量のオブジェクトを作ってしまうよ、ruby のバージョン表記の teeny が二桁になった場合の比較に使えるよ、String#numericcmp という名前でパッチを買うたよ、とのこと。
[ruby-dev:48189] by Usaku NAKAMURA
一票入れるよ、自分で書くのも面倒だしこのために Gem::VERSION を持ってくるのもなあという時に使えるメソッドだよね、とのこと。
[ruby-dev:48190] by Kazuhiro NISHIYAMA
numericcmp は「複数の数値が入っている文字列を比較するもの」という点がわかりにくいよ、versioncmp というのを思いついたけど puppet で使われちゃってるね、coreutils だと filevercmp、rpm だと rpmvercmp だね、とのこと。
[ruby-dev:48191] by Yui NARUSE
(versioncmp は)名前の候補としてはいいね、String に加えているわけでな(く今回のパッチと直接は衝突しな)いので puppet が使ってるのは無視していいと思うよ、rpmvercom は論外として filevercmp は挙動が(パッチ・想定した動作と)ずいぶん違うね、とのこと。
[ruby-dev:48192] by Tadayoshi Funaba
名前はともかく欲しかったのは filevercmp のほうかもしれないよ、とのこと。
[ruby-dev:48193] by tadayoshi funaba
[ruby-dev:48192] の重複。
[ruby-dev:48194] by Nobuyoshi Nakada
versioncmp は ‘-‘ と ‘.’ だけ特別扱いするんだね、あと(パッチでは)片方だけが数字で終わっているときの終端チェックが抜けている気がするよ、とのこと。
ruby-ML ななめ読む [ruby-dev:48177-48178] / [ruby-core:62417-62444]
いつもどおりの件数のはずなのに二時間近くかかった。おかしい。
(2014/05/08 追記)そのうえ数的にも内容的にも過去最高レベルで間違っていた。(頭が)おかしい。
[ruby-dev:48177] by Nobuyoshi Nakada:#9811
[ruby-dev:48178] by Nobuyoshi Nakada:#9811
[ruby-core:62417] by Akira Tanaka:#5328
[ruby-core:62418] by Akira Tanaka:#5828
[ruby-core:62419] by Nobuyoshi Nakada:#9344
[ruby-core:62420] by Ilya Vorontsov:#9808
[ruby-core:62421] by Nobuyoshi Nakada:#9019
[ruby-core:62422] by Nobuyoshi Nakada:#9038
[ruby-core:62423] by Nobuyoshi Nakada:#9486
[ruby-core:62424] by Nobuyoshi Nakada:#9808
[ruby-core:62425] by Myron Marston:#5328
[ruby-core:62426] by Ben Zhu:#9809
[ruby-core:62427] by Ben Zhu:#9809
[ruby-core:62428] by Richard Schneeman:#9777
[ruby-core:62429] by Andrew Vit:#9809
[ruby-core:62430] by Brian Shirai:#9810
[ruby-core:62431] by Charles Leu:#9806
[ruby-core:62432] by Andrew Grimm:#5828
[ruby-core:62433] by Akira Tanaka:#5328
[ruby-core:62434] by Nobuyoshi Nakada:#9777
[ruby-core:62435] by Yukihiro Matsumoto:#9809
[ruby-core:62436] by Nobuyoshi Nakada:#9809
[ruby-core:62437] by Nobuyoshi Nakada:#9372
[ruby-core:62438] by Nobuyoshi Nakada:#9372
[ruby-core:62439] by Martin Durst:#9807
[ruby-core:62440] by Nobuyoshi Nakada:#6074
[ruby-core:62441] by Nobuyoshi Nakada:#6074
[ruby-core:62442] by Myron Marston:#5328
[ruby-core:62443] by Heesob Park:#9677
[ruby-core:62444] by Akinori MUSHA:#9760
#5328
instance_exec/class_exec 内で引数展開がおかしい
[ruby-core:62417] by Akira Tanaka
1.9 でブロックの引数の挙動が変わっているよ、lambda でないブロックの引数は必ず一つの配列に展開されるよ、もしメソッドと同じ振る舞いを期待するなら lambda を使ってね、とのこと。
このへんすっごい面倒くさいのを覚えています。test/ruby/test_* にいろいろとあるので興味がある方はそちらをどうぞ。
[ruby-core:62425] by Myron Marston
説明どうも、Ruby 開発を何年もフォローしていて初めて proc と lambda のその違いを聞いてちょっと驚いたよ(return とか引数の個数の厳格さとかは知ってるよ)、直感的でないよ、以前に(この変更について)議論があったなら読んでみたいよ、とのこと。
[ruby-core:62433] by Akira Tanaka
ドキュメントがいくつかあったのを覚えてるよ、Proc#lambda? のドキュメントとか、[ruby-core:47453] の「yield で引数展開すると展開されすぎる」のスレッド(Markdown になってないから b.r-l.o で読むのはおすすめしないよ)とか、日本語だけど [ruby-dev:38795] とかがあるよ、とのこと。
あとさっき「必ず一つの配列に展開される」って言ったけど間違いだよ、展開はブロック引数の形によるよ、とのこと。
[ruby-core:62442] by Myron Marston
ありがとう、まだこんがらがってはいるけどとても助かったよ、とのこと。
#5828
無名でないクラスに freeze して clone すると inspect できなくなる
[ruby-core:62418] by Akira Tanaka
フィードバック待ち。無名クラスの名前は初回の inspect のときにキャッシュされるよ、キャッシュは(内部的には)クラスの隠れインスタンス変数なので、クラスが freeze されるとこの変数に代入が出来ずキャッシュに失敗するよ、Module#freeze は freeze 前に名前をキャッシュするから clone しなければ例外は出ないけど、clone は再定義されてないので例外回避の仕組みはないよ、直すほどの価値があるかはわからないよ、とのこと。
へー勉強になる。でも MyClass.freeze.clone なら clone 前にキャッシュされてるんだからクローン先にもコピーされるのでは?隠れ変数だから引き継がれない?気がむいたら読んでみましょう。と思っていたら補足いただきました。なるほどねえ。
[ruby-core:62432] by Andrew Grimm
クラスを freeze して clone することなんてないからチケット閉じちゃっていいよ、とのこと。
#6074
alias の区切りにコンマを入れるのを許してほしい
[ruby-core:62440] by Nobuyoshi Nakada
サルベージして pull request したよ、とのこと。
[ruby-core:62441] by Nobuyoshi Nakada
Markdown 修正。
最近、なかださんの description update だと無条件で「Markdown 修正」って書いてしまう。その後リンク先に飛んで確認してます。
#9019
EUC-KR と EUC-JP が動いてないっぽい
[ruby-core:62421] by Nobuyoshi Nakada
Reject、Markdown 修正。
#9038
instance_eval に分光構文エラーな文字列を渡すと RuntimeError になる
指摘頂いたので修正。
[ruby-core:62422] by Nobuyoshi Nakada
Markdown 修正。
#9344
正規表現の警告が示す行番号がおかしい
[ruby-core:62419] by Nobuyoshi Nakada
Markdown 修正、カテゴリを「正規表現」、担当者を鬼雲作者の高田さんに、対象バージョンを 2.2.0 に、1.9.3・2.0.0・2.1 をバックポート対象に。
#9372
Date#cweek が 2013-12-30 に対して正しくない
[ruby-core:62437] by Nobuyoshi Nakada
重複するチケットに #9809 を追加。
[ruby-core:62438] by Nobuyoshi Nakada
FAQ なので例を(ドキュメントに)つけるのがよさそうだよ、とのこと。
#9486
Kernel#local_variables に同じブロックローカル引数が重複して出てくる
[ruby-core:62423] by Nobuyoshi Nakada
クローズコミット。
#9677
OpenSSL::PKey::EC#to_text で SEGV
[ruby-core:62443] by Heesob Park
public_key がセットされていない時に SEGV するのを見つけたよ、パッチ書いたよ、とのこと。
#9760
mkmf で、システムライブラリがあるときに(同名の)カスタムライブラリを指定できない
[ruby-core:62444] by Akinori MUSHA
そうこうしてたら別の人たちがモンキーパッチ作ってたそれ(リリース)までの間はモンキーパッチでも回避できるよ、とのこと。
指摘頂いてまったく文を読めていなかったことがわかったので全面的に修正。
#9777
Proc#to_lambda の提案
[ruby-core:62428] by Richard Schneeman
他にも proc を lambda に変換する理由として引数の厳格なチェックがあるよ、とのこと。
[ruby-core:62434] by Nobuyoshi Nakada
ユーザが proc として書きたいときには例外は上がってほしくないんじゃないかな、とのこと。
#9806
URI#encode が ‘[‘ と ‘]’ をエンコードしてくれない
[ruby-core:62431] by Charles Leu
追記するよ、RFC 2396 の 2.4.3 には「URI として適切に表すために除外文字データはエスケープされなければならない」とあるよ、RFC 2396 の 2.2 にある予約文字と URI::REGEXP::PATTERN を比較すると後者に ‘[‘ と ‘]’ が余分に含まれているよ、これを除くと正しくエンコードされるっぽいよ、とのこと。
他にも言えることですが、この項特に意訳してます。
#9807
String.new をブロック付きで呼び出したい
[ruby-core:62439] by Martin Durst
同じく、String.new(“foobar”) というかいっそ “foobar” とどう違うのか例を見たいよ、(Array#join や tap を減らすことができる、とのコメントを受けて)空白文字をブロックに渡すのはミスリードだと思うよ、別のブロック引数を使うのがわかりやすいと思うよ、とのこと。
うーん自分で書いてて何を言ってるのかわからない。
#9808(新規)
Enumerable#argmin_by と #argmax_by の提案
[ruby-core:62420] by Ilya Vorontsov
Enumerable#argmin_by (と #argmax_by) を追加するのはどうかな、ユースケースは数学的な問題から一般的なタスクまで幅広いよ、(1..2).step(0.01).argmin_by{|x| Math.sin(x)*x} とか queues = [[],[],[],[]]; …; least_busy_queue = queues.argmin_by{|queue| queues.size } とかできるよ、とのこと。
[ruby-core:62424] by Nobuyoshi Nakada
Markdown 修正、フィードバック待ち。これが何なのか説明してくれるかな、とのこと。
#9809(新規)
Date.new(2000, 1, 1).cweek は 1 になるべき
[ruby-core:62426] by Ben Zhu
Date.new(2000,1,1).cweek が 52 を返すよ、2.1.1 で確かめたよ、とのこと。
[ruby-core:62427] by Ben Zhu
#9372 を見たよ、バグじゃないならチケット閉じてくれて構わないよ、とのこと。
[ruby-core:62429] by Andrew Vit
正しい動作みたいだよ、#9372 から引用すると「カレンダー上の月曜から始まる 7 日を一区切りとするよ、年の最初の cweek はその年の最初の火曜木曜を含む週だよ」らしいよ、とのこと。
うわあ訳わからん。わからんついでに間違っていたのを指摘頂いたので修正。
[ruby-core:62435] by Yukihiro Matsumoto
クローズ。
[ruby-core:62436] by Nobuyoshi Nakada
重複するチケットに #9372 を追加。
#9810(新規)
Numeric#step に浮動小数点数と文字列を渡すとドキュメントと違う動きをする
[ruby-core:62430] by Brian Shirai
Numeric#step のドキュメントに「引数に浮動小数点数が含まれるとすべての引数が浮動小数点数に変換される」と書いてあるよ、1.1.step(5.1, “1”) {} が 2.0.0 だと no implicit conversion の TypeError だったのに 2.1.1 だと comparison of String with 0 の ArgumentError になるけど意図的なの?とのこと。
#9811(新規)
Numeric#step にキーワード引数を与えると to 引数を無視する
[ruby-dev:48177] by Nobuyoshi Nakada
Numeric#step にキーワード引数を与えると、終了値を無視するようになる上に無効なキーワード引数でもエラーにならないよ、とのこと。
[ruby-dev:48178] by Nobuyoshi Nakada
クローズコミット。
ruby-ML ななめ読む [ruby-dev:48173-48176] / [ruby-core:62383-62416]
[ruby-dev:48173] by Yukihiro Matsumoto
[ruby-dev:48174] by Akira Tanaka:#3348
[ruby-dev:48175] by Tomoyuki Chikanaga:#9685
[ruby-dev:48176] by Nobuyoshi Nakada:#3526
[ruby-core:62383] by Akira Tanaka:#9625
[ruby-core:62384] by Akira Tanaka:#9618
[ruby-core:62385] by Akira Tanaka:#9089
[ruby-core:62386] by _ wanabe:#9803
[ruby-core:62387] by Akira Tanaka:#7476
[ruby-core:62388] by Akira Tanaka:#7476
[ruby-core:62389] by Akira Tanaka:#9803
[ruby-core:62390] by Nobuyoshi Nakada:#9803
[ruby-core:62391] by Akira Tanaka:#5677
[ruby-core:62392] by Akira Tanaka:#5677
[ruby-core:62393] by Tomoyuki Chikanaga:#9796
[ruby-core:62394] by akr fsij.org:#6010
[ruby-core:62395] by _ wanabe:#9803
[ruby-core:62396] by Alexey Muranov:#9804
[ruby-core:62397] by Akira Tanaka:#5487
[ruby-core:62398] by Akira Tanaka:#5463
[ruby-core:62399] by Akira Tanaka:#8459
[ruby-core:62400] by Eric Wong :#9804
[ruby-core:62401] by Eric Wong:#9804
[ruby-core:62402] by Eric Wong
[ruby-core:62403] by Tsuyoshi Sawada:#9805
[ruby-core:62404] by Alexey Muranov:#9804
[ruby-core:62405] by Charles Leu:#9806
[ruby-core:62406] by SASADA Koichi
[ruby-core:62407] by Eric Wong
[ruby-core:62408] by Akira Tanaka:#9682
[ruby-core:62409] by Akira Tanaka:#9521
[ruby-core:62410] by Akira Tanaka:#9521
[ruby-core:62411] by Nobuyoshi Nakada:#9805
[ruby-core:62412] by Nobuyoshi Nakada:#6216
[ruby-core:62413] by Nobuyoshi Nakada:#6216
[ruby-core:62414] by Michael Kohl:#9807
[ruby-core:62415] by Matthew Kerwin :#9807
[ruby-core:62416] by Matthew Kerwin:#9807
チケット無し
[ruby-dev:48173] by Yukihiro Matsumoto
(Kernel#test に ‘a’ を足したほうがいいのかどうなのか、という質問に)-a は deprecated らしいから削除の方法方向で考えるよ、とのこと。
指摘頂いたので修正。
[ruby-core:62402] by Eric Wong
(r45760 がそれほど大きな変更ではなさそうだ、とのコメントを受けて)そうだね、問題はサーバーで走らせてた make check の test/ruby/test_string.rb 中の test_LSHIFT_neary_long_max だったみたいだよ、このテストで大量にメモリスワップしてたよ、とのこと。
[ruby-core:62406] by SASADA Koichi
この(r45760 の)あとで(スワップの)問題が解決したの?それならこの変更はすごいね、とのこと。
[ruby-core:62407] by Eric Wong
混乱させてごめん、パッチは正しいけど大きな修正じゃないよ、スワップで RSS が減ってたことに気がついたよ、glibc の malloc はメモリを掴んでカーネルに返さないので RSS はスワップで減る(ように見かけ上見える)よ、test_LSHIFT_neary_long_max は遅くて危険な環境があるかもしれないよ、よく古くて非力なマシンを使って性能問題を探すことがあるよ、とのこと。
#3348
Kernel.spawn で標準入力と標準エラーを同一の新規ファイルにリダイレクトさせたい
[ruby-dev:48174] by Akira Tanaka
クローズコミット。
#3526
ヌルデバイスへのパスを示す IO::NULL の提案
[ruby-dev:48176] by Nobuyoshi Nakada
Markdown 修正。
#5463
PTY か IO.select がタイミングによっておかしな挙動をする
[ruby-core:62398] by Akira Tanaka
Reject。Ruby の問題じゃないと思うよ、とのこと。
#5487
popen3 と timeout の組み合わせで 1.9 以降でタイムアウトしない
[ruby-core:62397] by Akira Tanaka
Reject。Timeout は無視してね、1.8 のようにハングしないとしても子プロセスに影響しないよ、Thread#join のタイムアウトを指定する引数が役に立つと思うよ、とのこと。
「Timeout のことは忘れてください」かもしれない。
#5677
IO C API
[ruby-core:62391] by Akira Tanaka
今まで誰も実装しなかったので Reject することにするよ、実装なしで議論するのは難しすぎるよ、とのこと。
[ruby-core:62392] by Akira Tanaka
Reject。
#6010
open-uri で IO がクローズされないことがある
[ruby-core:62394] by akr fsij.org
クローズコミット。
#6216
SystemStackError のバックトレースを減らしてほしくない
[ruby-core:62412] by Nobuyoshi Nakada
重複するチケットに #9805 を追加。
[ruby-core:62413] by Nobuyoshi Nakada
github に pull request しておいたよ、とのこと。
#7476
IP_TRANSPARENT 定数がない
[ruby-core:62387] by Akira Tanaka
クローズコミット。
[ruby-core:62388] by Akira Tanaka
glibc-2.12 で IP_TRANSPARENT が提供されるみたいだから今なら使っても問題ないよ、とのこと。
#8459
Socket に慣用的なメソッド名を追加したい
[ruby-core:62399] by Akira Tanaka
フィードバック待ち。否定的だよ、こういう(Socket.hostname でなく gethostname のような)慣習は新規メソッドの命名を難しくするよ、命名はただでさえ難しいんだからこれ以上難しくしたくないよ、とのこと。
#9089
rb_fix2uint が負数を渡しても RangeError を投げてくれない
[ruby-core:62385] by Akira Tanaka
Reject。64-bit 環境で FIX2UINT だけ負数を無視するのは一貫しなさすぎて受け入れられないよ、ほかの NUM2Uxxx や FIX2Uxxx も変更するのは非互換すぎるよ、厳正な変換関数が欲しい人は自分で新しい関数を定義したほうがいいよ、rb_integer_pack() も数を変換しつつ桁溢れや符号のチェックするのに使えるよ、とのこと。
#9521
Time.parse のドキュメント修正
[ruby-core:62409] by Akira Tanaka
クローズコミット。
[ruby-core:62410] by Akira Tanaka
この部分の元々のドキュメントは gsinclair さんが GMT を使って書いたみたいだけど間違って JST を使って書き換えられちゃったみたいだよ、EST で書き換えるのに賛成だよ、ここは time.c の「この例はすべて GMT-5 の EST を使っています」という部分から受け継いでいるよ、タイムゾーンを複数含むときの Time.parse の挙動は考えてなかったよ、例を結果だけでなく Time.now についても EST を使うように変更して r45838 でコミットしたよ、とのこと。
#9618
Pathname#cleanpath を使うとパス区切りが混ざる
[ruby-core:62384] by Akira Tanaka
クローズコミット。
#9625
パス追加用に `Pathname#/` が欲しい
[ruby-core:62383] by Akira Tanaka
クローズコミット。
#9682
Time.parse のドキュメントの改訂
[ruby-core:62408] by Akira Tanaka
クローズコミット。
#9685
psych-2.0.5 のバックポート(原文ママ)
[ruby-dev:48175] by Tomoyuki Chikanaga
2.1 をバックポート済に。r45453 と r45455 と r45577 を r45812 で 2.1 にバックポートしたよ、#9798 も見てね、とのこと。
#9796
GC 修正の r45638 と r45760 のバックポート依頼(2.1)
[ruby-core:62393] by Tomoyuki Chikanaga
クローズバックポート。
#9803(新規)
C API の削除情報が NEWS にない
[ruby-core:62386] by _ wanabe
rb_check_safe_str() が 2.1 と trunk にないのを見つけたよ、#9502 とその説明のページを見つけたけど、見た限り NEWS と NEWS-2.1.0 にはなかったよ、NEWS にも書くべきじゃないかな、とのこと。
[ruby-core:62389] by Akira Tanaka
フィードバック待ち。どの NEWS を見たの、r44963 で書かれてるよ、とのこと。
[ruby-core:62390] by Nobuyoshi Nakada
Markdown 修正。
[ruby-core:62395] by _ wanabe
Reject。ごめん、2.1 ブランチを取り違えてたよ、とのこと。
勘違い甚だしい。
#9804(新規)
File::CREATE を File::CREAT の別名として欲しい
[ruby-core:62396] by Alexey Muranov
File::CREATE を File::CREAT の別名として欲しいよ、とのこと。
[ruby-core:62400] by Eric Wong
少なくとも理由は欲しいな、役立つ意見かはわからないけどこれ以上別名をコアに足すのは反対だよ、学習コストを増やすし機械的なキャッシュのコストも増えるよ、新しい別名は古いバージョンのユーザが新しいドキュメントを参照した時にも混乱するよ、新機能 の RD に「これは Ruby X.Y.Z で追加されました」と付け加えることはできるかもね、とのこと。
[ruby-core:62401] by Eric Wong
[ruby-core:62400] の重複。
[ruby-core:62404] by Alexey Muranov
学習コストが増えるとは思わないよ、CREATE は CREAT と違って英単語だよ、コードに File::CREATE = File::CREAT と書かなくて良くなるよ、とのこと。
#9805(新規)
SystemStackError のバックトレース
[ruby-core:62403] by Tsuyoshi Sawada
def a; a end みたいに一行でメソッド定義したもので SystemStackError になると一行しかバックトレースに表示されないよ、デバックしにくいので設定で制限行数をセットできたらいいよ、#6216 と同じだと思うけど、元のコードが不必要に長くて複雑でわかりにくかったよ、とのこと。
[ruby-core:62411] by Nobuyoshi Nakada
重複するチケットに #6216 を追加。
#9806(新規)
URI#encode が ‘[‘ と ‘]’ をエンコードしてくれない
[ruby-core:62405] by Charles Leu
題名のとおりだよ、とのこと。
“The subject says it all.” らしいのでありがたく省略。
#9807(新規)
String.new をブロック付きで呼び出したい
[ruby-core:62414] by Michael Kohl
自チーム内で議論して、String.new がブロックを受け付けて文字列ビルダとして動くといいんじゃないかと考えたよ、String.new(“foo”) do |s| s << "bar" end が "foobar" になるのはどうかな、Array#join とか tap を回避できるようになるよ、とのこと。
[ruby-core:62415] by Matthew Kerwin
“foo”.tap{|s|s << "bar"} との違いがわからないよ、例示してくれるかな、とのこと。
[ruby-core:62416] by Matthew Kerwin
[ruby-core:62415] の重複。
ruby-ML ななめ読む [ruby-dev:48172] / [ruby-core:62374-62382]
[ruby-dev:48172] by Tadayoshi Funaba
[ruby-core:62374] by Akira Tanaka:#9794
[ruby-core:62375] by Akira Tanaka:#9549
[ruby-core:62376] by hake huang:#9802
[ruby-core:62377] by Nobuyoshi Nakada:#9802
[ruby-core:62378] by tadayoshi funaba:#9794
[ruby-core:62379] by tadayoshi funaba:#9794
[ruby-core:62380] by hake huang:#9802
[ruby-core:62381] by hake huang:#9802
[ruby-core:62382] by Felipe Contreras
チケット無し
[ruby-dev:48172] by Tadayoshi Funaba
(ファイルの存在・属性などをチェックするメソッド)Kernel#test に ‘e’ と同じ ‘a’ コマンドのチェック部分があるけど実際には機能していないよ、有効にするのとエントリ自体削除するののどっちがいいかな、とのこと。パッチを添付されています。
[ruby-core:62382] by Felipe Contreras
ext/date/lib/date.rb のインデント修正パッチを書いたよ、とのこと。
#9549
Time::strptime の拡張
[ruby-core:62375] by Akira Tanaka
フィードバック待ち。
(Date.strptime と同じく Time.strptime を 0..2 個の引数を許すようした変更を受けて)いい考えとは思えないよ、例えば -4712-01-01 は Time では特別じゃないよ、とのこと。
(Date.strptime と同じく Time.strptime(’31/02/2014′, ‘%d/%m/%Y’) のような不正な日付で例外発生させる変更を受けて)こういう制約には気乗りしないよ、以前にラウンドテストするかどうかで日付の検証をしてみたことがあるけど、利点より問題の方が大きかったよ、とのこと。
#9794
DateTime.strptime() が ‘%s %z’ 指定の時に正しく動かない
[ruby-core:62374] by Akira Tanaka
TODO:あとで読む
[ruby-core:62378] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62379] by tadayoshi funaba
クローズ。
読んではいるんです。いるんですが、うまく要約できる気が全くしない。
#9802(新規)
ruby2.0.0p451 on windows で SEGV
[ruby-core:62376] by hake huang
ハッシュのパーサを書いていて SEGV が出たよ、ruby 2.0.0p451 i386-mingw32 だよ、とのこと。
C level trace は残念ながら大事な所が途切れています……ですがそこから考えて、スタック周りの問題ではありそう。
[ruby-core:62377] by Nobuyoshi Nakada
Markdown 修正、フィードバック待ち。どう再現したらいいの、あと trunk では発生しないの、とのこと。
[ruby-core:62380] by hake huang
最新リリースの 2.0.0p451 windows 版と、2013 リリースの全部で再現したよ、(バグの発生する)プロジェクト全体は大きいので、再現しやすいようにコード削減しようとしてるよ、とのこと。
[ruby-core:62381] by hake huang
追伸:2.0.0-p451 は Windows での最新ビルドだよ、とのこと。
ruby-ML ななめ読む [ruby-dev:48169-48171] / [ruby-core:62326-62373]
「あとで読む」って書いたけど、読んだあとほんとにまとめ直すかは未定。下手にまとめ直しても間違いだらけになりそう。
全部読むスタイルに無理が来ているのを改めて実感したので、飛ばし読み前提のやり方を模索中。
[ruby-dev:48169] by Tomoyuki Chikanaga:#9798
[ruby-dev:48170] by Tomoyuki Chikanaga:#9687
[ruby-dev:48171] by Tomoyuki Chikanaga:#9599
[ruby-core:62326] by Akira Tanaka:#9794
[ruby-core:62327] by Damon Davison:#9801
[ruby-core:62328] by Sam Kottler:#5659
[ruby-core:62329] by Yusuke Endoh:#9508
[ruby-core:62330] by Damon Davison:#9801
[ruby-core:62331] by tadayoshi funaba:#9794
[ruby-core:62332] by Felipe Contreras:#9794
[ruby-core:62333] by Nobuyoshi Nakada:#9799
[ruby-core:62334] by Yusuke Endoh:#9799
[ruby-core:62335] by Nobuyoshi Nakada:#9799
[ruby-core:62336] by Nobuyoshi Nakada:#9799
[ruby-core:62337] by Akira Tanaka:#9794
[ruby-core:62338] by cremno phobia:#9799
[ruby-core:62339] by tadayoshi funaba:#9794
[ruby-core:62340] by tadayoshi funaba:#9794
[ruby-core:62341] by Felipe Contreras:#9794
[ruby-core:62342] by Akira Tanaka:#9794
[ruby-core:62343] by Nobuyoshi Nakada:#9794
[ruby-core:62344] by tadayoshi funaba:#9794
[ruby-core:62345] by Felipe Contreras:#9794
[ruby-core:62346] by Akira Tanaka:#9794
[ruby-core:62347] by tadayoshi funaba:#9794
[ruby-core:62348] by Akira Tanaka:#9794
[ruby-core:62349] by tadayoshi funaba:#9794
[ruby-core:62350] by tadayoshi funaba:#9794
[ruby-core:62351] by Yukihiro Matsumoto:#9794
[ruby-core:62352] by tadayoshi funaba:#9794
[ruby-core:62353] by Tomoyuki Chikanaga:#9668
[ruby-core:62354] by Tomoyuki Chikanaga:#9668
[ruby-core:62355] by Tomoyuki Chikanaga:#9657
[ruby-core:62356] by Marcus Stollsteimer:#9799
[ruby-core:62357] by Akira Tanaka:#9794
[ruby-core:62358] by Tomoyuki Chikanaga:#9518
[ruby-core:62359] by Tomoyuki Chikanaga:#9796
[ruby-core:62360] by Yukihiro Matsumoto:#9794
[ruby-core:62361] by Tomoyuki Chikanaga:#9745
[ruby-core:62362] by Tomoyuki Chikanaga:#9743
[ruby-core:62363] by Tomoyuki Chikanaga:#9707
[ruby-core:62364] by Tieg Zaharia:#9657
[ruby-core:62365] by David Waite:#8667
[ruby-core:62366] by tadayoshi funaba:#9794
[ruby-core:62367] by tadayoshi funaba:#9794
[ruby-core:62368] by cremno phobia:#9799
[ruby-core:62369] by tadayoshi funaba:#9794
[ruby-core:62370] by Felipe Contreras:#9794
[ruby-core:62371] by KOSAKI Motohiro :#6634
[ruby-core:62372] by Motohiro KOSAKI:#6634
[ruby-core:62373] by Yukihiro Matsumoto:#9794
#5659
rails 3.1 でエンジンを作った時に SEGV
[ruby-core:62328] by Sam Kottler
最新版でもエラーになる?手元では再現しなかったよ、とのこと。
#6634
ConditionVariable と join でデッドロックする
[ruby-core:62371] by KOSAKI Motohiro
(テストケースが間違ってたみたいでごめん、とのコメントを受けて)問題ないよ、とのこと。
[ruby-core:62372] by Motohiro KOSAKI
[ruby-core:62371] の重複。
#8667
OpenSSL ライブラリの機能 AES-GCM の IV 長の設定
[ruby-core:62365] by David Waite
GCM を使ってる時に明示的に iv= メソッドで値を変更するパッチを書いたよ、自分のプログラムを走らせるのにこの変更が必要になったよ、とのこと。
#9508
メソッドや分岐単位でのカバレッジ計測パッチ
[ruby-core:62329] by Yusuke Endoh
フィードバック待ち。反応遅れてごめん、パッチを読んで試したけど、まず提案自体について議論したいよ、とのこと。
要求:この機能は ripper とかの ruby コードパーサで実装できるよね、例えばメソッドカバレッジは普通はメソッドの最初の行の実行カウントと同じだよ(正確には一行にメソッド定義とかめんどくさいケースもあるけど)、同じように if/then/else とか case/when もパース出来るよ、どうしてもっていうならコアに(この機能を)入れるのも構わないけど本当に必要なのかな、とのこと。
ユースケース:(カバレッジ計測結果を)どう可視化して解析したいのかははっきりしてるのかな、ユースケースに対して提案 API は十分なのかな、そうでないと API 拡張を繰り返したり、最悪リリース前に API を封印することになりかねないよ、たとえばメソッドカバレッジにメソッド名が含まれてないし分岐カバレッジには else の行番号が含まれてないけどいいの?現行の API は「行ごとの実行カウントを可視化する」っていう明確なユースケースのために設計されているよ、とのこと。
性能:分岐ごとに rb_hash_lookup() するのは重いんじゃないかな、簡単なベンチマークをとってみたら現行より 2 倍の時間かかったよ、ユーザに Coverage.start(line: true, method: false, decision: false) みたいにして選ばせるといいんじゃないかな、test-all してみたらコア吐いちゃったけどパッチのせいじゃなく元からあったバグがこのパッチで顕在化したようだよ、とのこと。
コードレビュー:(省略。元メールを見てください)ruby.h 以外には大きな問題はなさそうだよ、とのこと。
#9518
でかい配列の中のオブジェクトがメモリリーク
[ruby-core:62358] by Tomoyuki Chikanaga
1.9.3 と 2.0.0 をバックポート対象から除外、2.1 のバックポートを済に。#9796 に従って r45638 を r45818 で 2.1 にバックポートしたよ、とのこと。
#9599
Fiddle がメモリリーク
[ruby-dev:48171] by Tomoyuki Chikanaga
2.1 のバックポートを済に。r45291 と r45299 と r45314 と r45325 を r45820 で 2.1 にバックポートしたよ、とのこと。
#9657
bigdecimal/util.rb の Float#to_d で SEGV
[ruby-core:62355] by Tomoyuki Chikanaga
2.1 のバックポートを済に。通知ありがとう、r45015 を r45815 で 2.1 にバックポートしたよ、とのこと。
[ruby-core:62364] by Tieg Zaharia
ありがとう、とのこと。
#9668
r45393 (GC パラメータの初期値の変更) のバックポート
[ruby-core:62353] by Tomoyuki Chikanaga
担当者を近永さんに。
[ruby-core:62354] by Tomoyuki Chikanaga
クローズバックポート。
#9687
malloc_limit が大きくなりすぎる
[ruby-dev:48170] by Tomoyuki Chikanaga
2.1 のバックポートを済に。r45468 を r45817 で 2.1 にバックポートしたよ、とのこと。
#9707
r45015 のバックポート(2.1)
[ruby-core:62363] by Tomoyuki Chikanaga
クローズ、担当者を成瀬さんから近永さんに。r45815 でバックポートしたよ、とのこと。
あれ、こんなチケット有りましたっけ……当ブログでも読んでますね。。うっかり忘れてました。
#9743
openssl の ossl_pkey_verify でメモリリーク
[ruby-core:62362] by Tomoyuki Chikanaga
2.1 のバックポートを済に。r45595 を r45821 で 2.1 にバックポートしたよ、とのこと。
#9745
r45595 (#9743) のバックポート(2.1)
[ruby-core:62361] by Tomoyuki Chikanaga
クローズバックポート。
#9794
DateTime.strptime() が ‘%s %z’ 指定の時に正しく動かない
[ruby-core:62326] by Akira Tanaka
TODO:あとで読む
[ruby-core:62331] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62332] by Felipe Contreras
TODO:あとで読む
[ruby-core:62337] by Akira Tanaka
TODO:あとで読む
[ruby-core:62339] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62340] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62341] by Felipe Contreras
TODO:あとで読む
[ruby-core:62342] by Akira Tanaka
TODO:あとで読む
[ruby-core:62343] by Nobuyoshi Nakada
TODO:あとで読む
[ruby-core:62344] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62345] by Felipe Contreras
TODO:あとで読む
[ruby-core:62346] by Akira Tanaka
TODO:あとで読む
[ruby-core:62347] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62348] by Akira Tanaka
TODO:あとで読む
[ruby-core:62349] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62350] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62351] by Yukihiro Matsumoto
TODO:あとで読む
[ruby-core:62352] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62357] by Akira Tanaka
TODO:あとで読む
[ruby-core:62360] by Yukihiro Matsumoto
TODO:あとで読む
[ruby-core:62366] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62367] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62369] by tadayoshi funaba
TODO:あとで読む
[ruby-core:62370] by Felipe Contreras
TODO:あとで読む
[ruby-core:62373] by Yukihiro Matsumoto
TODO:あとで読む
#9796
GC 修正の r45638 と r45760 のバックポート依頼(2.1)
[ruby-core:62359] by Tomoyuki Chikanaga
担当者を近永さんに。r45638 を r45818 で 2.1 にバックポートしたよ、とのこと。
あれなんでクローズじゃないんだろ、と思ったら r45760 がまだだったからでした。
#9798
Psych 最新版のバックポート(2.1)
[ruby-dev:48169] by Tomoyuki Chikanaga
クロースバックポート。
#9799
Math::atan2 の引数が両方 Float::INFINITY だった時に値を返してほしい
[ruby-core:62333] by Nobuyoshi Nakada
Feature に移動、カテゴリを「コア」に。
[ruby-core:62334] by Yusuke Endoh
興味深いね、提案の挙動が主流なのには反対しないけど、x = Float::INFINITY; Math.atan2(x, 2 * x) が Math::PI/4 を返すのが有意義なのかは疑問だよ、とのこと。
[ruby-core:62335] by Nobuyoshi Nakada
クローズコミット。
[ruby-core:62336] by Nobuyoshi Nakada
(上記の Math.atan2(x, 2 * x) の例について)同じく疑問ではあるけど、Float::INFINITY == Float::INFINITY*2 が真なんだから心配することはないと思うよ、とのこと。
[ruby-core:62338] by cremno phobia
調べてみたら C99 標準に「atan2(∞) を四分円を意味する π/4 とする仕様により、他の何にも優先して情報の保存を行っている」とあるよ、Ruby の例外を出すやり方は理に適ってるかもだけど、自分は数学者ではないし有益だとは思えないよ、
例外のない Go とか JS とかでも NaN を返さず C のやり方の通りにしてるよ、F だともっと意味のある返り値を返すよ、主に好奇心だったので強い意見があるわけではないよ、とのこと。
[ruby-core:62356] by Marcus Stollsteimer
ちょっと待って、数学的におかしな(他の実装の)挙動を根拠に主張してるの?とのこと。
[ruby-core:62368] by cremno phobia
プログラミング言語においては「まちがい」と断定できないよ、非合理かもしれないけど、数学的なものも含め多くの言語でそうなってるよ、でも以前言ったとおりそうでない結論になってもいいと思ってるよ、とのこと。
例えば Julia ではatan2(Inf, Inf) は 0.7853981633974483 を、atan2(BigFloat(Inf), BigFloat(Inf)) は 7.853981633974483096156608458198757210492923498437764552437361480769541015715495e-01 with 256 bits of precision を返すよ、とのこと。
NumPy でもそうらしいです。Octave のリンクもはられていたんですが、こちらはどこにその旨が書かれているのかちょっと見つかりませんでした。
#9801(新規)
Regexp::EXTENDED のドキュメントが足りない
[ruby-core:62327] by Damon Davison
Regexp::EXTENDED のドキュメントに x フラグは空白文字を無視するとあるけど完全には正しくないよ、エスケープされたり [ ] で囲まれた空白文字は無視されないよ、perl のドキュメントがとても役立つよ、とのこと。
[ruby-core:62330] by Damon Davison
Github にも pull request したよ、とのこと。
ruby-ML ななめ読む [ruby-dev:48167-48168] / [ruby-core:62301-62325]
[ruby-dev:48167] by Akira Tanaka:#9772
[ruby-dev:48168] by Hiroshi SHIBATA:#9798
[ruby-core:62301] by Eric Hodel:#9794
[ruby-core:62302] by Nobuyoshi Nakada:#9795
[ruby-core:62303] by Ryan Davis:#9794
[ruby-core:62304] by Eric Wong:#9796
[ruby-core:62305] by Eric Wong
[ruby-core:62306] by Nobuyoshi Nakada:#9742
[ruby-core:62307] by SASADA Koichi
[ruby-core:62308] by Terence Lee
[ruby-core:62309] by cremno phobia:#9797
[ruby-core:62310] by cremno phobia:#9799
[ruby-core:62311] by Felipe Contreras:#9794
[ruby-core:62312] by Nobuyoshi Nakada:#9797
[ruby-core:62313] by Sam Saffron:#9800
[ruby-core:62314] by tadayoshi funaba:#9794
[ruby-core:62315] by tadayoshi funaba:#9794
[ruby-core:62316] by Akira Tanaka:#9794
[ruby-core:62317] by tadayoshi funaba:#9794
[ruby-core:62318] by Felipe Contreras:#9794
[ruby-core:62319] by Akira Tanaka:#9794
[ruby-core:62320] by Sam Kottler:#9677
[ruby-core:62321] by Sam Kottler:#9677
[ruby-core:62322] by tadayoshi funaba:#9794
[ruby-core:62323] by Akira Tanaka:#9794
[ruby-core:62324] by tadayoshi funaba:#9794
[ruby-core:62325] by L Nicoara:#6634
チケット無し
[ruby-core:62305] by Eric Wong
(バックポートすべきだと思うコミットがあればチケットにしたらいい、とのコメントを受けて)#9796 で切ったよ、昨夜までしばらく ruby を更新してなかったから、trunk に入ってる他の GC 修正も(メモリ量削減に)関係してるかもね、とのこと。
[ruby-core:62307] by SASADA Koichi
(r45760 を受けて)コミットメッセージが違ってるよ、ヒープの拡張じゃなくソート済み配列の拡張だよ、そんな(劇的にメモリ量削減するような、あるいはどうしてもバックポートするべきというほど)大きな変更じゃない気がするよ、とのこと。
[ruby-core:62308] by Terence Lee
近永さんと柴田さん 2.1 のメンテありがとう、#9671 がマージされたけど、これの入った 2.1.2 のリリースはいつになりそう?とのこと。
なかむら(う)さん 1.9.3 と 2.0.0 のメンテありがとう、#9670 がマージされたけど、これの入った 2.0.0 はリリースされるのかな、だとしたら Heroku の Ruby ユーザに朗報だよ、とのこと。
2.0.0 の方ももしかしたら「いつになるの」という質問で、When の入れ忘れだという気もする。あるいは単に誤訳?
#6634
ConditionVariable と join でデッドロックする
[ruby-core:62325] by L Nicoara
(チケットのテストケースを自身が改良したものについて)実際は残念だけどテストケースが不正だったよ、元々のテストケースも不正だったよ、手間取らせちゃってたらごめんね、とのこと。
#9677
OpenSSL::PKey::EC#to_text で SEGV
[ruby-core:62320] by Sam Kottler
報告ありがとう、今このチケット見たよ、とのこと。
[ruby-core:62321] by Sam Kottler
この SEGV は arch だけじゃなく OSX でも debian でも fedora でも起きることは注記されるべきだよ、arch に限らない一般的な問題みたいだよ、とのこと。
#9742
startDate = Time.parse(‘2014-Apr-01 12:00:30’) という行をデバッグしようとしたら SEGV
[ruby-core:62306] by Nobuyoshi Nakada
debugger gem の開発者に聞いてね、とのこと。
あーやっぱり。コメントしておくべきだったかもしれません。
#9772
IO#statfs と File::Statfs
[ruby-dev:48167] by Akira Tanaka
(statvfs でなく statfs なのは f_type が欲しいから、というコメントを受けて)なるほどね、じゃあ f_type のない環境では statvfs があっても IO#statfs は提供しないということなのかな、とのこと。
(NetBSD と OpenBSD でも動くはずどいうコメントを受けて)OpenBSD 5.5 で試したらコンパイルできなかったよ、ヘッダファイルが足りない感じかな、とのこと。
#9794
DateTime.strptime() が ‘%s %z’ 指定の時に正しく動かない
[ruby-core:62301] by Eric Hodel
不躾な態度はやめてね、却下の理由は #7445 に書かれてるよ、コミッタがみんな英語ペラペラってわけじゃないから日本語もありだよ、(reject の理由は)わかるはずだよ、とのこと。
[ruby-core:62303] by Ryan Davis
フィードバック待ち。双方不満はあろうだろうけどそれは置いといて、感情的にならず #7445 に書かれた事実だけで評価すると明らかにバグに見えるよ、ドキュメントで参照されている strptime(3) には「返り値は地方時タイムゾーンに依存し、strftime(3) の逆操作とみなせる」と書かれているよ、C 実装や例示された他の実装のようになっていないよ、とのこと。
Charlie さんのパッチはよさそうだよ、中立な第三者(まともとさんとかささださんかな?とのこと)にパッチの評価とふなばさんの日本語の論拠との比較検討をしてもらいたいよ、結論がどうあれ、英語で説明してくれれば緊張状態の緩和の助けになるしチケットも穏便に閉じられると思うよ、とのこと。
[ruby-core:62311] by Felipe Contreras
(第三者に評価してもらうのはどうかというコメントを受けて)まつもとさんは ML で返信してくれたけど主張が正しいと思えなかったので反論したよ、評価はご自由にだけど、問題は読んでわかる通り明らかだよ、とのこと。
ML というのは ruby-talk のことらしいです。興味のある方は元のメールにリンクがあるのでそちらからどうぞ。
[ruby-core:62314] by tadayoshi funaba
英語が堪能だとしても考えをわかってもらえると思えないよ、strcut tm で %s や %z を表現できないという直接的な問題ではないよ、C の時刻関数には地方(または局所)時か世界時かの区別しかなくゾーンは選べないので strptime() で受け付けても仕様に従えば mktime() や gmtime() で使うことは出来ないよ、それに %z に対応するメンバがあっても %s に対応するものは普通ないから時差を持っていても矛盾してしまうよ、とのこと。
%s は(実装の有無や閏秒の課題で)可搬性に乏しいものだよ、strptime が完璧だとは思ってないし田中さん(akr さん)なんかは割りきって諦めるんだろうけど、(DateTime には)次善の策として _strptime を用意してあるよ、今回の件はこれで何とかなるよね、’%s %z’ 自体がおかしいと思うのでこれに原則を曲げて対応する必要はないと思うよ、とのこと。
あー、_strptime 使ったらどうかって話は 7445 ですでに通った道だったんですね。
[ruby-core:62315] by tadayoshi funaba
Reject。
[ruby-core:62316] by Akira Tanaka
“%s %z” がなんでそんなにいけないのかわからないよ、(C では地方時か世界時かの区別しかないとのコメントを受けて)Ruby では struct tm でなく DateTime や Time のオブジェクトを扱っていて自分自身の情報を把握しているんだからその問題は避けられると思うよ、Time.at(s).getlocal(z) とするのがそれほどおかしいとは思わないよ、とのこと。
閏秒については同意するしその点があるから同じくおすすめしないよ、(r18734 から)ruby 本体でも ext/date でも strptime() や strftime() は使ってないから %s の存在の有無は関係ないと思うよ、とのこと。
lib/time.rb に strptime を足したのはまつもとさんであってその時意見や判断を求められたりはしなかったよ、そのあと実装をいじったりもしてるから全く関係ないとはいけないけどね、とのこと。
[ruby-core:62317] by tadayoshi funaba
(”%s %z” がまずい理由は)日付としておかしいからだよ、(DateTime や Time は自身の情報を持っているので地方時の指定の問題を避けられる、というコメントを受けて)主張の論拠が「バグだから直せ」(だからさらにその根拠の strptime(3) について言及しただけ)なのであって ruby の都合の話ではないよ、Time.at(s).getlocal(z) の例は納得しそうになるけど、オブジェクトの操作としてでなく日付だと考えるとやっぱりおかしいし入れる強い動機もわからないよ、とのこと。
(%s が存在しない実装については)’%s %z’ が使えて当たり前という考えらしいから言及したよ、(lib/time.rb について)使うのがダメとは言わないよ、こういう時のために _strptime はあるんだと思ってはいるよ、逆に Time.strptime が互換性・統一性を捨てたのが捨てたのが疑問なので元に戻すことを提案するよ、とのこt.
[ruby-core:62318] by Felipe Contreras
英語で書いてよ、とのこと。
[ruby-core:62319] by Akira Tanaka
「日付としておかしい」ってどういうこと?確かに人間が日常的に扱う形式じゃないけど『%s が過去から未来への流れの中の 1点を指定し、%z がその 1点の表現方法を UTC からの offset という形でを指定する(原文ママ)』と解釈すると(閏秒の話を除いて)問題があると思えないよ、それとも時分秒の入ってなさそうな「日付」という言葉に深い意味があるのかな、とのこと。
(Time.at(s).getlocal(z) の例について)日付と日付オブジェクトの違いがわからないけど “%s %z” をオブジェクトを生成・改変する操作の列とみなすという意味かな、それなら %s と %z は独立だと考えるからそういう意味だとは思えないよ、getlocal で地方時の表現方法を変えるわけだけど Time.at が表現方法を指定する引数を持っていないからそうするだけだよ、とのこと。
(動機について)git で使われているからという動機は述べられているんじゃないかな、(Time.strptime が互換性・統一性を捨てたとのコメントについて)ここでいう互換性・統一性ってなに?あと(戻すべき)元ってどの段階?とのこと。
[ruby-core:62322] by tadayoshi funaba
(「日付としておかしい」について)見慣れないという意味ではないよ、ユリウス日のようなものも日付だと思ってるし、%s 単体では特に問題と思っていないよTODO:あとで読む
[ruby-core:62323] by Akira Tanaka
TODO:あとで読むTODO:あとで読む
[ruby-core:62324] by tadayoshi funaba
TODO:あとで読む
#9795
trunk で spreadsheet gem がうまく動かない
[ruby-core:62302] by Nobuyoshi Nakada
カテゴリを「コア」に、状態をフィードバック待ちに、対象バージョンを 2.2.0 に。シンボル GC が r45426 で 5/26 に入って、それから数日で3/26 に入って、ここ最近で attrset ID のバグがいくつか直されたよ、新しい trunk で試してみてね、とのこと。
指摘頂いたので修正。r を y、e を o と空目していた、ということなんでしょうか。自分で自分がわからない。
#9796(新規)
GC 修正の r45638 と r45760 のバックポート依頼(2.1)
[ruby-core:62304] by Eric Wong
r45638 は #9518 の修正で r45760 は明らかに正しく見える 1 行修正だよ、ほかにも重要な GC バグ修正があるかもね、他の人(nari さんやささださんやなかださん)の反応を待つよ、とのこと。
#9797(新規)
Math::log の DomainError チェック漏れ
[ruby-core:62309] by cremno phobia
基数に負の数を与えた時、Math::log は Math::DomainError を上げるべきだよと思うよ、Math.log(-1.0) は同例外になるのに Math.log( 1.0, -1.0) はそうならないよ、とのこと。
[ruby-core:62312] by Nobuyoshi Nakada
クローズコミット。
#9798(新規)
Psych 最新版のバックポート(2.1)
[ruby-dev:48168] by Hiroshi SHIBATA
同梱 libyaml を 0.1.6 にした最新の Psych にバックポートすべきだよ、参照コミットは r45221 と r45453 と r45455 と r45577 だよ、とのこと。
#9799(新規)
Math::atan2 の引数が両方 Float::INFINITY だった時に値を返してほしい
[ruby-core:62310] by cremno phobia
現状 Math.atan2(y, x) は引数が2つとも正または負の無限大のときに Math::DomainError になるけど、これが 0.7853981633974483 (== Math::PI / 4)を返すパッチを書いたよ、とのこと。
#9800(新規)
2.1.2 リリース時に GC_HEAP_OLDOBJECT_LIMIT_FACTOR を 1.3 にしてほしい
[ruby-core:62313] by Sam Saffron
2.1 でのメモリ量の増大に不満のある人は多いよ、#9607 にささださんの素晴らしい案があるよ、とのこと。
GC_HEAP_OLDOBJECT_LIMIT_FACTOR を 1.3 に減らすことを提案するよ、これなら(メモリ使用量が)せいぜい 2.0 系の 1.5 倍ぐらいになるよ、設定が可能なのは素晴らしいけど現実にはユーザは弄りたくないと思うよ、とのこと。
「2.0 系の 1.5 倍」のあたり意味が取れていない可能性大。むりやりごまかしました。
ruby-ML ななめ読む [ruby-dev:48162-48166] / [ruby-core:62267-62300]
いやあ省略って本当にいいものですね。歪曲になっていないことを願うばかりです。なってたら指摘くだされば出来る限り直します。
[ruby-dev:48162] by Tomoyuki Chikanaga:#9592
[ruby-dev:48163] by Daniel Berger:#9772
[ruby-dev:48164] by Nobuyoshi Nakada:#9789
[ruby-dev:48165] by Naohisa Goto:#9789
[ruby-dev:48166] by Naohisa Goto:#9772
[ruby-core:62267] by Tomoyuki Chikanaga:#9671
[ruby-core:62268] by Richard Schneeman:#9785
[ruby-core:62269] by L Nikkoara:#6634
[ruby-core:62270] by Akira Tanaka:#9785
[ruby-core:62271] by Eric Hodel:#9790
[ruby-core:62272] by Ryan Davis:#9781
[ruby-core:62273] by Ryan Davis:#9711
[ruby-core:62274] by Hiroshi SHIBATA:#9793
[ruby-core:62275] by Marc-Andre Lafortune:#9781
[ruby-core:62276] by Marc-Andre Lafortune:#9781
[ruby-core:62277] by Marc-Andre Lafortune:#9781
[ruby-core:62278] by Nobuyoshi Nakada:#9785
[ruby-core:62279] by Nobuyoshi Nakada:#9792
[ruby-core:62280] by Hiroshi SHIBATA:#9742
[ruby-core:62281] by Hiroshi SHIBATA:#9741
[ruby-core:62282] by Hiroshi SHIBATA:#9738
[ruby-core:62283] by Hiroshi SHIBATA:#9720
[ruby-core:62284] by Hiroshi SHIBATA:#9661
[ruby-core:62285] by Ryan Davis:#9781
[ruby-core:62286] by Felipe Contreras:#9794
[ruby-core:62287] by tadayoshi funaba:#9794
[ruby-core:62288] by tadayoshi funaba:#9794
[ruby-core:62289] by tadayoshi funaba:#7445
[ruby-core:62290] by tadayoshi funaba:#9794
[ruby-core:62291] by Felipe Contreras:#9794
[ruby-core:62292] by tadayoshi funaba:#9608
[ruby-core:62293] by tadayoshi funaba:#9513
[ruby-core:62294] by tadayoshi funaba:#9794
[ruby-core:62295] by Richard Schneeman:#9781
[ruby-core:62296] by Zachary Scott:#9741
[ruby-core:62297] by Eric Wong
[ruby-core:62298] by Zachary Scott
[ruby-core:62299] by Niklaus Giger:#9795
[ruby-core:62300] by Felipe Contreras:#9794
チケット無し
[ruby-core:62297] by Eric Wong
(r45760 の不要なヒープ拡張の抑制を受けて)重要な修正だから 2.1 にバックポートされるべきと思うよ、半日前からサーバーを r45777 で実稼動させてるけど、メモリ消費が以前 60-80 MB とかそれ以上になるときもあったのに今は 30MB 以下まで劇的に減少したよ、とのこと。
実際の数字の説得力。
[ruby-core:62298] by Zachary Scott
(r45760 をバックポートすべきという [ruby-core:62297] を受けて)そう思うならバックポートチケット作ってね、とのこと。
#6634
ConditionVariable と join でデッドロックする
[ruby-core:62269] by L Nikkoara
同じ問題に遭遇したよ、テストケースを縮小したりスレッド数をいじったりしたものを添付したよ、起動させてすぐ確実にクラッシュするよ、Ruby スレッドの使い方がおかしかったら教えてね、そうでなければチケットを再確認して再オープンしてもらえるかな、とのこと。
「スレッド数を fiddle 化」ってどういうことなのか、と考えこんでしまった。そういうことじゃない。
#7445
strptime(‘%s %z’) がおかしい
[ruby-core:62289] by tadayoshi funaba
関連するチケットに #9794 を追加。
#9513
Rational の内部構造を隠蔽したい
[ruby-core:62293] by tadayoshi funaba
担当者をまつもとさんに。こっちはそれでいい(から、あとはまつもとさんに判断を任せる)よ、とのこと。
#9592
古い OpenSSL で SEGV することがある
[ruby-dev:48162] by Tomoyuki Chikanaga
2.1 のバックポートを済に。r45271 を r45778 で 2.1 にバックポートしたよ、とのこと。
#9608
複素数や有理数作成時にでかい alloca をさせないパッチ
[ruby-core:62292] by tadayoshi funaba
試してみたいからコミットしてみて、とのこと。
#9661
CSV のヘッダが空のときに変換処理で NoMethodError
[ruby-core:62284] by Hiroshi SHIBATA
クローズ。元の pull request がクローズ済み(コミット済み)だよ、とのこと。
#9671
r45271(#9592 古い OpenSSL で SEGV することがある) のバックポート(2.1)
[ruby-core:62267] by Tomoyuki Chikanaga
クローズバックポート。
#9711
test-unit と minitest を添付から外したい
[ruby-core:62273] by Ryan Davis
それはそれとしてパッチはよさそうだよ、lib/ から削除しちゃったらどうかな、とのこと。
#9720
Net::IMAP の RDoc の校正
[ruby-core:62283] by Hiroshi SHIBATA
クローズコミット。
#9738
Rinda::TupleEntry#renew のドキュメント修正
[ruby-core:62282] by Hiroshi SHIBATA
クローズコミット。
#9741
http://www.ruby-lang.org への公開アナウンスとセキュリティポストの方針について
[ruby-core:62281] by Hiroshi SHIBATA
クローズ。開発者会議で議論したよ、既知の問題は github と w.r-l.o のレビュワー間の合意形成、既知でない問題にはコア開発者・セキュリティ ML メンバ・ブランチメンテナ間の合意形成、その他は github.com/ruby/www.ruby-lang.org 上での合意形成、を必要とすることになったよ、とのこと。
「既知」「既知でない」はわかるんですが、「その他」というのがわからない……「セキュリティ問題以外」ということ?
[ruby-core:62296] by Zachary Scott
担当者を zzak さんに。明確な方針が決まってうれしいよ、wiki にまとめるね、とのこと。
#9742
startDate = Time.parse(‘2014-Apr-01 12:00:30’) という行をデバッグしようとしたら SEGV
[ruby-core:62280] by Hiroshi SHIBATA
クローズ。
え、これはなんでクローズ?回避可能でも SEGV 自体は問題だと思うのですが。ただ、3rd っぽい(debugger の問題っぽい)のは確か。というかそれ以前に debugger って 1.9 on windows で動くんでしたっけ。
#9772
IO#statfs と File::Statfs
[ruby-dev:48163] by Daniel Berger
あと sys-filesystem gem も参照してね、とのこと。
[ruby-dev:48166] by Naohisa Goto
r45790 で File::Statfs#fstypename を AIX, HP-UX, Solaris でも使えるようにしたよ、動作確認は Solaris でだけしているよ、statvfs.f_basetype を代替にしているよ、とのこと。
#9781
Method#super_method の提案
[ruby-core:62272] by Ryan Davis
何か自分が勘違いしてるかもだけど複雑なことじゃない気がするよ、なんで祖先を全部見てるのかわからないよ、self.class.superclass.instance_method(name) でいいんじゃない、とのこと。
[ruby-core:62275] by Marc-Andre Lafortune
単純な単階層のクラス継承だけならそれでもいいけど、Module#prepend とか複数階層の継承があるときはそう自明なことじゃないよ、継承関係の中で同じモジュールが複数回 include されうるとしたら実質不可能だよ、提案には賛成だけど名前は短く Method#super がいいな、キーワード衝突はないと思うし、もしあっても class と同じように self.super と書けばいいと思うよ、とのこと。
[ruby-core:62276] by Marc-Andre Lafortune
(call したときの挙動は普通の Method や UnboundMethod と同じ、とのコメントを受けて)Method はそうだけど、UnboundMethod#super_method がどう定義されるかわからないよ、モジュールは継承関係が一意に決まらないよ、とのこと。
[ruby-core:62277] by Marc-Andre Lafortune
Marc-Andre あなた疲れてるのよ、とのこと。
UnboundMethod#super_method についてはどのクラスからメソッド呼び出しされたか保持してるから問題なかったよ、Ryan さんの疑問については UnboundMethod のオリジナルの所有者を得る API がなく、たとえば Hash.instance_method(:map) の super_method 取得は Ruby では実装できないよ、とのこと。
[ruby-core:62285] by Ryan Davis
まだよくわからないよ、call/super できるんなら捕捉できるんじゃないの、とのこと。
ちょっとわからなくなってきました。この辺誤訳している可能性高し。
[ruby-core:62295] by Richard Schneeman
インスタンス自体が extend されたときに捕捉できないよ、これこそ元のパッチで superclass でなく ancestors を使った理由だよ、とのこと。
#9785
スレッドセーフな Dir.chdir の提案
[ruby-core:62268] by Richard Schneeman
openat とかの *at 系は提案に近いけど、chdir ブロック内部のスクリプトを実行するという要求は満たせないよ、スレッドと cwd の大前提(cwd はプロセス単位で管理)と矛盾するのでこのチケットは閉じてよさそうだよ、機能の使いやすさについてはまた新しくチケット切ったほうが良さそうだよ、ruby forum に関連した議論を見つけたよ、とのこと。
[ruby-core:62270] by Akira Tanaka
spawn と system と IO.popen の :chdir オプションは親に影響を与えずに子のカレントディレクトリを変えられるよ、とのこと。
このオプション fork にも欲しいなーと思うけど、別に Ruby でやる必要はない(gem でやれるはず)。
[ruby-core:62278] by Nobuyoshi Nakada
あと出力を抑制したいなら out: IO::NULL, err: [:child, :out] みたいな指定もできるよ、とのこと。
[:child, :out] 知らなかった。これは便利そう。
#9789
TestIO#test_seek{,_symwhence} が File::Statfs#type のない(Solaris などの)環境でエラー
[ruby-dev:48164] by Nobuyoshi Nakada
クローズコミット。
[ruby-dev:48165] by Naohisa Goto
テストが通るようになったよ、seek 失敗時に Procが呼ばれて Statfs#type から NotImplementedError になる可能性は残っているけど、その機能自体が #9772 で議論中なので結論を待つよ、とのこと。
#9790
Zlib::GzipReader が連結したファイルの最初のものしか解凍してくれない
[ruby-core:62271] by Eric Hodel
カテゴリを「拡張ライブラリ」、担当者を drbrain さん、対象バージョンを 2.2.0 に。
#9792
homebrew からインストールした ruby で jekyll を動かしていて SEGV
[ruby-core:62279] by Nobuyoshi Nakada
rvm 開発者に聞くべきだよ、とのこと。
#9793
thread パッケージが http://www.ruby-doc.org/stdlib-2.1.1/ や 2.1.0 にない
[ruby-core:62274] by Hiroshi SHIBATA
3rd 行き。www.ruby-doc.org は管轄していないからそっちの管理者に連絡してね、とのこと。
#9794(新規)
DateTime.strptime() が ‘%s %z’ 指定の時に正しく動かない
[ruby-core:62286] by Felipe Contreras
Time.strptime(‘0 +0100’, ‘%s %z’).strftime(‘%s %z’) は正しく “0 +0100” を返すのに DateTime.strptime(‘0 +0100’, ‘%s %z’).strftime(‘%s %z’) は “0 +0000” になるよ、Rubinious だと正しく “0 +0100” になるよ、これのせいで RubySL プロジェクトの date のテストが失敗するよ、C でも perl でも正しく処理されるから DateTime.strptime が修正されるべきなのは明らかだよ、とのこと。
[ruby-core:62287] by tadayoshi funaba
カテゴリを「拡張ライブラリ」、担当者をふなばさん、優先度を低に。
[ruby-core:62288] by tadayoshi funaba
関連するチケットに #7445 を追加。
[ruby-core:62290] by tadayoshi funaba
Reject。#7445 と全く同じ(だから、あっちと同じ理由で Reject)だよ、とのこと。
[ruby-core:62291] by Felipe Contreras
お話にならないよ、適切なパッチを理由もなく却下せずに理由を上げてね、とのこと。
本筋以外のところを大幅に省略。以下同様。
[ruby-core:62294] by tadayoshi funaba
C で意図通りに扱えてるという主張は仕様と実装を恣意的に繋げているよ、構文的に解析出来ても意味的な解釈は仕様上どうしても無理だよ、time の現状は Time.strptime(‘0 -0900’, ‘%s %z’) が 1969-12-31 15:00:00 -0900 を、Time.strptime(‘2001 -0900’, ‘%Y %z’) が 2001-01-01 18:00:00 +0900 を返すようになっていて、DateTime はこれに従うことはできないよ、とのこと。
[ruby-core:62300] by Felipe Contreras
英語で書いてよ、Time.strptime(‘2001 -0900’, ‘%Y %z’) は明らかに無関係だよ、’%Y %z’ を直したいならご自由にだけど、’%s %z’ を直さない理由にはならないよ、とのこと。
本筋以外のところですが注釈。[ruby-core:62294] が唐突に日本語メールなのには、7445 で Felipe さんがふなばさんに「あんたの英語わけわかんねー」的なことを言ってふなばさんが「じゃあ日本語で書いてやらー」と応じた経緯がある、ということを補足しておきます。
#9795(新規)
trunk で spreadsheet gem がうまく動かない
[ruby-core:62299] by Niklaus Giger
コミットがない(コードに変更がない)のに spreadsheet gem の travis-ci が trunk(r45502) で失敗するようになったよ、直前の ci では trunk(r45182) で成功していたよ、r45788 でも再現するよ、2.2 対応するのはいいんだけど、新機能のせいでビルド失敗しているのかバグなのか全くわからないよ、何か助言もらえると助かるよ、とのこと。
ruby-ML ななめ読む [ruby-dev:48148-48161] / [ruby-core:62253-62266]
ruby-dev の流量が多いとなんか嬉しい。チケット操作で増えてるのはそうなんですが、それでも。
[ruby-dev:48148] by Takahiro Kambe :#9772
[ruby-dev:48149] by Takahiro Kambe:#9772
[ruby-dev:48150] by Takahiro Kambe :#9788
[ruby-dev:48151] by Takahiro Kambe:#9788
[ruby-dev:48152] by Naohisa Goto:#9788
[ruby-dev:48153] by Naohisa Goto:#9788
[ruby-dev:48154] by Naohisa Goto:#9789
[ruby-dev:48155] by Naohisa Goto:#9772
[ruby-dev:48156] by Naohisa Goto:#9789
[ruby-dev:48157] by Nobuyoshi Nakada:#9789
[ruby-dev:48158] by Naohisa Goto:#9789
[ruby-dev:48159] by Tomoyuki Chikanaga:#9630
[ruby-dev:48160] by Tomoyuki Chikanaga:#9630
[ruby-dev:48161] by Tomoyuki Chikanaga:#9702
[ruby-core:62253] by Nobuyoshi Nakada:#9781
[ruby-core:62254] by SASADA Koichi :#9781
[ruby-core:62255] by Koichi Sasada:#9781
[ruby-core:62256] by Aaron Patterson:#9787
[ruby-core:62257] by Jake Quain:#9790
[ruby-core:62258] by Ryan Davis:#9711
[ruby-core:62259] by Chaz Domerese:#9791
[ruby-core:62260] by Martin Durst:#9711
[ruby-core:62261] by Zili Yin:#9792
[ruby-core:62262] by Tomoyuki Chikanaga:#9578
[ruby-core:62263] by Nobuyoshi Nakada:#9792
[ruby-core:62264] by Usaku NAKAMURA:#9578
[ruby-core:62265] by Zili Yin:#9792
[ruby-core:62266] by Ye Jia:#9793
#9578
‘Function’ が readline.c で未定義
[ruby-core:62262] by Tomoyuki Chikanaga
2.1 のバックポートを済に。
[ruby-core:62264] by Usaku NAKAMURA
2.0.0 のバックポートを済に。
#9630
readline-6.3 対応のバックポート(2.1)
[ruby-dev:48159] by Tomoyuki Chikanaga
近永さんを担当者に。
[ruby-dev:48160] by Tomoyuki Chikanaga
クローズバックポート。
#9702
r45488以降、SolarisStudioで ext/readline がコンパイルエラー(readline 6.2使用)(原文ママ)
[ruby-dev:48161] by Tomoyuki Chikanaga
2.1 のバックポートを済に。r45518 を r45773 で 2.1 にバックポートしたよ、とのこと。
#9711
test-unit と minitest を添付から外したい
[ruby-core:62258] by Ryan Davis
反応遅れてごめん言葉を選んでたよ、minitest と test-unit をメンテナンス性(の悪さ)から test/ に移動させるのには反対しないけど、テストライブラリを用意しないでリリースするのには強く反対するよ、Ruby コミュニティにはテストを中心とした文化と歴史があるよ、テストライブラリをなくすのは今まで培った文化への裏切りだし、それをリリースするなんて恥だよ、とのこと。
minitest は手放すので test-unit に統合することを提案するよ、minitest 5 と他の添付 gem を実際の gem ファイルにしてリリースに含めたいよ、とのこと。
ship をリリースと訳してしまったがこれでいいのかどうか。あと「実際の gem」というのもあまりよい訳とはいえない。
[ruby-core:62260] by Martin Durst
遅れたかもしれないけど素晴らしい言葉の選び方だったと思うよ、(テストライブラリの削除が文化を損なうという発言を受けて)しかりその通り、似た内容のことを直近のコミッタ会議(開発者会議)で発言したよ、(あくまで例えだけど)有理数や複素数が組み込みサポートなのにテストの機能が提供されないなんて根本から間違ってるよ、[ruby-core:62258] の提案をチケットにすることを強く勧めるよ、とのこと。
#9772
IO#statfs と File::Statfs
[ruby-dev:48148] by Takahiro Kambe
(「NetBSD はどうなのか」という発言の意図は「NetBSD で動かないのはよくないのではないか」ということだったとの返答を受けて)そういう意味だったんだ、NetBSD は statfs をソースレベルで完全に捨てて statvfs にしたよ、とのこと。
[ruby-dev:48149] by Takahiro Kambe
[ruby-dev:48148] の重複。
[ruby-dev:48155] by Naohisa Goto
関連するチケットに #9789 を追加。
#9781
Method#super_method の提案
[ruby-core:62253] by Nobuyoshi Nakada
(返り値である Method オブジェクトを call したらどうなるのかという質問を受けて)Method か UnboundMethod の普通のオブジェクトだから、SuperClass.instance_method(:foo).bind(obj) と同じことだよ、とのこと。
[ruby-core:62254] by SASADA Koichi
ああそうか、Method クラスの仕様を勘違いしていたよ、とのこと。
[ruby-core:62255] by Koichi Sasada
[ruby-core:62254] の重複。
#9787
r45698 以降 Rails のテストで SEGV
[ruby-core:62256] by Aaron Patterson
SEGV は直ったみたいだけど(Rails のテストで)wrong argument type Symbol (expected Symbol) (TypeError) のような例外が出ているよ、再現コードを短くしてみようと思うよ、とのこと。
#9788
Solaris で test-all が “TestFile#test_statfs = Bad System Call” で中断する
[ruby-dev:48150] by Takahiro Kambe
(fstatfs(2) は Solaris 10 では呼んでも動作しないのではないか、という発言を受けて)過去のリリースでコンパイルしたバイナリでは動作するかもね(語尾以外原文ママ)、とのこと。
うわー前回読まずに省略した箇所への言及がきてしまった。やはり省略せずによむべきだったかもしれません。
[ruby-dev:48151] by Takahiro Kambe
[ruby-dev:48150] の重複。
[ruby-dev:48152] by Naohisa Goto
クローズコミット。
[ruby-dev:48153] by Naohisa Goto
32ビットでは未確認だったよ、32ビットビルドなら SunOS 時代のバイナリでも動くのが Solaris10 の売りだし動作する気がするよ、とのこと。
#9789(新規)
TestIO#test_seek{,_symwhence} が File::Statfs#type のない(Solaris などの)環境でエラー
[ruby-dev:48154] by Naohisa Goto
File::Statfs#type のない環境で TestIO#test_seek{,_symwhence} がエラーになるよ、r45760 (+ Bug #9788 のパッチ)on Solaris 10 で確認したよ、とのこと。
[ruby-dev:48156] by Naohisa Goto
関連するチケットに #9772 を追加。
[ruby-dev:48157] by Nobuyoshi Nakada
カテゴリを「コア」、担当者を ngoto さん、対象を 2.2.0 に、2.0.0 と 2.1 をともにバックポート対象から除外。IO::SEEK_DATA 自体は動くのかな、とのこと。
[ruby-dev:48158] by Naohisa Goto
IO::SEEK_{DATA,HOLE} もあるし f.seek(0, :DATA) なんかも動くよ、とのこと。
#9790(新規)
Zlib::GzipReader が連結したファイルの最初のものしか解凍してくれない
[ruby-core:62257] by Jake Quain
Node.js の古い issue に似た現象だよ、テキストファイルを2つ別々に gzip 圧縮してから cat で連結したものを Zlib::GzipReader で解凍すると連結ファイルの片方しか抽出されないよ、とのこと。
gzip 圧縮したファイルって cat してから展開できるんですね。ほえー。
#9791(新規)
irb または sqlite3 と組み合わせて gets を使うと SEGV
[ruby-core:62259] by Chaz Domerese
Windows 7 の msys/mingw 環境で、readline をインストールしてから最新版の Ruby をビルドしたよ、バックスペースを押すと二個前の文字を消すし他のキーも不安定だったよ、readline なしで再ビルドしたら今度は irb が使えないので rb-readline を入れたよ、そしたら gets すると SEGV するようになったよ、sqlite3 を入れても SEGV したから、自信ないけど readline 周りの問題じゃないかと思うよ、とのこと。
なんかここまでひどい状態だと、環境がどうしようもなく壊れているか、そもそも readline が msys 非対応なんじゃないかという気がしてきます。
#9792(新規)
homebrew からインストールした ruby で jekyll を動かしていて SEGV
[ruby-core:62261] by Zili Yin
.crash ファイル添付。
一言もないのが潔い。題と .crash でわかるでしょ、と。確かに。
[ruby-core:62263] by Nobuyoshi Nakada
3rd 行き。2.0.0 と 2.1.1 の共有ライブラリが混ざってるよ、とのこと。
[ruby-core:62265] by Zili Yin
もう rbenv 入れちゃったよ、どうやったら回避できるのかな、とのこと。
#9793(新規)
thread パッケージが http://www.ruby-doc.org/stdlib-2.1.1/ や 2.1.0 にない
[ruby-core:62266] by Ye Jia
これ(題名を参照)って意図的なの?とのこと。
ruby-doc.org に言うべきなんじゃないでしょうか。それとも RDoc が書かれていなくて生成されていないという話?
ruby-ML ななめ読む [ruby-dev:48137-48147] / [ruby-core:62216-62252]
2.0 新メンテナの活躍っぷりがすばらしいです。あとそれとは関係無いですが、今回後半眠くて省略しまくりなのがなんとも申し訳ない。
[ruby-dev:48137] by Nathan Youngman:#9592
[ruby-dev:48138] by Heesob Park:#9763
[ruby-dev:48139] by Hiroshi SHIBATA:#9630
[ruby-dev:48140] by Usaku NAKAMURA:#9763
[ruby-dev:48141] by Naohisa Goto:#9702
[ruby-dev:48142] by Yui NARUSE:#9772
[ruby-dev:48143] by Usaku NAKAMURA:#9656
[ruby-dev:48144] by Usaku NAKAMURA:#9702
[ruby-dev:48145] by Naohisa Goto:#9788
[ruby-dev:48146] by Naohisa Goto:#9772
[ruby-dev:48147] by Naohisa Goto:#9788
[ruby-core:62216] by David Rodriguez:#9759
[ruby-core:62217] by Richard Schneeman:#9785
[ruby-core:62218] by Richard Schneeman:#9785
[ruby-core:62219] by Rodrigo Rosenfeld Rosas:#9785
[ruby-core:62220] by Andrew Vit:#9777
[ruby-core:62221] by Eric Wong :#9785
[ruby-core:62222] by Eric Wong:#9785
[ruby-core:62223] by Daniel Lo:#9786
[ruby-core:62224] by Richard Schneeman:#9777
[ruby-core:62225] by Andrew Vit:#9777
[ruby-core:62226] by Aaron Patterson:#9787
[ruby-core:62227] by Nobuyoshi Nakada:#9786
[ruby-core:62228] by Nobuyoshi Nakada:#9787
[ruby-core:62229] by Nobuyoshi Nakada:#9787
[ruby-core:62230] by Yui NARUSE
[ruby-core:62231] by Nobuyoshi Nakada:#9785
[ruby-core:62232] by Usaku NAKAMURA:#9631
[ruby-core:62233] by Usaku NAKAMURA:#9578
[ruby-core:62234] by Usaku NAKAMURA:#9631
[ruby-core:62235] by Usaku NAKAMURA:#9631
[ruby-core:62236] by Usaku NAKAMURA:#9649
[ruby-core:62237] by Naohisa Goto:#9631
[ruby-core:62238] by Naohisa Goto:#9631
[ruby-core:62239] by Usaku NAKAMURA:#9631
[ruby-core:62240] by Usaku NAKAMURA:#9560
[ruby-core:62241] by Usaku NAKAMURA:#9525
[ruby-core:62242] by Usaku NAKAMURA:#9622
[ruby-core:62243] by Koichi Sasada:#9781
[ruby-core:62244] by Koichi Sasada:#9759
[ruby-core:62245] by Usaku NAKAMURA:#9475
[ruby-core:62246] by Usaku NAKAMURA:#9652
[ruby-core:62247] by Usaku NAKAMURA:#9688
[ruby-core:62248] by Usaku NAKAMURA:#9560
[ruby-core:62249] by Nobuyoshi Nakada:#9787
[ruby-core:62250] by Koichi Sasada:#9759
[ruby-core:62251] by Koichi Sasada:#9759
[ruby-core:62252] by David Rodriguez:#9759
チケット無し
[ruby-core:62230] by Yui NARUSE
(准メンテナ制の提案を受けて)賛成するよ、とのこと。
#9475
include したモジュールのメソッドを super で呼ぶメソッドに alias をつけた時の挙動が 1.9.x と 2.x で違う
[ruby-core:62245] by Usaku NAKAMURA
2.0 のバックポートを済に。r45367 と r45387 と r45388 と r45389 を r45750 にまとめて 2.0.0 にバックポートしたよ、とのこと。
#9525
Fluentd が Socket.pack_sockaddr_in で刺さることがある
[ruby-core:62241] by Usaku NAKAMURA
関連するコミットをメモするよ、45046,45047,45063,45087,45150,45151,45152 だよ、とのこと。
#9560
SimpleDelegator に send :open したときの挙動を 2.1 から 2.0 にバックポートして欲しい
[ruby-core:62240] by Usaku NAKAMURA
2.0 のバックポートを済に。r43682 と r43727 と r43752 と r43759 を r45747 にまとめて 2.0.0 にバックポートしたよ、あとテストコードのために assert_raise_with_message を実装したことも追記しておくよ、とのこと。
[ruby-core:62248] by Usaku NAKAMURA
2.0.0 をバックポート対象に。非互換が入っちゃったからリバートしたよ、とのこと。
#9578
‘Function’ が readline.c で未定義
[ruby-core:62233] by Usaku NAKAMURA
関連するチケットに #9631 を追加。
#9592
古い OpenSSL で SEGV することがある
[ruby-dev:48137] by Nathan Youngman
(非常に古い OpenSSL でしか再現しないのではないか、とのコメントを受けて)そうだね Heroku の Cedar スタックの OpenSSL は 0.9.8k 25 Mar 2009 だよ、(2.1.2 で修正される予定とのコメントを受けて)ありがとう 2.1.2 を楽しみにしているよ、とのこと。
#9622
一度呼び出し成功したメソッドが引数を無視することがある、メソッドキャッシュのバグかも
[ruby-core:62242] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45748 でバックポートしたよ、とのこと。
#9630
readline-6.3 対応のバックポート(2.1)
[ruby-dev:48139] by Hiroshi SHIBATA
r45488 と r45518(がバックポート対象のコミット)だよ、とのこと。
え、メール(と blade)だと r45488 の部分がまるまる無くなっている。どういうことでしょう、redmine => ml の連携の問題?
#9631
readline-6.3 対応のバックポート(2.0)
[ruby-core:62232] by Usaku NAKAMURA
関連するチケットに #9578 を追加。
[ruby-core:62234] by Usaku NAKAMURA
(チケットに列挙されたコミットに加えて)あと r45488 もだね、とのこと。
[ruby-core:62235] by Usaku NAKAMURA
クローズバックポート。
[ruby-core:62237] by Naohisa Goto
関連するチケットに #9702 を追加。
[ruby-core:62238] by Naohisa Goto
再オープン。r45518 (#9702)も(一緒に)バックポートしてね、とのこと。
[ruby-core:62239] by Usaku NAKAMURA
再クローズ。慌てないでね、(バックポートチケットから処理しているので、ということ?)trunk のチケットがあるんなら順番に処理していくよ、とのこと。
#9649
2.0 で thread_safe のテストを走らせていて SEGV
[ruby-core:62236] by Usaku NAKAMURA
クローズ。r44150 を見てね、とのこと。
#9652
Time オブジェクトがたくさんあるとタイムゾーンがちゃんと Marshal.dump/load されない
[ruby-core:62246] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45364 と r45395 と r45396 と r45403 と r45406 を r45752 にまとめてバックポートしたよ、とのこと。
#9656
ext/dl/extconf.rb に -fno-defer-pop オプションのチェックを追加
[ruby-dev:48143] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45751 でバックポートしたよ、とのこと。
#9688
mswin で 子プロセスが親のソケットを引き継いでしまう
[ruby-core:62247] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45753 でバックポートしたよ、とのこと。
#9702
r45488以降、SolarisStudioで ext/readline がコンパイルエラー(readline 6.2使用)(原文ママ)
[ruby-dev:48141] by Naohisa Goto
関連するチケットに #9631 を追加。
[ruby-dev:48144] by Usaku NAKAMURA
2.0.0 のバックポートを済に。r45754 でバックポートしたよ、とのこと。
#9759
[TracePoint API] 例外発生時に return イベントが抜け落ちる
[ruby-core:62216] by David Rodriguez
ささださん、これどうなってる?とのこと。
Bump って「おい」とか「こら」とか訳すと柄悪いし、↑みたいにしたら長ったらしくてニュアンス的に変わってくるしで難しい。
[ruby-core:62244] by Koichi Sasada
カテゴリを「コア」、担当者をささださんに。
[ruby-core:62250] by Koichi Sasada
クローズコミット。
[ruby-core:62251] by Koichi Sasada
2.1 をバックポート対象に。再現コード書いたよ、2.1 では直ると(バックポートされると)いいな、とのこと。
[ruby-core:62252] by David Rodriguez
ありがとう、直って嬉しいよ、同じく 2.1 に入ってほしいよ、とのこと。
#9763
Windows上のirbで「金」と入力できない
[ruby-dev:48138] by Heesob Park
これって ruby や irb じゃなく rb-readline のバグだね、github 上で直したよ、rb-readline の問題があったら github の本流に報告してね、とのこと。
あーそうかその可能性を失念していました。
[ruby-dev:48140] by Usaku NAKAMURA
3rd 行き。
#9772
IO#statfs と File::Statfs
[ruby-dev:48142] by Yui NARUSE
(なんで statvfs じゃないのかという質問を受けて)statfs だと f_type とかが取れないからだよ、(statvfs という名前で提供すべきではないかという提案を受けて)VFS の情報じゃなくファイルシステムの情報が欲しいよ、でも python だと os.statvfs なんだね、とのこと。
(statvfs にメンバ追加するのが主流なのかというコメントを受けて)Linux, FreeBSD, Darwin, OpenBSD では statfs を残しつつ statvfs の返すメンバは少なく、プロプライエタリと、NetBSD は statvfs に独自拡張していく、って感じじゃないかな、(現状で)NetBSDとOpenBSD で動くようにしたはずだよ、とのこと。
[ruby-dev:48146] by Naohisa Goto
関連するチケットに #9788 を追加。
#9777
Proc#to_lambda の提案
[ruby-core:62220] by Andrew Vit
単に lambda でラップしたものが欲しいってことなの?とのこと。
[ruby-core:62224] by Richard Schneeman
lambda &proc ってことかな、それもいいね、なかださんが言っているように Proc と lambda は違うからたまに両者を切り替えたくなるよ、もともとは lambda#to_proc が何もしないってことを知らないでチケット切ったよ、とのこと。
[ruby-core:62225] by Andrew Vit
throw を使ったらいいんじゃないかな、階層的に catch できるよ、とのこと。
#9781
Method#super_method の提案
[ruby-core:62243] by Koichi Sasada
メソッドから脱出後に call したら返されたメソッドを call するとどうなるの、とのこと。
指摘頂いたので修正。
#9785(新規)
スレッドセーフな Dir.chdir の提案
[ruby-core:62217] by Richard Schneeman
Dir.chdir にブロック渡すとスレッド内だけに影響を留める、というのを提案するよ、FileUtils の cd や chdir も同じだよ、とのこと。
大部分省略。
[ruby-core:62218] by Richard Schneeman
カレントディレクトリはスレッドでなくプロセス単位なので、OS べったりなコードを書く必要があることに気づいたよ、どう書いたらいいかわからないけど他の言語にヒントがあるかもね、とのこと。
[ruby-core:62219] by Rodrigo Rosenfeld Rosas
fork するようにしたらブロック内だけで chdir することになるかもね、とのこと。
fork して waitpid するってことでしょうか。そこまでして chdir したいかなあ……
[ruby-core:62221] by Eric Wong
(カレントディレクトリがプロセス単位だという部分を受けて)そうだね、openat とかの *at システムコールが POSIX にある理由の一つだよ、いいアイディアだけど OS サポート外となるどちょっと難しいかな、Linux から CLONE_FS をスレッド毎に外したりできるけど全くポータブルじゃないよ、とのこと。
[ruby-core:62222] by Eric Wong
[ruby-core:62221] の重複。
[ruby-core:62231] by Nobuyoshi Nakada
MVM ブランチではスレッドごとに cwd を設定できるよ、でもまだ不完全で File#rename とかないメソッドがあるよ、とのこと。
#9786(新規)
refinement & map(&:refinement_method) が動かない
[ruby-core:62223] by Daniel Lo
タイトルの通り。
謝辞と再現コードばっかりだったのでいっそのこと全部省略。
[ruby-core:62227] by Nobuyoshi Nakada
Reject。refinements はカレントスコープにだけ影響するよ、そそして Symbol#to_proc は呼び出し元のコンテキストとは無関係だよ、puts a.map {|x| x.add_z} みたいにブロック使えばいいと思うよ、とのこと。
#9787(新規)
r45698 以降 Rails のテストで SEGV
[ruby-core:62226] by Aaron Patterson
小さい再現コードはできていないけど r45698 以降 SEGV するよ、デバッガのトレースログを貼るよ、とのこと。想像通り rb_gc_resurrect() で SEGV しています。
[ruby-core:62228] by Nobuyoshi Nakada
(トレースログを見て)rb_gc_resurrect() に渡されてる 73328908 は 16 進だと 0x45ee90c だからスタティックなアドレスシンボルだね、”new” の ID が new を刺さずに C レベルで intern してるみたいだね、このパッチで直るかな、とのこと。
指摘頂いたので修正。
[ruby-core:62229] by Nobuyoshi Nakada
カテゴリを「コア」に、担当者をなかださんに、2.0.0 と 2.1 をともにバックポート対象から除外。
[ruby-core:62249] by Nobuyoshi Nakada
クローズコミット。
#9788(新規)
Solaris で test-all が “TestFile#test_statfs = Bad System Call” で中断する
[ruby-dev:48145] by Naohisa Goto
Solaris 10 で test-all すると “TestFile#test_statfs = Bad System Call” というエラーで中断するよ、statfs から呼ばれた fstatfs システムコールが SIGSYS を飛ばしているよ、とのこと。
詳しい状況説明を省略。面白そうな話ではあるんですが眠くてもうだめだ。
[ruby-dev:48147] by Naohisa Goto
関連するチケットに #9772 を追加。
ruby-ML ななめ読む [ruby-dev:48136] / [ruby-core:62206-62215]
[ruby-dev:48136] by Nobuyoshi Nakada:#9592
[ruby-core:62206] by Nobuyoshi Nakada:#9781
[ruby-core:62207] by Valentin Syrovatskiy:#9782
[ruby-core:62208] by Valentin Syrovatskiy:#9782
[ruby-core:62209] by Charlie Somerville:#9781
[ruby-core:62210] by Yusuke Endoh:#9782
[ruby-core:62211] by Valentin Syrovatskiy:#9782
[ruby-core:62212] by Arne Brasseur:#9783
[ruby-core:62213] by Arne Brasseur:#9784
[ruby-core:62214] by Arne Brasseur:#9783
[ruby-core:62215] by Heesob Park:#9189
#9189
Windows で TEMP に非 ASCII 文字が含まれているときビルドできない
[ruby-core:62215] by Heesob Park
trunk でまだビルド失敗するよ、パッチ書いたよ、とのこと。
#9592
古い OpenSSL で SEGV することがある
[ruby-dev:48136] by Nobuyoshi Nakada
すごく古い OpenSSL でだけ起きる現象なんじゃないかな、少なくとも他のプラットフォームでは再現できなかったよ、次の 2.1 である 2.1.2 でバックポート予定だよ、とのこと。
#9781
Method#super_method の提案
[ruby-core:62206] by Nobuyoshi Nakada
Markdown 修正。パッチ書いたけどテストはまだしてないよ、とのこと。
[ruby-core:62209] by Charlie Somerville
クラス・モジュール階層が複雑で規模が巨大なコードのデバッグにとても役立つと思うよ、とのこと。
#9782(新規)
Array#bsearch に複雑な条件を渡すとマッチする最初の要素を返してくれない
[ruby-core:62207] by Valentin Syrovatskiy
ハッシュキーで条件を渡すと、Array#bsearch がマッチする最初の要素を返してくれないよ、例えば [{a:1, b:2}, {a:3, b:4}].bsearch{|x| x[:a] == 1} は {a:1, b:2} を返して欲しいのに nil を返すよ、2.1.1 と 2.0.0p451 で確認したよ、とのこと。
[ruby-core:62208] by Valentin Syrovatskiy
もっと厳密に言うと、ブロック中の条件がイコール文のときに Array#bsearch がマッチした最初の要素を返してくれないよ、とのこと。
[ruby-core:62210] by Yusuke Endoh
Reject。Array#bsearch は二分探索だから配列がソート済みの時にしか上手く動作しないよ、言い換えるとブロック付きで呼び出すときは [false, false, …, false, true, true, …, true] となっていないといけないよ、この場合(すべての false が左に固まってない場合)は Enumerable#find を使ってね、とのこと。
[ruby-core:62211] by Valentin Syrovatskiy
[1, 2].bsearch{|x| x == 1} は nil を返すけど本当は 1 を返すことが期待されるよ、とのこと。
あれ、redmine 上だと「わかったよ説明ありがとう」的なことをおっしゃってるんですが、そのメールがない。そしてこのメールは redmine 上にない。どうなっているんでしょう。
#9783(新規)
Method#curry の提案
[ruby-core:62212] by Arne Brasseur
Proc#curry はあるけどメソッドのカリー化は to_proc しないといけないよ、直接カリー化できる Method#curry のパッチを書いたよ、とのこと。
[ruby-core:62214] by Arne Brasseur
パッチのドキュメントを更新したよ、面白いことに Method#to_proc は引数チェックの厳しい lambda を返し、Proc#curry はオプションで arity 引数を持っていて適合しないとメソッドが呼ばれないよ、arity が間違ってる時に Method#curry は例外発生か警告表示するのは当然だよ、とのこと。
#9784(新規)
URI#join(URI#merge の別名)の提案
[ruby-core:62213] by Arne Brasseur
Pathname と URI の一貫性のために、Pathname#join に似たURI#join を作るのはいいことだと思うよ、単純に URI#merge の別名のつもりだよ、とのこと。