Will Robertson wrote: > On 23/10/2009, at 6:55 AM, Joseph Wright wrote: > >> This would allow things like: >> >> > \ReturnVariable { \MakeHarmless\ReturnVariable } >> % Will absorb one more argument, as required >> >> (using \MakeHarmless from xdoc). That doesn't work at present as the >> return has to be in a toks. >> >> As Lars points out, that is quite a bit more flexible at the cost of a >> little complexity in the syntax. > > > I'm not sure that I see how this is any more flexible? > Oh, simply that your argument processor doesn't have to be hard-coded to > use \l_xparse_arg_toks. > But hang on, can't you do the same thing at present by just writing > > > { \MakeHarmless\l_xparse_arg_toks } > > ? No. \MakeHarmless has the syntax: \MakeHarmless <macro> <input> where <macro> is used for the output. So if you try to use a toks here, it will fail to work correctly. You'd need a wrapper function, which is what Lars is suggesting we should avoid. -- Joseph Wright