Emacs:查找函数的搜索空间

Emacs:查找函数的搜索空间,emacs,elisp,Emacs,Elisp,在slime模式下处理我的第一个sbcl项目时,我无法正确设置emacs以便在代码中导航:通常,我想跳转到函数的函数定义(到源代码中的任何自定义函数)。因此,find函数似乎是一个很好的起点。不幸的是,查找函数从未找到我的任何函数:[不匹配]!我的源代码位于geometry.lisp这样的简单文件中,函数定义如下: (defun get-right-normal(vector) "Computes right-normal of given vector" (

slime模式下处理我的第一个sbcl项目时,我无法正确设置emacs以便在代码中导航:通常,我想跳转到函数的函数定义(到源代码中的任何自定义函数)。因此,find函数似乎是一个很好的起点。不幸的是,查找函数从未找到我的任何函数:[不匹配]!我的源代码位于geometry.lisp这样的简单文件中,函数定义如下:

    (defun get-right-normal(vector)
       "Computes right-normal of given vector"
       (make-2d-vector :x (* -1 (2d-vector-y vector)) :y (2d-vector-x vector)))
我将源文件的路径添加到“加载路径变量:

    (add-to-list 'load-path "/path/to/src") 
find函数的描述是

但试图通过设置“查找函数源路径”

返回

Symbol's value as variable is void: find-function-source-path

如何设置此变量的值?我做错了什么?

你必须先定义事物,然后才能要求它们的价值。错误消息告诉您未定义变量
find functions source path
。为什么?因为您尚未加载定义它的库。您需要加载库
find func.el[c]
(需要“find func”)

这与粘液和SBCL有什么关系?如果您想使用SLIME和SBCL,请阅读SLIME手册。它有一章是关于寻找定义的。如果您想找到elisp定义,请阅读Emacs文档…谢谢!我现在可以正确设置变量,但是find函数仍然找不到我的任何函数。我错过了什么重要的事情吗?我不熟悉emacs和lisp,所以这对我来说是一个全新的故事……不,这正是我所要求的:为什么find function找不到我的任何函数?设置查找函数源路径只是我自己解决问题的尝试,但没有。我的错。我以为您在这里的评论已经添加到了,我想现在已经回答了。您是否确实加载了
find func.el
?我不这么认为。如果您有,那么我认为您不会得到该错误,假设您的文件版本定义了该变量。那么,我在.el启动文件中添加了(require'find func)和(add to list'find function source path)/path/to/src),并且没有得到错误。但是find函数仍然没有找到我的函数
    (add-to-list 'find-function-source-path "/path/to/src") 
Symbol's value as variable is void: find-function-source-path