On 20/06/2013 23:39, Joel C. Salomon wrote:
> On TeX.SE (http://tex.stackexchange.com/q/120258/2966), Prof. Enrico
> “egreg” Gregorio helped me set up the below code, which sets up an
> l3keys definition from a clist.
> 
> Note that the property `.generate_choice:V` has to be created; is it
> perhaps a useful addition to l3keys?
> 
> Note also the way I've set the default value to the first element of
> the clist. I would assume that the "idiomatic" way would be
> 
>     font .initial:o = { \clist_item:Nn \c_jcsfonts_clist {1} },
> 
> or something like that, but of course, the property `.initial:o`
> doesn't exist. And unlike the rest of Expl3, there is no clean way to
> generate variants of l3keys properties; egreg's code needed to call on
> `\__`-private functions. Might this, too, be a useful addition to the
> package?
> 
> Code follows.
> 
> —Joel Salomon

Extended key property options have been added to the code, and will be
appearing in the next CTAN update. That is likely to be this week,
depending on the other l3keys requests!

At present, allowing arbitrary key property variants seems unlikely.
Hopefully we can supply the correct tools 'out of the box'.
-- 
Joseph Wright