在Emacs启动期间运行我自己的代码

时间:2010-07-28 01:17:19

标签: emacs

假设我在~/bin/hello.el中有自己的elisp代码。

~/.emacs文件具有以下代码,可在启动时运行hello.el

(add-to-list 'load-path "~/bin/elisp")
(require 'hello)

但是,我收到以下错误消息。

  

警告(初始化):加载`/Users/smcho/.emacs'时出错:

     

错误:未提供必需的功能“hello”

这有什么问题?

3 个答案:

答案 0 :(得分:15)

hello.el是否提供你好?它应该以{{1​​}}开头。请参阅elisp manual(provide 'hello)有效吗?

答案 1 :(得分:3)

你必须在你的LISP代码中加入类似的东西:

(提供'你好)

答案 2 :(得分:1)

如果您向~/bin/elisp添加了load-path,则Emacs将无法在~/bin中找到文件。在这种情况下,Emacs将尝试加载~/bin/elisp/hello.el,如果找不到,则会在其中查找名为hello.elchello.el的文件(按此顺序) load-path的其他部分。

此外,正如其他人所提到的,hello.el需要(provide 'hello)(通常在最后)。