Emacs: background color doesn’t change when I load different themes

colorsemacstheme

I'm using GUI Emacs. My background color remains the same no matter which custom theme I load. It may not matter, but when I load a different theme, I always get the message:

message [sml] sml/theme set to automatic

in the minibuffer. Possibly pertinent elisp is:

(require 'powerline)
     .
     .
     .
(setq sml/theme 'powerline)
(sml/setup)

I use a slightly modified version of solarized-light as my theme. In my .emacs file I have:

(load-theme 'my-solarized-light 1)
;; (set-background-color "#fffff0")   ;; not necessary because theme was customized

The only difference between solarized-light and my-solarized-light is that I've set the background color to #FFFFF0 instead of #FDF6E3. One problem I have is that I can't remember how I did that.

Near the top of my .emacs file, under custom-set-variables, is

'(custom-enabled-themes (quote (my-solarized-light)))

How do I make "load-theme" work correctly again?

Best Answer

I had the same problem.

I had modified some font settings through describe-face which had set values in custom-set-faces in my .spacemacs file.

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(org-table ((t (:background "black" :foreground "#586e75" :weight bold)))))

This seemed to then be applying a background colour to all themes. Removing this customisation and restarting spacemacs solved the problem.

Related Question