[Anthy-dev 2606] uim-anthy : 予測対応

アーカイブの一覧に戻る

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
ダウンロード 


Anthy-dev メーリングリストの案内
アーカイブの一覧に戻る