何か昨日出てたらしいのでバージョンアップしてみた。changelogはこれから読む。
帰宅したら 1.8.7p80 になってたのでさらに update done.
さすがに何も進まねーと嘆いてもしょうがないので「@mode = day の時の Encoding::CompatibilityError」について調べてみた。と言っても、エラーが出ている箇所の処理を一行ずつ消したり、putsしたりして落ちている箇所を特定というきわめてローテクな方法。
とりえあず、場所は特定できて
@cgi.cookies['tdiary'][0]
を表示する箇所で落ちていた。調べてみたら、ツッコミをする際に日本語の名前を保存した状態で再表示しようとすると utf-8 と認識できていないのが原因っぽい。
対策として、上記の変数を表示するときには tDiary で用意してある @conf.to_native を通して nkf でよしなに変換するように修正した。ここまで来て、表示と編集に関しては ruby1.9 でもかなりご機嫌に動く。
この後に default_encoding の採用に伴う File::open の encoding パラメータの除去とか細かい修正とか。今のところ、1.8.6, 1.8.7, 1.9.1rc1 で動いています。
次はオレもプラグインをつぶしにかかるかな−。