On 12/09/2008, at 5:19 PM, Joseph Wright wrote: > I'm having a slight issue with the \tlp_put macros. I'd like to store > something containing a literal `#1'. If it's going to need such contents, would it make more sense to use a _toks datatype the whole way though? > \def_long_new:Npn \tlp_put_right:Nn #1#2{ > \tlp_set:Nn \l_exp_tlp{#2} > \tlp_set:Nx #1{\exp_not:o{#1}\exp_not:o{\l_exp_tlp}} > } > > I get an error at the \tlp_set:Nn \l_exp_tlp stage. I wonder if there > is a reason not to do: > > \def_long_new:Npn \tlp_put_right:Nn #1#2{ > \tlp_set:Nx #1{\exp_not:o{#1}\exp_not:n{#2}} > } > > which does not suffer from the same issue. Unless the whole point is to restrict its use in this case, I can't see why this isn't a better approach. I suspect it wasn't coded like this in the first place because \exp_not:n isn't available without eTeX. But I don't think we should worry about that these days. Will