On 29/04/2013 19:50, scott heard wrote: > Hello, forgive (and correct) me if I misunderstand how this command should > be used: > > \DeclareDocumentCommand { \foo } > { > { \SplitArgument { 2 } { ; } } m } > { \my_command:nnn #1 } > > As the output of '\SplitArgument' is some number of brace groups lumped > together into a '#1', it seems like a test for '-NoValue' would need to be > moved into '\my_command:nnn', i.e. from the xparse interface, into > "programmer code". As `\IfNoValueTF' is an xparse command, that doesn't > feel correct. If this is a reasonable interpretation/usage, then my > personal opinion would be that empty brace groups (or something else) would > be preferable to -NoValue-'s. > scott That's a separate but related point, and the one I eluded to in my original e-mail. I've been asked about how one is expected to test for the '-NoValue-' in the use case outlined, and to provide a code level interface or (I guess) some guidance on what the team feel is 'correct' in terms of testing. I thought it was best to pin down what is the 'correct' behaviour of \SplitArgument first. However, it is a fair point that this might affect the desired behaviour. I'd like to see what people feel is needed from \SplitArgument. (It might turn out we'd prefer to have a different but code-level testable marker, for example, although that sounds like a lot of effort.) -- Joseph Wright