Subject: bug#23796: Emacs daemon doesn't properly reload symlinked themes

From: Eli Zaretskii <[email-masked]>
Date: Sat, 18 Jun 2016 22:13:53 +0300

> From: Koen van Greevenbroek <[email-masked]>
> Date: Sat, 18 Jun 2016 11:22:50 -0700
> 
> I am trying to change the Emacs theme on the fly, so I symlinked the
> ~/.emacs.d/my-theme.el file to a ~/current-theme/my-theme.el files, and
> the ~/current-theme directory is in turn symlinked to whatever theme I like
> at the moment. Then, I run "emacs --daemon", and open an emacsclient
> frame with "emacsclient -c". This works as expected. However, when I
> relink ~/current-theme to some other theme and then evaluate
> "(load-file ~/.emacs)" in an emacsclient to reload the theme for the emacs
> daemon, it reload the theme for any emacsclient frames currently open,
> but not for subsequently opened emacsclient frames. So emacsclient
> frames opened after a symlink theme change and (load-file ~/.emacs) do
> not actually use the new theme.

What is in my-theme.el files, and how does your ~/.emacs reference
them?

IOW, if what you are saying is that the same arrangement works when
the theme files are not symlinks, then I think the reason for the
problem is in the details of how you load your themes, something you
didn't describe.