Open muzimuzhi opened 3 weeks ago
In interface3.pdf
/source3body.tex
,
clist
was one of the original members of the list, see 1a7615ef (Doc e-type at start of interfaces3, and new variable types (fixes #528) [ci-skip], 2019-02-10)bitset
was added to the list in e1ab799d (Add bitset to the lists of variabe types, 2023-11-16), when bitset
was moved to l3kernel.
interface3.pdf
saysV
-type expansion can be applied tobitset
andclist
variables, butexpl3.pdf
says no, because they both don't have a\<var>_use:N
function.interface3.pdf
(2024-07-20), sec. 1.1 Naming functions and variables, page 4 https://github.com/latex3/latex3/blob/5ada012ff4c9acd53e9b9814c8a860a84d84b73c/l3kernel/doc/source3body.tex#L305-L320expl3.pdf
(2024-07-20), sec. 4 Expansion control, page 10 https://github.com/latex3/latex3/blob/5ada012ff4c9acd53e9b9814c8a860a84d84b73c/l3kernel/expl3.dtx#L650-L656The code behavior is that they both can be
V
-expanded, though that relies on their current implementation.I think for
clist
a new\clist_use:N <clist var>
which can be used as a quicker version of\clist_use:Nn <clist var> {,}
(a,
12) is useful. A\bitset_use:N
, which if defined would do exactly the same as\bitset_to_bit:N
, seems less desired.It's arguable whether a
clist
orbitset
delivers a single value, which was the reason used to rejectprop
andseq
in https://github.com/latex3/latex3/issues/1466#issuecomment-1953156467. Consideringclist
andbitset
do both have more unified serialisation forms thanprop
andseq
, maybe the\<var>_use:N
restriction can be relaxed or modified.