Hello all, I wonder if anyone can make a suggestion on how to solve a problem I'm finding rather tricky with my "keys" efforts. The issue is adding code to an existing macro. There are a number of scenarios, but I control the initial definition, and so I have three possibilities: 1) Definitions with a known argument pattern (one parameter #1). Here, I can "recover" the code out of the macro definition, add to in and re-cast the macro. This works for \def:Npn and \def:Npx 2) \def:Npn macros with unknown "p". Here, I can save the argument pattern to a toks, and the body to a second toks. The macro can then be redefined using the information in the two toks as needed. 3) \def:Npx macros with unknown "p". This is the problem. I can of course save the argument and body *as given*, but can't find a method to get the body toks expanded, nor a reliable way of recovering the data from the macro definition itself. Any ideas for (3) would be welcome. One extra point is that ideally I don't want to using \meaning + \scantokens, etc., as this looses catcode information. I'm hoping for a trick at the initial point of definition based on the fact that I can hold onto the various bits and pieces. -- Joseph Wright