Subject: Re: bug#63290: 30.0.50; Customize UI shows extra fields for (choice (const ...) (alist ...))

From: Thomas Fitzsimmons <[email-masked]>
Date: Wed, 16 Aug 2023 11:16:32 -0400

Hi Mauro,
 
Mauro Aranda <[email-masked]> writes:

> Thomas Fitzsimmons <[email-masked]> writes: 
> 
>> Mauro Aranda <[email-masked]> writes: 
>>>> Can you try this patch with: M-x package-install RET 
>>>> excorporate RET Then: M-x customize-variable RET 
>>>> excorporate-configuration RET then select "Value Menu" and 3, 
>>>> which is "EWS URL OAuth 2.0 settings (no autodiscovery)".  
>>>> With your wis-edit.el patch applied I still get empty values 
>>>> for:     INS DEL Argument name:             Argument value:  
>>>> and:     INS DEL OAuth 2.0 setting name:             OAuth 
>>>> 2.0 setting value:  and when I apply the setting the value 
>>>> contains:   (... (... (#1# . #1#)) (#1# . #1#)) Maybe this is 
>>>> a more complicated case than the test case I provided (which 
>>>> does now work for me with your patch)? 
>>> I think this ammended patch fixes it.  Since we want 
>>> widget-list-default-get to respect a nil :value property, the 
>>> alist widget needs to be modified so that its default value is 
>>> nil. 
>> 
>> With the updated patch, when I select "EWS URL OAuth 2.0 
>> settings (no autodiscovery)", all the widgets are disabled.  
>> The blank values are no longer added though.  However, if I 
>> then set the value, without configuring anything, 
>> excorporate-configuration stays nil. So I don't think the patch 
>> is correct yet. 
> 
> So, in case the :value is missing for the alist widget, we want 
> to compute the default-value with the :options, and without 
> including the editable-list. 
> 
> Hopefully the attached patch is 100% correct now.  I did try it 
> with excorporate-configuration and I think it works OK, but 
> please give it yourself a try.  And thank you for your patience. 

Yes, after applying this patch, I retried the test case and 
excorporate-configuration and both behave as I was originally 
expecting them to; no stray structures upon setting the value.

Thank you for all your work on this and the comprehensive test 
cases.  Feel free to close this bug report once the patch is 
pushed.

Thanks,
Thomas