札幌Ruby会議01で話題にした tDiary の ruby1.9 対応に手をつけたみた。とりあえず、まちゅさんが作成した tdiary-2.2.0.patch を trunk にぺちぺちマージしながら ruby1.9 での問題点把握。一通りパッチ当てが完了して、いざ日記を表示しようと思ったら新たなエラー
tdiary_style.rb:25: invalid multibyte char tdiary_style.rb:25: syntax error, unexpected $end, expecting keyword_then or ';' or '\n' elsif /^[ <]/u !~ lines[0] ^ (SyntaxError)
ruby1.9 --encording=UTF-8 を指定しているにも関わらず、何か tdiary_style.rb で怒られているので、全角空白を削除してスルー。これってマジックコメントとか入れれば解決するんだろうか。よくわからん。
後は body.size を body.bytesize に置き換えたり、細かい部分をいじるだけで表示と編集までできるようになった。ruby1.8への後方互換性も維持。とりあえず昨日までにできたパッチ → tdiary-2.3.1.patch
見た目は動いているみたいなんだけど、 ruby1.9 な環境だと day モードで表示する時やすでに日記が存在する日の編集画面を出す時に以下のエラーが表示されるのを見つけた。
ArgumentError append incompatible encoding strings: ASCII-8BIT and UTF-8
incompatible encoding とか言われても、何が incompatible なのかさっぱりわからんなあ…。こいつはアプリケーション側で全て吸収すんのはかなりきつそうだ。
昨日やってて感じたこと
とりあえず core に関しては想像以上に後方互換性は維持できそうなので操作が一通りできるようになったら trunk にぶちこんじゃってもいいかもね。まあ、ぼちぼち。
最近は物欲も特にないので家でだらだらとゲーム。何かアイマスの動画を彼女に見せたら「やってみたいかも!」とか言い出したり何だり。箱は標準で無線LANアダプタがついてないのがいまいちなんだよなー。別売りのアダプタも2008年の年末にもなって8500円とか言う始末だし。
そんなこんなで本日のメニューは
の3品。チキン南蛮はピクルス入りのタルタルソースをかけた食べたけど大変おいしゅうございました。
「tDiary trunk が ruby1.9 で動くか試してみた」じゃなかろうかと思ったり。
確かにそんな気もするのでこっそり直しておきました。