3

我正在尝试在 emacs 中设置slime模式以使用 common lisp。当我尝试启动粘液时,M-x slime我收到一条错误消息:

process inferior-lisp not running.

所以,我检查了变量的值inferior-lisp-program,结果是"/opt/sbcl/bin/sbcl". sbcl 是 common lisp 实现的首字母缩写词,称为 steel bank common lisp。请注意,此变量在文件中定义slime.el。由于我的机器(运行 os x 10.8.3)上没有安装 sbcl(以前的目录甚至不存在于我的机器上),这将不起作用。

我有位于目录中的 clisp 实现:/opt/local/bin/. 我试图通过以下方式更改变量的值inferior-lisp-program

(setq inferior-lisp-program '/opt/local/bin/clisp/)

但是,这不起作用,我不知道还能尝试什么。

  1. 我怎样才能让 suber-lisp 运行并因此让 slime 工作?

编辑:这是一些我认为可能会有所帮助的额外信息。如果我尝试通过执行在 emacs 中启动 common lisp,M-x run-lisp我会从 emacs 获得以下输出:

(progn (load "/Users/s2s2/.emacs.d/slime/swank-loader.lisp" :verbose t) (funcall \
(read-from-string "swank-loader:init")) (funcall (read-from-string "swank:start-s\
erver") "/var/folders/wf/yjgymt8j14v2tqwjnny68wq00000gn/T/slime.28222"))          

Can't exec program: /opt/sbcl/bin/sbcl                                            

Process inferior-lisp exited abnormally with code 1                               
Can't exec program: /opt/sbcl/bin/sbcl                                            

Process inferior-lisp exited abnormally with code 1

希望这可以帮助!非常感谢所有帮助!

4

2 回答 2

5

如果设置,该变量slime-lisp-implementations具有比inferior-lisp-program粘液更高的优先级;试试这个(相应地调整参数):

(setq slime-lisp-implementations
      '((clisp ("/opt/local/bin/clisp" "-q -I"))
        (sbcl  ("/usr/local/bin/sbcl") :coding-system utf-8-unix)))
于 2013-06-10T15:38:22.923 回答
4

尝试的第一件事是在常规 shell 窗口中运行命令 - 只需在此处键入或复制并粘贴可执行路径,看看会bash告诉你什么:

$ sbcl < /dev/null
bash: sbcl: command not found
$ clisp < /dev/null
<<clisp splash screen>>
$ which clisp
/usr/bin/clisp

一旦你找出正确的可执行文件是什么,你就设置inferior-lisp它:

(setq inferior-lisp "/usr/bin/clisp")

笔记:

  1. 它应该是一个字符串,而不是一个符号,所以你需要引号"
  2. 它应该指向一个文件,而不是一个目录,所以你的斜杠/是错误的
于 2013-06-10T15:38:15.410 回答