新手刚刚入门elisp。我发现一个很困难的问题就是如何查看一个函数的返回值的定义呢?
就比如 save-excursion
这个函数,是 C source code. 文件在哪里,如何查看返回值的定义呢?
我一般使用 C-h f 来查看函数文档,但是文档中并没有说明函数的返回值是什么……萌新求破
新手刚刚入门elisp。我发现一个很困难的问题就是如何查看一个函数的返回值的定义呢?
就比如 save-excursion
这个函数,是 C source code. 文件在哪里,如何查看返回值的定义呢?
我一般使用 C-h f 来查看函数文档,但是文档中并没有说明函数的返回值是什么……萌新求破
C-x C-e
@tumashu 谢谢! 只是这种有点 duck type 的感觉啊。不知有别的方法吗?
elisp写的还可以看代码,但是 C source的不知代码怎么打开呢?我想打开 C source code 的时候 弹出helm mini buffer 让我输入source dir。这个不知道该输入什么了……
如果是自己编译的 Emacs ,安装完以后,只要不删除源代码,就能和查看 Lisp 函数源代码一样查看 C 语言部分的代码。
的确。不过 Emacs Lisp 手册里有解释 C-h S
(info-lookup-symbol
):
The value returned by ‘save-excursion’ is the result of the last
form in BODY, or ‘nil’ if no body forms were given.
另外自己试下也非常容易
(save-excursion 123)
=> 123
输入 Emacs 的 C 代码所在目录,即 Emacs 源码1根目录下的 src/
文件夹。你应该也可以手动设置 source-directory
。安装 Emacs 后 C 代码用不上,一般也没不会安装。
1 可以用 Git 下载最新的源码 http://git.savannah.gnu.org/cgit/emacs.git,也可以直接下载 Tarball http://ftpmirror.gnu.org/emacs/。