Will Robertson wrote: > Alternative: use tlp->tlist regardless and say that tlist functions that > take inline arguments are generally more robust with # tokens than > saving data to a tlist pointer. (Since I kind of like the =tlist= name. > Wishy-washy, I know.) I quite like this (I feel that "pointer" is not that easy a term to use for existing (La)TeX programmers). I'd go for: - toks: The *only* place where "#" is supported in input outside (at least when not catcode 12, per Will's other suggestion). - tlist: A list of tokens, either stored (current tlp) or not (current tlist). I also note that the \edef behaviour of toks versus tlp/tlist is important. By using only two categories, I'd say things are kept simple. toks = can use # + odd \edef behaiour, tlist = no # + standard \edef behaviour. This leaves things like \tlist_to_str:n and \tlist_to_lowercase:n. I'd say that they still make sense in the toks/tlist formalism. > Also, is there a way that the naming of the \token_ module can be > incorporated into our naming scheme above? Or is that stretching things > too far? (My current feeling is that it is.) I'd agree: leave well alone! -- Joseph Wright