slime-lookup-definition 无法与 sbcl 配合使用

slime-lookup-definition 无法与 sbcl 配合使用

使用 Common Lisp 和 Emacs / Slime 进行编程的一个好处是,你可以快速跳转到内置函数或你自己的函数的源代码,

M+ .

但是,对于 sbcl 的内置函数,我无法让它工作。我sbcl-source安装了该软件包,但正如您从此屏幕截图中看到的那样: 在此处输入图片描述

如果我选择我想要访问的定义(右边的缓冲区),它只会打开一个空缓冲区,其中包含我想要查看的(正确的)文件名。

我怎样才能获得正确的行为?

编辑:我在 13.04/12.10 上遇到了完全相同的问题。但是,使用 Arch Linux 时,它运行正常。

编辑:根据这个帖子我将 sbcl-source 路径添加到我的 sbclrc。slime-xref 指向正确的文件,但是当我尝试访问所需的函数时,我仍然只得到一个空缓冲区。

答案1

我终于弄明白了。

您必须将以下行添加到您的.sbclrc

(sb-ext:set-sbcl-source-location "/usr/share/sbcl-source/")

然后,重新启动 slime,愉快地从一个定义跳转到另一个定义,再跳转回来。

相关内容