That is exactly how it does work on the branch and how it is meant to
work on trunk although as usual the random ordering of actions will
make it unreliable.
It is worth pointing out that the name command works like 'add' and
not like 'set', so the correct result of:
highway=path { name 'A' }
highway=path { name 'B' }
highway=path { name 'C' }
is to set the name to 'A' and not 'C', whereas
highway=path { set name=A }
highway=path { set name=B }
highway=path { set name=C }
will result in ${name} being set to 'C'.
Thanks, will give it a try using set.