
Hi Gerd,
thanks for review, I've added a unit test to show why your version doesn't work.
Yes, that doesn't work. Well, I'll just say what I was trying to do. With these rules: a=* {set b=2} b=1 [0x10404 resolution 24] and an element with a=1, it is not possible to match the b=1 rule, but it is still tried anyway. In this case changeableTags contains the full b=2 keystring so it ought to be possible to recognise that the second rule cannot match. ..Steve
I see no simple way to improve the index much more. I thought about a different approach: Instead of doing all the calculations before any rule is really executed we might do this dynamically. Each rule which changes or adds tags would point to a list of further rules which are to be checked. Only when such a change really happens the additional rules are checked. No idea if this can be implemented more efficiently than the current static index.