Kazuki Ohta
mover****@hct*****
2005年 11月 4日 (金) 05:07:37 JST
太田です。 uim-anthyをanthyの予測APIに対応させようと思っています。 少し作業していたのですが、anthy側に問題点を見付けたので投 げておきます。anthy_do_set_prediction_stringにおいて領域の開 放がreset_contextにおいて行われていますが、これだと予測文字 列以外の情報もfreeされてしまいます。なんで次のパッチを当てて 頂けるとうれしいです。 diff -ur anthy-7100b/src-main/context.c anthy-7100b-dev/src-main/context.c --- anthy-7100b/src-main/context.c 2005-10-22 00:13:09.000000000 +0900 +++ anthy-7100b-dev/src-main/context.c 2005-11-04 04:17:10.000000000 +0900 @@ -433,9 +433,26 @@ { struct prediction_cache* prediction = &ac->prediction; int nr_prediction; + int i; + + /* まず辞書セッションを解放 */ + if (ac->dic_session) { + anthy_dic_release_session(ac->dic_session); + ac->dic_session = NULL; + } + /* 予測された文字列の解放 */ + if (prediction->str.str) { + free(prediction->str.str); + prediction->str.str = NULL; + } + if (prediction->predictions) { + for (i = 0; i < prediction->nr_prediction; ++i) { + anthy_free_xstr(prediction->predictions[i].str); + } + free(prediction->predictions); + prediction->predictions = NULL; + } - /* 初期化 */ - anthy_do_reset_context(ac); /* 辞書セッションの開始 */ if (!ac->dic_session) { ac->dic_session = anthy_dic_create_session(); 肝心のuim-anthyの方ですが、uim/anthy.cに色々fixしたい所も 見付けたので、それを直しつつ予測APIを組み込んだuim/anthy.c 用のパッチを添付しておきます。r1980 trunk用。査読希望です。 scm/anthy.scmの方は構造の理解度が低めなので誰かやってくれ ないっすかね...ステートがこんがらがってて僕が弄ると他の所に問題 が出そうなので^_^;;とりあえずUI等はprime方式で良いと思っています。 3日ぐらいまって誰も名乗りでなかったら僕がやりまっす。 ------------------------------------------------- Kazuki Ohta : mover****@hct***** ------------------------------------------------- -------------- next part -------------- $B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B... $B%U%!%$%kL>(B: uim-anthy-prediction.diff $B7?(B: text/x-diff $B%5%$%:(B: 8055 $B%P%$%H(B $B @ bL@(B: $BL5$7(B ダウンロード