松江のオープンソースラボに来ております。 参加者は、まつもとさん、笹田さん、前田さん、うささん、中田さん、青木。 まあ、わたしはオマケなんですが。
昨日の話題アラカルト。
新しい仕様を入れるのは延期して、12 月ごろの仕様で1.9 を出すらしい。
M17N をその 1.9 に (本当に) 入れるらしい。 M17N を入れたとして -K や環境変数をどのくらい影響させるかいろいろ検討した。 File は -K を反映すればよさげ。 stdin, stdout, stderr だけは環境変数も反映? (Python もそうらしい) Windows で Dir.glob すると encoding がユニコードになったりする? ソケットはデフォルト binary のがいいかも。 その他の文字列を返すシステムコールは binary か。 StringIO は最初に与えた文字列のエンコーディングとかか。 #string で文字列を得るときに渡す方法もありうるかも。
文字列のエンコーディングが決まるのは読み出し時のみで、 書き出し時にはエンコーディングのことは何も気にしない。 勝手にエンコーディングを統一したりしない。 エンコーディングを変換してくれるストリームみたいなものはあってもよい。
ヒアドキュメントの、文字列本体のインデントを削る文法を導入したい。 どこまで削るか。 終端記号のインデントまで? 本体 1 行目のインデントまで? 本体中の一番浅いインデントまで? タブは 8 スペースか。
private メソッドの仕様どうするか。 いずれにしても 1.9 には入らないので好き勝手な案が乱れ飛ぶ。 ちなみに俺は 「もう protected なんて廃止して今の private 相当にしちゃえばいいんだよ! (代わりに private がクラスプライベートになる)」 という互換性なんてまるで考えてない案を挙げてみた。
(09:55)
Mac OS X で Ruby をコンパイルしたときの警告を見ていて、 Mac OS X で dlopen が使われていないことに気付く。 OS X 10.3 以降は dlopen が推奨らしいので、 dlopen を使わせるように変更した。 オープンソースラボから記念コミット。
(10:32)
1.9 で make test-all すると ripper が死ぬ、 ということでデバッグ。
新しく追加された規則に Ripper 用アクションがなくて、
$
(12:29)
まつもとさん、笹田さん、中田さんが 3 人で多重代入まわりの NODE の構造について (キーワード引数をみすえたりみすえなかったりしつつ) 議論していたのがようやく終わった模様。
そのかたわらで俺は yarvtest 以下のテストをひたすら test/ruby にポート。 何も失敗しなくてつまらない……とか言ってたら、
a, *b, c = 1, 2, 3, 4
で testrb が戻ってこない。 test_assignment.rb は 2 つエラーか。
TDD (two-channel driven development)。
おんせんにはいりたいなあ
(16:28)
マシン移動のアレで ruby-cvs ML が止まっていたらしい (いまは復活してる)。
Windows 関係でシグナルハンドラが全然動いてなかった疑惑。
今日はみんなコミットする日らしい。
__FILE__ が毎回違うオブジェクトを返すということを初めて知る。
(16:31)
Copyright (c) 2002-2007 青木峰郎 / Minero Aoki. All rights reserved.