* lisp/custom.el (custom-push-theme): Don't use setcar to modify
the recorded value of PROP; instead, cons a new property list by
deleting the old value and adding the new one. (Bug#38812)
(put theme 'theme-settings
(cons (list prop symbol theme value)
(delq res theme-settings)))
- (setcar (cdr setting) value)))
+ ;; It's tempting to use setcar here, but that could
+ ;; inadvertently modify other properties in SYMBOL's proplist,
+ ;; if those just happen to share elements with the value of PROP.
+ (put symbol prop (cons (list theme value) (delq setting old)))))
;; Add a new setting:
(t
(when (custom--should-apply-setting theme)