Andreas Matthias wrote: > Frank Mittelbach wrote: > > >> Let us step back and reevaluate what the arg forms are supposed to mean: >> >> \foo:abc % abc are placeholders for real arg specifiers >> >> is intended to be a short form for saying >> >> - do "a" with the first argument do "b" with the second and do "c" with the >> third argument prior to passing the argument values to the base function >> \foo:nnn >> >> - it is really only a short form of \exp_args:Nabc \foo:nnn >> >> It makes no statements about what \foo:nnn does with the arguments it >> receives. > > I see. I got the meaning of arg specs wrong. But now it makes sense. Well, I am still pondering on this. How does \def:Npx fit into this scheme? The x argument is not expanded before being passed to \edef. Here are some other functions I just ran across, where the x might not be appropriate: \io_put_deferred:Nx, \io_put_term:x, \io_put_log:x, \err_message:x, \err_latex_bug:x. These names have the same problem as the proposed \int_set:Nx, haven't they? Ciao Andreas