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 が動いてない気がするんだけどこのあたりが原因のような。