Subject: bug#23926: defcustom with STANDARD=<non-pure-expression> gives confusing results

From: [email-masked]
Date: Sat, 09 Jul 2016 07:54:58 -0400

retitle 23926 defcustom with STANDARD=<non-constant-expression> gives confusing results
quit

Eli Zaretskii <[email-masked]> writes:

>> From: Noam Postavsky <[email-masked]>
>> Date: Fri, 8 Jul 2016 23:11:02 -0400
>> 
>> A trivial example:
>> 
>> (defcustom time (current-time-string)
>>   "the time"
>>   :type 'string)
>> 
>> Then try to M-x customize-options RET time RET, it will show with
>> state "CHANGED outside Customize." Similarly, doing <f1> v time RET
>> shows the "original value" as the current time, not the actual value
>> when `time' was defined.
>
> Why is this a bug?  Seems to be expected behavior to me.

Yeah, it seems expected because you're familiar with the code.  But it
causes Emacs to claim the "original" value is different from what it
originally was, which seems nonsensical.

I wonder why Emacs saves only the original expression and not the
actual original value?