utf-8 環境での server-completion
Debian etch にしたところ yaskkserv を入れて server-completion してみる - (((memo))) が効かなくなってたのに気付く。効かないというか、TAB を押しても No more completions for "まちだ" と言われて補完候補が一切出てこなくなった。
yaskkserv 君と直接話をしてみる。きみきみ、どうなってるわけ?
% echo "4まちだ "|netcat -q 2 localhost 1182 4まちだ
うーん、ホントに補完してくれてない。
あ、もしかして etch にしたのを機に utf-8 環境に移行したから?
% echo "4まちだ "|nkf -e|netcat -q 2 localhost 1182|nkf -w 1/まちだ/まちだえき/まちだおだきゅう/まちだかいどう/まちだかん/まちだがくえん/まちだし/まちだしみん/まちだてん/まちだほうめん/
やっぱり。
という訳で、以前のものを
skkserv-working-buffer server port)))) (set-process-query-on-exit-flag skkserv-process nil) + (set-process-coding-system skkserv-process 'euc-japan 'euc-japan) ad-do-it))
こんな感じで明示的にプロセスの入出力文字コードを指定してあげると元通り補完してくれるようになりました。
[追記:2007-05-21]
proc じゃなくて skkserv-process を使わないとマズいじゃん、ということでパッチを修正。
なんか、現在 migemo が動いてない気がするんだけどこのあたりが原因のような。