prosseek
prosseek

Reputation: 190769

Running my own code when during Emacs startup

Let's say I have my own elisp code in ~/bin/hello.el.

The ~/.emacs file has the following code to run hello.el at startup.

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

But, I get the following error message.

Warning (initialization): An error occurred while loading `/Users/smcho/.emacs':

error: Required feature `hello' was not provided

What's wrong with this?

Upvotes: 8

Views: 2473

Answers (3)

haxney
haxney

Reputation: 3438

If you added ~/bin/elisp to your load-path, then Emacs won't find a file in ~/bin. In this case, Emacs would try to load ~/bin/elisp/hello.el, and if it can't find that, then it will look for a file named hello.elc or hello.el (in that order) in the other parts of your load-path.

Also, as others have mentioned, hello.el needs to have a (provide 'hello) in it (typically at the end).

Upvotes: 1

Vlad
Vlad

Reputation: 9481

You have to put something like that in your LISP code:

(provide 'hello)

Upvotes: 4

deinst
deinst

Reputation: 18782

Does hello.el provide hello? It should start with (provide 'hello). See the elisp manual. Does (load "hello.el") work?

Upvotes: 16

Related Questions