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?
Does hello.el provide hello? It should start with (provide 'hello)
. See the elisp manual. Does (load "hello.el")
work?
You have to put something like that in your LISP code:
(provide 'hello)
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).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With