在 emacs24 上使用 slime 的问题

在 emacs24 上使用 slime 的问题

我通过 ELPA 安装 slime。我的 .emacs 文件如下所示:

(setq inferior-lisp-program "sbcl --noinform")
(add-to-list 'load-path "~/slime/") 
(require 'slime)
(slime-setup)
(setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                         ("marmalade" . "http://marmalade-repo.org/packages/")
                         ("melpa" . "http://melpa.milkbox.net/packages/")))

启动 emacs 时出现以下错误:

警告(初始化):加载“/home/name/.emacs”时发生错误:

文件错误:无法打开加载文件,史莱姆

为了确保正常运行,您应该调查并消除初始化文件中的错误原因。使用“--debug-init”选项启动 Emacs 以查看完整的错误回溯。

当我调试时:

Debugger entered--Lisp error: (file-error "Cannot open load file" "slime")
  require(slime)
  eval-buffer(#<buffer  *load*> nil "/home/name/.emacs" nil t)  ; Reading at buffer position 91
  load-with-code-conversion("/home/name/.emacs" "/home/name/.emacs" t t)
  load("~/.emacs" t t)
  #[0 "\205\262

当我访问 ~/.emacs.d/elpa/slime-20130308.1112 时,slime.el 显然就在那里。网上的其他人似乎也遇到了问题。如果我无法让它与 emacs24 一起工作,我该如何为 common lisp 设置 slime 环境?

答案1

我使用 Damien Cassou 的 ppa 中的 Debian amd64 软件包安装了 emacs 24。我在粘液方面遇到了一些问题(我不记得它们是否与上面的相同)。我通过重新安装 Quicklisp 修复了它(http://www.quicklisp.org/),然后用它来安装 slime:

(ql:quickload :quicklisp-slime-helper)

对我来说,它与 sbcl 配合得很好(在两台机器上)。我刚刚查看了我的 .emacs;我的加载路径中没有添加任何内容,只是

(load (expand-file-name "~/quicklisp/slime-helper.el"))
(setq inferior-lisp-program "sbcl")
(require 'slime)
(slime-setup '(slime-fancy))

答案2

  1. 我刚刚注意到你加载路径说(add-to-list 'load-path "~/slime/")但你的 slime.el 文件位于~/.emacs.d/elpa/slime-20130308.1112不同的位置。您可能需要更正它:(add-to-list 'load-path "~/.emacs.d/elpa/slime-20130308.1112/")

  2. 你还没有说(--noinform)你的 sbcl 在哪里(setq inferior-lisp-program "sbcl --noinform")。所以我想你必须在命令行上这样做:$ which sbcl然后系统会告诉你 sbcl 在哪里(可能是 /usr/bin/sbcl)并通过以下方式通知 emacs(setq inferior-lisp-program "/usr/bin/sbcl")

相关内容