2012-02-05 179 views
0

A screenshot of the problem斯旺克服务器启动失败

Emacs的泥无法连接到自吹,因为很明显斯旺克不能正确初始化。它说一些后端功能没有实现。但是,我的沼泽后端是支持的SBCL。我正在使用Windows XP操作系统。 在以下链接中发现了类似的问题,但没有解决方案。 Link to similar issue

我是否缺少Swank的配置文件?或者我使用的emacs和SBCL版本有兼容性问题?在那种情况下,我可以在哪里获得正确的Windows兼容性矩阵?

+0

似乎成为最新swank版本的问题(请参阅https://github.com/quicklisp/quicklisp-slime-helper/issues/8)。改用早期版本。 – 2012-02-05 20:26:58

回答

0

这不完全是问题的答案,更多的是替代方案。

我认为Swank期望的一些接口/方法定义需要由SBCL实现。我将lisp实现从SBCL转移到CLisp,经过一些设置调整后,让它工作。所以,我认为斯旺克很好,但SBCL不是。

仅供参考,CLisp无法使用短窗口路径,看起来像“Progra〜1”,而SBCL预计短路径。 CLisp也给Windows中的临时文件夹带来了一些问题,为此必须将一个变量添加到.emacs文件中,但之后快速设置。

各种Lisp实现的端口与Windows之间似乎有很多不同之处,如果有更好的文档存在,这不会成为问题。所有这些都必须从不同的博客和邮件列表中收集。

只要对原始问题有更好的回答,我会接受。

1

我主要使用Linux,但如果您安装了多个版本的slime/swank代码,则很容易发生冲突。

最好的方法是quicklisp使用,使SBCL/emacs的不能使用任何其他代码(至少在你的第一次尝试):

sbcl --no-userinit --no-sysinit --load ~/quicklisp/setup.lisp 

(asdf:initialize-source-registry '(:source-registry :ignore-inherited-configuration)) 
(ql:quickload "quicklisp-slime-helper") 
(swank:create-server :port 4545 :dont-close t :coding-system "utf-8-unix") 

然后启动Emacs为:

emacs -q -name SLIME -eval '(progn (load (expand-file-name "~/quicklisp/slime-helper.el")) (slime-connect "localhost" 4545))'