Merge pull request #225 from HeitorAugustoLN/patch-1

Improve core palette loading logic
This commit is contained in:
Protesilaos 2026-07-12 12:22:57 +03:00 committed by GitHub
commit 89294a9a6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -3828,11 +3828,25 @@ If THEME does not have at least a `:modus-core-palette' among its
Else return (append OVERRIDES USER CORE)." Else return (append OVERRIDES USER CORE)."
(when-let* ((properties (get theme 'theme-properties)) (when-let* ((properties (get theme 'theme-properties))
(core-palette (symbol-value (plist-get properties :modus-core-palette)))) (core-palette-name (plist-get properties :modus-core-palette)))
(let* ((user-palette (when with-user-palette (symbol-value (plist-get properties :modus-user-palette)))) ;; If the palette variable hasn't been loaded into memory yet, load the theme silently
(overrides-palette (when with-overrides (symbol-value (plist-get properties :modus-overrides-palette)))) (unless (boundp core-palette-name)
(all-overrides (when with-overrides (append overrides-palette modus-themes-common-palette-overrides)))) (load-theme theme t t))
(append all-overrides user-palette core-palette)))) (when (boundp core-palette-name)
(let* ((core-palette (symbol-value core-palette-name))
(user-palette-name (plist-get properties :modus-user-palette))
(user-palette (when (and with-user-palette
user-palette-name
(boundp user-palette-name))
(symbol-value user-palette-name)))
(overrides-palette-name (plist-get properties :modus-overrides-palette))
(overrides-palette (when (and with-overrides
overrides-palette-name
(boundp overrides-palette-name))
(symbol-value overrides-palette-name)))
(all-overrides (when with-overrides
(append overrides-palette modus-themes-common-palette-overrides))))
(append all-overrides user-palette core-palette)))))
(defun modus-themes-get-theme-palette (&optional theme with-overrides with-user-palette) (defun modus-themes-get-theme-palette (&optional theme with-overrides with-user-palette)
"Return palette value of active `modus-themes-get-themes' THEME. "Return palette value of active `modus-themes-get-themes' THEME.