Will Robertson skrev: > Lars, do you have any comments about whether the new xparse is something > you'd like to use in your own work? Your code, of course, was the big > motivation for the "argument processor" idea and I'd hope that while we > didn't manage to fit everything from xdoc2l3 into xparse there's still > enough that you'd like to use. Haven't had time to review the code yet, I've only just downloaded it. Will get back to you when I have had a look at it. (I'm especially curious to how on earth you managed to do optional arguments at expand-time.) Have latex'ed xparse.dtx, though, and it throws a few errors in the index. I think those are due to \xparse_add_type_>:, as the ">" is special to makeindex, forcing an extra index level where none was intended. Harmless character sequences avoids that trap. ;-) In the meantime, here are some technical issues to consider. 1. What happens if I do this: \DeclareDocumentCommand{\foo}{ +O{\par} m +O{\par} }{ ... } ? One technical problem I saw in xdoc2l3 was that of simultaneously having \par tokens in defaults and non-long arguments. 2. What happens (for the various argument types) when TeX fails to grab an argument? (Failures happen for long arguments when encountering a mismatched right brace, and for short argument also when encountering a \par token.) To keep in line with TeX, everything up to the ungrabbable token should disappear, but an uncareful implementation could leave other tokens in place as well, which would subject the user to mysterious additional errors. Lars Hellström