Subject: Re: bug#38812: 28.0.50; Custom: Problem with reverting some session's customizations

From: Eli Zaretskii <[email-masked]>
Date: Tue, 31 Dec 2019 18:04:52 +0200

> From: Mauro Aranda <[email-masked]>
> Date: Tue, 31 Dec 2019 11:22:27 -0300
> 
> * lisp/custom.el (custom-variable-theme-value): Return a new list with
> the value of variable, so the values of the properties 'theme-value
> and 'saved-value are not shared.  (Bug#38812)
> ---
>  lisp/custom.el | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/lisp/custom.el b/lisp/custom.el
> index 26bdaae..e9bb0d3 100644
> --- a/lisp/custom.el
> +++ b/lisp/custom.el
> @@ -1483,8 +1483,8 @@ custom-variable-theme-value
>  
>  This function returns nil if no custom theme specifies a value for VARIABLE."
>    (let ((theme-value (get variable 'theme-value)))
> -    (if theme-value
> -	(cdr (car theme-value)))))
> +    (if theme-value ; ((THEME VALUE))
> +	(list (cadar theme-value)))))

This will look strange without some comment explaining why we do this.

And I have a question is: isn't it better not to use setcar in
custom-push-theme instead?