On 23/08/2011 09:45, Will Robertson wrote:
> I guess this is a bad time to mention that I just realised that \keys_set:nn is a weird name in the first place, since it's actually more general that assigning values to variables. (In fact, I often write \keys_set when I mean to write \keys_define.) But I think it's okay and I can certainly live with it; I'm not proposing a change of name to \keys_process:nn !

When I first wrote l3keys, I went with the pgfkeys approach of one macro
for both defining and using keys. Some earlier discussion suggested that
this was not perhaps as clear, for the target of l3keys, as two macros.
So I split the functionality along the sam lines as keyval, into
'define' and 'set' phases. The later is not about setting variables, but
setting keys. Doing

  \keys_set:nn { <path> } { <key> = <value> }

sets the <key> to the <value>. What happens 'behind the scenes' does not
affect this.
--
Joseph Wright