Subject: bug#65386: [PATCH] ; Refine some 'package-vc' docstrings

From: Philip Kaludercic <[email-masked]>
Date: Sun, 20 Aug 2023 20:35:30 +0000

Mauro Aranda <[email-masked]> writes:

> Eshel Yaron <[email-masked]> writes:
>
>> Philip Kaludercic <[email-masked]> writes:
>>
>>> Eshel Yaron <[email-masked]> writes:
>>>
>>>>> Also, would it make sense to determine this at compile-time?  On the
>>>>> other hand, if a VC backend is installed later on from ELPA, we would
>>>>> want the custom type to reflect this.
>>>>
>>>> Yes, I couldn't find a way to defer computing the set of candidates to
>>>> "customization type", I'm not sure if that even makes total sense.  I
>>>> think it's not that crucial since someone adding a VC backend and
>>>> immediately trying to customize these options seems to me like a very
>>>> minor edge case, and we had the same issue prior to my patch anyhow.
>>>
>>> Likely yes, but if we have two mostly equivalent solutions, I think that
>>> flexibility without having to restart Emacs is preferable to
>    performance.
>>>
>>
>> Hmm I'm not sure I completely follow.  Which two solutions do you have
>> in mind?  I agree that it would be nice have the `:type` updated if the
>> user adds a relevant VC backend, but I don't think `defcustom` supports
>> something like that.  How do you propose to achieve that flexibility?
>
> I haven't watch this thread closely, but do note that creating dynamic
> choices is quite possible, if I understand correctly what you're looking
> for.
>
> If you can, take a look at the defcustom of completion-styles, in
> minibuffer.el.  Its type uses a choice with a specialized
> :convert-widget function to keep the choices up-to date.

This might be exactly what we are looking for.  It should be possible to
adapt `completion--update-styles-options' pretty much directly to our
example.