emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: Why is custom--inhibit-theme-enable not t by default?


From: Drew Adams
Subject: RE: Why is custom--inhibit-theme-enable not t by default?
Date: Tue, 12 Jun 2018 12:54:20 -0700 (PDT)

> > > I think themes are special in this regard: loading a theme activates
> > > it.
> >
> > Why did we do it that way?
> 
> History, I guess.  AFAIR, it always has been that way.  Maybe we did
> it for compatibility with themes that were available outside of Emacs
> before Emacs supported themes?

No, not if you mean color themes (`color-theme.el'). Loading
them does _not_ activate them.  There are explicit functions
for installing a color theme and invoking (activating) it.

(And unlike the case for custom themes, you can undo the
application of a color theme.)

http://www.nongnu.org/color-theme/

http://download.savannah.nongnu.org/releases/color-theme/

> Or maybe because [custom] themes are just giant
> series of variable settings?

That's possible.  Initially, custom themes were just
variable settings, IIRC - there was no attempt to
imitate color themes.  Later, Chong Yidong added such
imitation.

> I really don't know.  We have this commentary in custom.el:
> 
>   ;; Each theme is stored in a theme file, with filename THEME-theme.el.
>   ;; Loading a theme basically involves calling (load "THEME-theme")
>   ;; This is done by the function `load-theme'.  Loading a theme
>   ;; automatically enables it.
> 
> You will see that load-theme reads the file, then evaluates the
> buffer, so 'load' will do the same.
> 
> > Is it too late to change it? Loading _anything_ shouldn't activate
> > it. I don't see a need to carve out a special case for themes.

Yes.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]