丁稚な日々

Rubyで遊んだ日々の記録。あくまで著者視点の私的な記録なので、正確さを求めないように。
Rubyと関係ない話題にはその旨注記しているはず。なので、一見関係無いように見える話題もどこかで関係あるのかもしれません。または、注記の書き忘れかもしれません...

[直前] [最新] [直後] [Top]

Jul.27,2010 (Tue)

Revision: 1.2 (Jul.28,2010 10:05)

Jul.28,2010 (Wed)

Revision: 1.7 (Jul.28,2010 12:32)

[Changes]

_ あの「この日記で唯一役に立つ情報」と言われていた、Rubyの全変更をcommit単位で解説する企画「Changes」が帰ってきた!

_ というのは冗談ですが、サーバ停止中にあった変更を私が認識するために、とりあえず全部眺めてみることにしたので、ついでにその結果を吐き出しておきます。
対象はtrunkのみ。期間は7/22(木) 12:00〜7/26(月) 20:00。

nobu: r28710: 2010-07-22 12:02:40 +0900
ChangeLogにはintern.hとio.hに欠けていたプロトタイプ宣言を追加した、と書いてあって、それは一応事実なんですけど、他にも.cをいじって不要になったプロトタイプ宣言を削除したり、以上の話とはまったく関係ないgcc用の可視性関連のpragmaを追加してたりします。こらー!
nobu: r28711: 2010-07-22 12:09:31 +0900
先日、未使用のローカル変数があったら警告する機能が追加されて、その後ちょっと警告する条件が変わったりしたわけですが、その警告条件の変更にテストが追従していなかったのの修正です。
nobu: r28712: 2010-07-22 12:30:59 +0900
最新のautoconfでしか使えねー書き方してたものの修正。
nobu: r28713: 2010-07-22 12:58:18 +0900
configureでmingw用にdllimportが使えるかどうか検出しようとしてたんだけど、実はまったく検出できていなかったでござる! というのを直そうとしたんだけど実は直ってないどころか逆に全gccでdllimportが使えることになってしまったというバグの修正。
naruse: r28714: 2010-07-22 14:41:54 +0900
FreeBSDのためにmissingに追加されたruby_close()関連のプロトタイプの追加。後にこれが問題を引き起こす。
naruse: r28715: 2010-07-22 16:29:32 +0900
[ruby-core:31431]の修正。ASCII-8BITな正規表現のinspect結果がおかしかったというもの。
mame: r28716: 2010-07-22 20:15:16 +0900
[ruby-core:31269]の修正。pthreadな環境でスレッド作るとメモリリークしてたというもの。
nobu: r28717: 2010-07-22 20:59:03 +0900
さっき紹介したばかりのdllimportの話だけど、やっぱもうこんなもん要らねーようわーん! とばかりに削除。え、要らないの?
matz: r28725: 2010-07-23 08:48:13 +0900
なんかとても久し振りにまつもとさんのcommitを見たような気が。えーと、Complex#to_iComplex#to_fComplex#to_rのそれぞれで、従来は虚数部がinexactまたは非ゼロだったら変換に失敗してたのですが、単に非ゼロなら失敗、という風に変更されました。inexactというのは、正確な数学的訳語を知らないんですけど、要するに誤差を含むということだと思います。つまり浮動小数点数はinexactです。
nobu: r28727: 2010-07-23 09:00:12 +0900
[ruby-dev:41872]の修正。これも後に問題を引き起こす。
nobu: r28728: 2010-07-23 09:02:51 +0900
不正なマルチバイト文字列を与えた時に変なところにアクセスすることがあったそうです。テストも元ネタも紹介されてないので詳細は不明。
→ なかださんによると、既存のテストでSEGVしていたそうです。
nobu: r28729: 2010-07-23 15:05:43 +0900
configure.inのRUBY_TRY_CFLAGSで警告が出ただけでも失敗とみなすようにしてやったぜ、ということらしいです。
nobu: r28730: 2010-07-23 15:09:22 +0900
mingwでconfigureしたらプラットフォーム名の末尾にmsvcとか付くようになってたので消しちまった模様。
shugo: r28731: 2010-07-23 16:14:54 +0900
おお、前田さんのcommitも久し振り。Mutex_m#sleepを追加することによって、ConditionVariableMutex_mを使えるようになりました。ってことなのかしら。
→ 前田さんによると、その通りらしいです。
nobu: r28732: 2010-07-24 09:40:26 +0900
新規にファイルを追加したときはSubversionのプロパティを正しく設定してね! という話。
nobu: r28750: 2010-07-25 05:26:34 +0900
パッチモンスターの朝は早い... じゃなくて、test-all中に不要な警告が出てウザいのを修正したようです。
nobu: r28751: 2010-07-25 05:37:31 +0900
[ruby-core:31470]の修正。浮動小数点値と何かを比較するときは、無限大/無限小を名乗られたらそれを信じましょうね、という話。
nobu: r28752: 2010-07-25 09:51:33 +0900
[ruby-dev:41874]の修正。ふつーiseqにはselfがあって、当然markの対象なんだけど、実はnodeのことがあるのでそういうときは構造が違うからmarkしないでね、という話。たぶん。
naruse: r28754: 2010-07-26 12:05:25 +0900
r28714が引き起こした問題の後始末。[ruby-core:31481]で報告されたようにVCでビルドできなくなってんじゃん、という。configureでHAVE_CLOSEが定義されないとビルドできないようになってて、まあVCでもconfig.hに定義してやればいいんだけど、そもそもclose()がないプラットフォームはサポートしてないんだから、素直に問題のある環境でだけその旨をマクロ定義しろよ、という結論。
nobu: r28755: 2010-07-26 13:01:38 +0900
[ruby-dev:41880]。r28752の続きで、ところでnodeの場合はmarkしなくていいの? っつったらそんなわけでもなくて、selfはないけどiseq自体はもちろんmarkしないとダメよ、という話。たぶん。
naruse: r28756: 2010-07-26 13:53:06 +0900
r28754の続き。ちょびっと間違ってたのを修正しただけ。
usa: r28757: 2010-07-26 14:10:25 +0900
r28727のうち、missing.h内でconfig.hをincludeしていた部分をrevert。config.hは1回しかincludeしちゃいけない上に、defines.hもincludeしてる場合はその前にincludeしないといけないという順序依存があるからこんなところでincludeすんな、という話。もちろん話はこのrevertだけでは済まないので、この後戦いが続きます。
nobu: r28758: 2010-07-26 14:38:23 +0900
r28757に対してなかださんが守備ラインを戻して抵抗中。
nobu: r28759: 2010-07-26 18:18:21 +0900
結局、ちゃんとconfig.hにincludeガードを追加して複数回includeしても問題が無いようにした上で、順序依存があるところはちゃんと自前でconfig.hをincludeしましょうね、ということで私となかださんで休戦協定が締結されました。で、これがその結果。

_ さて、以上の内容をまとめるのにかかった時間は20分くらいだったんですが、毎日やれば1日あたりは数分で終わるんじゃないかと思います。
というわけで、誰かやってみませんか?


被捕捉アンテナ類
[Ant] [Antenna-Julia] [Rabbit's Antenna] [Ruby hotlinks]