Basil L. Contovounesios
2018-01-20 21:01:03 UTC
Exchange Q&A forum a couple of months ago, which received no answers in
I am wondering why custom themes are ordinarily left non-byte-compiled,
based on the following observations:
1. All built-in themes under etc/themes/ set the file variable
no-byte-compile to t.
2. The function custom-available-themes in lisp/custom.el considers only
*-theme.el and not *-theme.elc files under custom-theme-load-path.
3. The command load-theme in lisp/custom.el is able to load *-theme.elc
files under custom-theme-load-path, but does so only if there is no
corresponding source file in the same directory.
4. The manual nodes '(elisp) Custom Themes', '(emacs) Custom Themes' and
'(emacs) Creating Custom Themes' make no mention of byte-compilation.
Is this "aversion" to byte-compilation of custom themes intentional? If
so, what is the reasoning behind it? Should the documentation be
extended to describe it?
If not, should the functions custom-available-themes and load-theme be
made made less picky about which file extensions they consider? Should
the behaviour of the latter be likened more to the that of the load
function in src/lread.c?
FWIW, I have not noticed any issues when using my own byte-compiled
custom themes. The only minor nuisance is having to keep the source
files separate from their translations and out of