latex3 / latex3

The expl3 (LaTeX3) Development Repository
https://latex-project.org/latex3.html
LaTeX Project Public License v1.3c
1.9k stars 184 forks source link

Should `bitset` and `clist` support `V`-type expansion? #1575

Open muzimuzhi opened 3 weeks ago

muzimuzhi commented 3 weeks ago

interface3.pdf says V-type expansion can be applied to bitset and clist variables, but expl3.pdf says no, because they both don't have a \<var>_use:N function.

The 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 or bitset delivers a single value, which was the reason used to reject prop and seq in https://github.com/latex3/latex3/issues/1466#issuecomment-1953156467. Considering clist and bitset do both have more unified serialisation forms than prop and seq, maybe the \<var>_use:N restriction can be relaxed or modified.

muzimuzhi commented 3 weeks ago

In interface3.pdf/source3body.tex,