On 5/29/14, Jura Pintar <[log in to unmask]> wrote: >> Wait, how is that not covered by .bool_set:N and .bool_set_inverse:N? >> Doing " turnfooingon .bool_set:N = \l_mymodule_fooing_bool " and " >> turnfooingoff .bool_set_inverse:N = \l_mymodule_fooing_bool " allows the >> user to use the keys turnfooingon and turnfooingoff as you describe. >> Well, it >> also allows the user to do weirder things like "turnfooingoff=false" to >> turn >> fooing on. >> >> Bruno > > You're totally right: it is. I think I let my mind wander a bit when I was > writing the example... What's actually at issue is whether constructions > along the lines of > > \mymoduledoclevelsetup{ fooing = activate } > \mymoduledoclevelsetup{ fooing = deactivate } > > should be tacitly encouraged by making > > \keys_define:nn { mymodule } > { > fooing .choice: , > fooing/ activate .bool_set_true:N = \l_mymodule_fooing_bool , > fooing / deactivate .bool_set_false:N = \l_mymodule_fooing_bool > } > > available out of the box, or whether it's better to leave it to package > authors to use .code:n or some such alternative if they want to get > this behaviour. > > Best, > > Jura Ah, ok, I understand. And I don't have a preference either way. Regards, Bruno