TOKUNAGA Hiroyuki
tkng****@xem*****
2003年 1月 1日 (水) 02:30:42 JST
あけましておめでとうございます。徳永です。 uim-1230を試してみて気づいた事について報告します。 ■uim-anthyで変換中にシフト+矢印キーで文節を伸ばそうとすると落ちる事がある 割と頻繁に、シフト+右矢印キーで文節を伸ばそうとすると落ちます。 gdbでおっかけてみると、uim-func.c内のuim_code_conv関数の引数のstrが 0x0になっており、strlenにNULLを渡しているせいで落ちてしまっています。 backtraceの最後の方はこんな感じです。 #0 0x4042539a in strlen () from /lib/libc.so.6 #1 0x4092bd2f in uim_code_conv (str=0x0, ic=0x813a6c0) at uim-func.c:98 #2 0x4092bc1a in uim_flush_cb (uc=0x813a4a8) at uim-func.c:56 伸ばそうとする文節の文字のみ、uim_code_convにNULLが渡るみたいです。他の 文節はただしく文字が送られてきています。 落ちる再現性のある文字列をみつけたので、いくつか書いておきます。学習状 況によって落ちる場合と落ちない場合があるみたいなので、もしかしたら他の人 の環境では落ちないかもしれませんが。anthyのバージョンは3500cです。 「もげ」 変換->文節を「も|げ」に分ける->「も」の方の候補文字列をいくつか下げて みる->文節を伸ばそうとする とすると、落ちます。 「わたしのなまえはまーしーです」 変換すると「わたしの|名前|ハマーシーデス」となり、文節をハマーシーデス の部分に持ってきて縮めると、「わたしの|名前|葉|マーシーデス」となる。こ の状態で「葉」の部分を何回か変換してから文節を伸ばそうとすると落ちます。 変換する文字列が「わたしのなまえはなかのです」だと何も起きません。 ■uim-anthyで、preeditがない状態でもシフトキーなどが使えない preeditがない状態ではシフトキーを使ってテキストのコピーなどがしたいので すが、uim-1230ではできません。 anthy.scmをちょっと変更するとこれができるようになるのですが、わざとこう していないのでしょうか? なんとなくわざとこうしてる気もちょっとします。 --- anthy.scm~ 2002-12-23 22:28:44.000000000 +0900 +++ anthy.scm 2002-12-27 07:47:34.000000000 +0900 @@ -304,7 +304,9 @@ #f) #t) (if (modifier-key-mask key-state) - #f + (begin + (im-commit-raw id) + #f) #t) (if (string-find (rk-expect rkc) key-str) (let ((res)) ■uim-skkの不具合たち パッチを作ってみましたので添付しました。以下の問題点を修正できます。問 題点じゃないのも混じってますけど。 ・preeditがない時でも、矢印キーでの移動やシフト+矢印でのテキスト の選択ができない ・落ちる事がある。skk-dic.cの処理におかしいところがありました。 ・送り仮名付きの変換ができない ・候補windowをクリックして候補を選べるように 徳永拓之 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: uim-skk.patch 型: application/octet-stream サイズ: 1579 バイト 説明: 無し 다운로드