観察日記 2010-12-15

Ruby 1.9エンコーディング定義

そういえば拡張ライブラリでエンコーディング定義できるようにならないの?
拡張ライブラリでrb_enc_registerとかすればできるんじゃね
-Eとか使えないことを除けばなんとか?
-Eを-rの後・・・は無理か
-Eのほうが-rより先立っけ
じゃあ新しいエンコーディングに対応してよ的なリクエストは「まず拡張ライブラリ作れ」て返していいのか
ucmでテーブル作ってRedmineに登録しろでいいと思うけど
前に駄目だと言われた記憶があるのだが
いや実のところどうなんでしょうか。
encdb.hは追加すればいいんだっけ?
静的にはそりゃそうだろうが
あとまあ普通はtransdb.hにも何かを追加したくなるんじゃないかなあ。
encdb.hの向こうにいるst_tableに追加すれば、というか
で、その辺が公開APIになってない気がするような
なんでrb_enc_registerってencoding.hじゃないんだっけ
現時点の結論としては、たぶんまともに動的追加はサポートしてないので、なんか対応してほしいなら取り込むようfeature requestしてください
かなあ。
それだけ公開してもあんまり動く気がしないから、かしら
まぁ、せっかくだから中田さんが動くようにしてくださるといろいろよろしいのではなかろうか
rb_enc_registerとrb_enc_replicateはencdb.h以外から使えるようにしてると思うんだが
なるせさんに前聞いたところでは
乱立するのは好ましくないので拡張ライブラリで出来ないようにしている、って言ってなかったっけ
という意図もありつつ、
単にめんどくさいからってのもありつつ
まぁ、さすがにほんとうに欲しい人は声あげたろうから追加してもいいかなぁとかいう頃合い
..
rb_transcoderが定義されてるtranscode_data.hはインストールされないから、純粋な拡張ライブラリとしては変換エンジンは作れないのか
そういえばそんな話もした気がする
たまにそれ (注: transcode_data.hで定義されている構造体のこと) 拡張したくなるんだよね
めんどくさいからしないんだけど
1.9.5くらいまでは今のままバイナリ互換がんばってもいいかなぁと思いつつあるのでインストールしてもいいかなって気もするというか

というわけで、エンコーディングを追加したい方はucm形式のテーブルを作った上でRedmineにticket登録してください。なお、どうしても動的ロードが欲しくてサポートさせるパッチを作ったという奇特な方がいましたら、そのパッチに反対はしません。

ブラックボックス

なんか1.9になってから触れたくないブラックボックス増えたなあ。
Rubyはより現実に媚びるものなので
どんどん暗部は増えていく傾向がある、はず
こわいよぅ
世界最恐の言語をめざせ
ちなみに、YARV、鬼車、transcodeが俺にとってのブラックボックス
2つもあしつっこんでるわたしはえらい
えらい
あとwin32とかいうのに踏み込むともっと偉くなれます。
ブラックボクサー
他に目立つ暗部というと、ビルドプロセスとかがあるようです。
まさに現実に媚びてるとこだな
ばっちぃ
昔はparse.yとかいろいろ言われてたもんだが、なんか相対的に難易度が下がってしまった。