doomemacs / doomemacs/core

load-theme doesn't change doom-theme variable for previously enabled themes

Open
#7,511 1 comment 0 reactions 0 assignees View on GitHub
is:bug needs-triage
Dominant language
Emacs Lisp
Stars
22.7k
Forks
3.1k
Avg merge
10h 46m
Merged PRs (30d)
4

Description

### I confirm that...

- [X] I have searched the [issue tracker](https://github.com/doomemacs/doomemacs/issues), [documentation](https://docs.doomemacs.org), [FAQ](https://docs.doomemacs.org/-/faq), [Discourse](https://discourse.doomemacs.org), and [Google](https://google.com), in case this issue has already been reported/resolved.

- [X] I have read "[How to Debug Issues](https://doomemacs.org/d/how2debug)", and will use it to provide as much information about this issue as possible.

- [X] The issue can be reproduced on the **latest** available commit of Doom.

- [X] The issue can be reproduced on a stable release of Emacs, such as 27, 28, or 29. *(Unstable versions end in .50, .60, or .9x)*

### Expected behavior

When I open a new frame with `emacsclient -nc`, it should not change the current theme.

### Current behavior

When I open a new frame with `emacsclient -nc`, it changes the current theme.

This is because `doom-theme` is not changed when switching back to a _previously enabled_ theme, i.e. `doom--load-theme-a` is called only once for every theme.

### Steps to reproduce

1. Open Emacs
2. `M-x describe-variable doom-theme` is the default theme, e.g. doom-one
3. `M-x load-theme` and select a theme, e.g. tango
4. `M-x describe-variable doom-theme` is tango
5. `M-x load-theme` and select the previous theme
6. `M-x describe-variable doom-theme` is still tango
7. When running emacs in daemon mode, run `emacsclient -nc` and the theme will switch from doom-one to tango

### System Information

https://pastebin.com/374gZV2H

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.