CREATE-SERVERしたSWANKに接続すると日本語の評価で切断してしまう — #:g1

Posted 2011-02-19 12:12:00 GMT

自分は、SLIMEはEmacsから起動しないで別途SWANKサーバーを立ててそこに接続する派なのですが、最近になって日本語を評価すると接続が切断されるという現象に遭遇するようになりました。
*slime-events*を見ると、

(:coding-system "iso-latin-1-unix" :external-format "LATIN-1")
となっていて、UTF-8になっていないのが原因ということは分かりますが、Emacs側のslime-net-coding-systemもutf-8-unixだし、CL処理系のEXTERNAL-FORMATもUTF-8にしているし、どういうことなのかと。
調べてみたところ、SWANK:CREATE-SERVERではcoding-systemが別途指定できるようになっていて、指定がないためデフォルトの指定になっている、ということが分かりました。
ということで、
(swank::create-server :port 4005
                      :coding-system "utf-8-unix"
                      :dont-close 'T)
のようにしたところ問題は解決。
:coding-systemを与えないと、デフォルトでは、SWANK::*CODING-SYSTEM*を参照するようですが、これがiso-latin-1-unixになっているようです。
ということで、こちらをutf-8-unixに変更してもOKです。

comments powered by Disqus