我是Emacs和Common Lisp新手。我已经在我的Emacs中成功安装了SLIME,但我无法运行它。 Alt + x slime-connect
提供以下选项,接受哪个选项会将错误粘贴在选项下方。
Host: 127.0.0.1
Port: 4005
Connecting to Swank on port 4005...
make client process failed: connection refused, :name, SLIME Lisp, :buffer, nil,
:host, 127.0.0.1, :service 4005,
:nowait, nil
如何让它发挥作用?
答案 0 :(得分:6)
修复空白 - 用双反斜杠转义它。
当你执行slime-connect
时,它会期望一个Lisp映像(Lisp运行时)启动并监听您连接的服务器和端口。可能你不是故意的。
slime
将首先启动inferior-lisp-program
,然后连接到它。这就是你想要做的事情。
https://github.com/quicklisp/quicklisp-slime-helper这是您可能想要尝试的内容(当您完成设置时,或者相反)。或者只是保持它,让您感觉更舒适,更多设置。链接中的程序是一个帮助程序,通过quicklisp工作 - 您可能想要熟悉的东西,一种Lisp代码的包管理器,以及您在Emacs中运行的SLIME。可能,如果你发现它更容易
首先安装你想要的Lisp。
安装quicklisp。 (按照此处的说明进行操作:http://www.quicklisp.org/beta/,但对于Windows,您可以使用Cygwin,或者不使用curl,只需右键单击链接并执行“将目标另存为”巫毒魔法:)。如果您不使用SBCL,那么 - load可能不适合您的lisp。将其替换为:启动Lisp,键入REPL:(load "quicklisp.lisp")
,前提是您当前的工作目录是保存quicklisp.lisp文件的目录。要打印出当前目录,如果不确定:(directory ".")
。
阅读README for quicklisp-slime-helper并按照其中的说明进行操作。基本上,在通过quicklisp安装后,您只想配置一件事,它是:
(加载“c:/full-path-to/quicklisp/slime-helper.el”)
如果您不熟悉* nix路径名,tilde表示当前用户的主目录,即$HOME
,您可能在安装Emacs时将其设置为环境变量。请注意,quicklisp-slime-helper
和slime
包是互斥的(它们是相同的包,只是换行方式不同),所以如果你有类似的东西:
(add-to-list 'load-path "/path/to/slime")
(require 'slime)
然后,如果您想使用quicklisp-slime-helper
,请将其评论,并仅使用其中一个的配置。
PS。重新
(add-hook 'inferior-lisp-mode-hook (lambda () (inferior-slime-mode t)))
这看起来多余,为什么你需要/那是什么?你在哪里得到inferior-slime-mode
?这对我来说并不熟悉。如果你在它上面放置点(插入符号)并点击 C-h f 会发生什么?