On 15/09/2014 7:22 p.m., Joseph Wright wrote: > On 15/09/2014 05:55, aparsloe wrote: >> I have found a number of instances where I have wanted to generate a >> variant with varying degrees of branching, e.g. >> >> \cs_generate_variant:Nn \tl_case:Nn { No } >> \cs_generate_variant:Nn \tl_case:NnT { No } >> \cs_generate_variant:Nn \tl_case:NnF { No } >> >> I find myself envious of the functionality available with >> \prg_new_conditional:Npnn and its ilk where multiple degrees of >> branching can be coded in a single statement using a subset of { p, F, >> T, TF }. It would be nice to be able to write something similar, e.g. >> >> \cs_generate_variant:Nnn \tl_case:Nn { No } { , F, T } >> >> where the empty slot before the first comma denotes the nonbranching >> variant. >> >> I don't imagine I'm the first to have thought this, so presumably there >> is good (or at least some) reason for not providing the functionality. >> It would be good to know. >> >> Andrew > I don't remember any technical reasons for not doing this: I guess > primarily we've not needed it often enough. > > Probably this would go into \prg_... as it's only applicable to > conditionals (we have \prg_new_eq_conditional:NNn and > \prg_set_eq_conditional:NNn). I guess something like > \prg_generate_conditional_variant:Nnn would be an appropriate name. > > Thoughts? > -- > Joseph Wright Correction: I meant to write \cs_generate_variant:Nn \tl_case:Nn { o } etc., expanding the token list variable. Andrew