3

I just installed the seti-theme from MELPA and no errors occurred. Than I ran M-x load-theme and after a few questions nothing would hapen and emacs would throw the following error:

Warning (initialization): An error occurred while loading `/home/matthias/.emacs':

error: Unable to find theme file for `seti'

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.

After I did the same a second time in a session the theme would appear without any errors.

I tried to add the theme to my .emacs( http://pastebin.com/Gk7gH3dT ) with: (load-theme 'seti), which doesn't work either.

emacs --debug-init

results in:

    Debugger entered--Lisp error: (error "Unable to find theme file for `seti'")
  signal(error ("Unable to find theme file for `seti'"))
  error("Unable to find theme file for `%s'" seti)
  load-theme(seti)
  eval-buffer(#<buffer  *load*> nil "/home/matthias/.emacs" nil t)  ; Reading at buffer position 113
  load-with-code-conversion("/home/matthias/.emacs" "/home/matthias/.emacs" t t)
  load("~/.emacs" t t)
  #[0 "\205\262   \306=\203\307\310Q\202; \311=\204\307\312Q\202;\313\307\314\315#\203*\316\202;\313\307\314\317#\203:\320\nB\321\202;\316\322\323\322\211#\210\322=\203a\324\325\326\307\327Q!\"\323\322\211#\210\322=\203`\210\203\243\330!\331\232\203\243\332!\211\333P\334!\203}\211\202\210\334!\203\207\202\210\314\262\203\241\335\"\203\237\336\337#\210\340\341!\210\266\f?\205\260\314\323\342\322\211#)\262\207" [init-file-user system-type delayed-warnings-list user-init-file inhibit-default-init inhibit-startup-screen ms-dos "~" "/_emacs" windows-nt "/.emacs" directory-files nil "^\\.emacs\\(\\.elc?\\)?$" "~/.emacs" "^_emacs\\(\\.elc?\\)?$" (initialization "`_emacs' init file is deprecated, please use `.emacs'") "~/_emacs" t load expand-file-name "init" file-name-as-directory "/.emacs.d" file-name-extension "elc" file-name-sans-extension ".el" file-exists-p file-newer-than-file-p message "Warning: %s is newer than %s" sit-for 1 "default"] 7 "\n\n(fn)"]()
  command-line()
  normal-top-level()

The theme I had installed manually works fine.

Stein
  • 581
  • 1
  • 5
  • 11
  • Sounds like the directory that contains the library defining that theme is not in your load-path. Put it in your load-path, using add-to-list. And then require the library. – Drew Oct 05 '15 at 16:02
  • ok that fixed it. I thought installing using packages would do that automatically. – Stein Oct 05 '15 at 16:41
  • I believe that the solution of this question asked a while back here on emacs.SE might resolve the problem for you to. If so, let me know if marking this question as duplicate seems fit. – Kaushal Modi Oct 05 '15 at 18:20

1 Answers1

3

This worked:

(when (>= emacs-major-version 24)
  (require 'package)
  (add-to-list
   'package-archives
   '("melpa" . "http://melpa.org/packages/")
   t)
  (package-initialize)
;; set theme
(load-theme 'seti t)

In combination with the steps explained here:

Why does load-theme reset the custom-theme-load-path?

and what is written in the comments below.

Stein
  • 581
  • 1
  • 5
  • 11
  • ok. So what would be the correct line to add the theme? I can't seem to figure it out? – Stein Oct 05 '15 at 20:32
  • You need to completely erase the custom-theme-load-path variable from your customizations, delete and reinstall your theme, put (load-theme 'THEME-NAME t) in your emacs config and restart emacs. For your case, it will be (load-theme 'seti t). You must also have (package-initialize) in the very beginning of your emacs config that will take care of loading the themes installed using the package manager. – Kaushal Modi Oct 05 '15 at 20:35
  • Ok, thanks. Now it worked. There is so much information online for old emacs versions. It gets confusing very fast. Thanks – Stein Oct 05 '15 at 20:54
  • As you use emacs more, you will learn to ask emacs itself the right questions.. to learn even more emacs :) The best non-confusing help you can get is from within emacs. Type C-h i g, then (emacs) Package Installation and hit RET. Do C-h i h to learn navigating info nodes in emacs. – Kaushal Modi Oct 05 '15 at 20:57
  • 1
    C-h r (mnemonic: r stands for emacs manual reference) will take you to the Emacs info manual. It's contents in HTML form are mirrored on https://www.gnu.org/software/emacs/manual/html_node/emacs/index.html. But again, to get help specific to your emacs version, you should always rely on the info manual that comes packaged with your installed emacs (C-h r). – Kaushal Modi Oct 05 '15 at 21:01
  • You can accept your own answer after, I believe, 48 hours since you posted the answer. – Kaushal Modi Oct 06 '15 at 17:03
  • Adding (package-initialize) to the top of my emacs config is what worked for me. – John Nelson Oct 28 '15 at 13:39
  • Your snippet is missing a closing parenthesis. – Spacemoose Sep 14 '21 at 13:37