2010/4/20 Iwata <ira...@gmail.com>:
> uim-ximでセグるのはよくわからないので、詳しい方にパスします;)
>
>> あと chaime はサーバーがダウンしているのでしょうか?ajax ime で chaime を選ぶと
>> uim-xim がセグメンテーションエラーで落ちます。

なんか ajax-ime-conversion や ajax-ime-parse で期待した結果が
サーバから得られない場合、'("") が変換候補として返ってしまい、
その後のlist-ref とかで、クラッシュしてるみたいでした。

いわたさん、こんな感じの修正でいいでしょうか?

Index: ajax-ime.scm
===================================================================
--- ajax-ime.scm        (revision 6326)
+++ ajax-ime.scm        (working copy)
@@ -93,7 +93,7 @@
            (w2 (ajax-ime:parse-quoted-word2* port)))
        (if (and (string? w1) (list? w2))
            (list (append (list w1) w2))
-           '(""))))))
+           #f)))))

 (define (ajax-ime-conversion str opts)
   (define (icovn-convert to-code from-code from-str)
@@ -121,9 +121,10 @@
               euc-str))

   (let ((ret (fetch (make-query))))
-    (if ret
-        (ajax-ime-parse (fetch (make-query)))
-        '(""))))
+    (or
+      (and ret
+           (ajax-ime-parse ret))
+      (list (list str)))))

 (define (ajax-ime-lib-init)
   #t)


あと、xim が segv するのは何でしょう? よくわかりませんが、
exception handling がうまく動いていないのかもしれません。
-- 
Etsushi Kato

-- 
Google Groups "uim-ja" group
uim-ja@googlegroups.com
http://groups.google.com/group/uim-ja/about

メールによる返信