How to treat my custom emacs theme as a "safe theme"?

Emacs

Emacs Problem Overview


I'm using emacs 24 and solarized color theme.

When Emacs starts up, it prompt me with "Loading a theme can run Lisp code, really load?".

When I answer with "yes", it continues to "Treat this theme as safe in future sessions?".

If I say "y", the theme gets loaded, and

(custom-set-variables
    (custome-safe-themes (quote ("..." default))))

gets added to ~/.emacs automatically.

However, those questions come back every time I open Emacs!

What's the proper way to turn those off?

Emacs Solutions


Solution 1 - Emacs

If you use M-x customize-themes to set and save your preferred theme, then everything should work nicely.

If, instead, you've added code to your .emacs to enable the theme, but that code appears earlier in the file than the custom-set-variables command, then that might be the problem.

You can force Emacs to load a theme without prompting you to confirm its safety by using the load-theme function's NO-CONFIRM flag:

(load-theme 'solarized-light t)

Solution 2 - Emacs

the same problem happened here. I solved this issue putting the custom-set-variables code before a load the theme.

(custom-set-variables
 '(custom-safe-themes (quote ("9527feeeec43970b1d725bdc04e97eb2b03b15be982ac50089ad223d3c6f2920" default))))
(custom-set-faces
)

Then I load my theme:

(defun use-default-theme()
  (load-theme 'default-black))

(use-default-theme)

Solution 3 - Emacs

I had the same problem and i just removed the lines in .emacs and lo and behold the whole thing worked.

Solution 4 - Emacs

After answering yes to those questions and starting emacs, remove or comment the lines containing the load-theme sentence. In my case those were:

(use-package doom-themes :ensure t :config (load-theme 'doom-acario-dark))

If you don´t do that, emacs will ask again if you want to load the theme (which is already a safe one).

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionDaniel DuanView Question on Stackoverflow
Solution 1 - EmacssanityincView Answer on Stackoverflow
Solution 2 - EmacsÉdipo FéderleView Answer on Stackoverflow
Solution 3 - EmacsSatish ViswanathanView Answer on Stackoverflow
Solution 4 - EmacsGuilleView Answer on Stackoverflow