Sender: |
|
Date: |
Sat, 27 Aug 2011 22:22:36 +0100 |
Reply-To: |
|
Message-ID: |
|
Subject: |
|
MIME-Version: |
1.0 |
Content-Transfer-Encoding: |
7bit |
In-Reply-To: |
|
Content-Type: |
text/plain; charset=ISO-8859-1 |
From: |
|
Parts/Attachments: |
|
|
On 27/08/2011 13:16, Bruno Le Floch wrote:
> On 8/27/11, Will Robertson <[log in to unmask]> wrote:
>> On 26/08/2011, at 3:04 AM, Ulrike Fischer wrote:
>>
>>> Now I want to define a "mirrored" key
>>>
>>> no-sym
>>>
>>> so that "no-sym = true" sets \l_chessfss_sym_bool to false.
>>>
>>> Is there some easy way?
>>
>> Not directly as far as I know (using
>>
>> .code:n = { \bool_set_false:N \l_chessfss_sym_bool }
>>
>> works of course but it's not the best interface), so I think this would be a
>> good addition. (I seem to remember kvoptions has a similar feature.) Which
>> do you think is best to name it?
>>
>> no-sym .bool_unset:N = \l_chessfss_sym_bool
>> no-sym .bool_set_false:N = \l_chessfss_sym_bool
>> no-sym .bool_set_reverse:N = \l_chessfss_sym_bool
>
> I find .bool_set_reverse:N more descriptive (cf. \reverse_if:N), as
> no-sym = false is valid user input, I guess?
Early-on in the life of l3keys, we did have '.bool_set_<something>:N'
(where I forget exactly what <something> was). The reasons we did not
keep it then were:
a) The idea was to keep things simply initially;
b) The other variable-setting functions all mirror the base expl3
names.
Now, boolean keys are a bit odd, as they are actually a special kind of
choice (that's how they are implemented). So it may well be best to
provide this ability. I guess I favour '.bool_set_inverse:N'.
--
Joseph Wright
|
|
|