On Sun, 09 Dec 2007 22:33:12 +0100, Lars Hellström wrote: Hi Lars, > 9 dec 2007 kl. 20.14 skrev Morten Høgholm: >> >> So perhaps an alternative could be to use something like >> \int_set:Nr <int> {expression}% r for register? >> >> Opinions? > > How would such an r be different from x? Technically there wouldn't be any difference of course. Only the implication that everywhere else, x means there is also an n base function, which is also more or less why I chose the n form initially. We have umpteen different expansion designations (leading my thoughts to a Commodores song which is a sign of me not getting enough sleep and/or coffee) and I know adding an extra is not helping that situation either. I am happy to get comments from expert users such as you and Matthias so we can make it work the way you'd expect. >> It should be clear from the documentation what is expandable and what >> is not. > > Is that a state that the LaTeX3 sources is currently supposed to be in, > or not? One thing that *irritated* me when reading a bit of it last week > was that it frequently wasn't clear whether something was expandable or > not, and for many things that is something that I'd need to know. As you say, it is irritating not to know whether or not a function is expandable and it is something I would very much like to change. Soon. I suggested: >> Something like what Heiko does in zref? How would you like it to appear? It'd be fine by me if the sources were changed to something such as % \begin{function}{ % \csexp{clist_map_function:NN} % \csexp{clist_map_function:cN} % \csexp{clist_map_function:nN} % } % \begin{function}{ % \cs{clist_map_inline:Nn} % \cs{clist_map_inline:cn} % \cs{clist_map_inline:nn} % } or similar. [...] > No need to go that far for examples. \csname ... \endcsname should be > obvious to all, and you can play quite a lot of tricks with \number as > well. Currently we are well on our way to MI ways of using \romannumeral and some are due to the lack of \expanded. Others are just very useful for space trimming. > Another important expandable primitive doing full expansion (as far as > it needs to) is \if, which is used in docstrip to implement evaluation > of guard expressions yes, \if is good for tricks as well. > (in particular there was really no need for the eTeX \unless primitive, > since \if could already be used to negate conditions). I never quite saw the big advantage either, especially because you can't just do \def\whatever#1#2{\ifx#1#2equal\else not\fi} \unless\whatever Cheers, -- Morten