打印函数所属的emacs包名称

时间:2014-12-26 06:56:23

标签: elisp emacs24

在elisp中,M-x find-function funcName 是去那里的功能定义。但是,如何打印函数所属的包名?

1 个答案:

答案 0 :(得分:2)

内置库help-fns.el包含find-lisp-object-file-name。如果使用函数名称调用此函数并将type设置为nil,则将打印包含该定义的文件的完整文件名。 在我的系统上

(find-lisp-object-file-name 'find-function nil)

返回

  

“/应用/ MacPorts的/ Emacs.app /内容/资源/口齿不清/ emacs的-口齿不清/找到-func.el”

您可以根据需要删除它。请注意,这在未完成的函数上表现良好

(find-lisp-object-file-name 'I-dont-exist nil)
nil
(find-lisp-object-file-name 'icicle-find-file nil)
"/Users/swann/.emacs.d/elpa/icicles-20141215.1749/icicles-cmd1.el"

包中的项目可以在package-directory-listpackage-user-dir的其中一个目录中找到。默认情况下,后者为~/.emacs.d/elpa。在这样的目录下,给定的包是名为package-name-VERSION的子目录。