LATEX-L Archives

Mailing list for the LaTeX3 project


Options: Use Classic View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Jura Pintar <[log in to unmask]>
Thu, 29 May 2014 20:46:50 -0400
text/plain (33 lines)
> 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.