Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2011-02-19

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

| 21:12 | CREATE-SERVERしたSWANKに接続すると日本語の評価で切断してしまう - わだばLisperになる を含むブックマーク はてなブックマーク - CREATE-SERVERしたSWANKに接続すると日本語の評価で切断してしまう - わだばLisperになる

自分は、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です。