sublimator wrote:The bindings were each set up with
<context name="allSelectionsEmpty" value="true"/> specifically to avoid this problem.
Ah, I see that now... it seems that after the changes to regex key bindings a few betas ago, that context isn't enough. The basic rules, as they're implemented are:
- A sequence key binding must have all its contexts match every step of the way.
- However, if multiple sequence key bindings share the same prefix, then as long as one of them has its contexts match for the current input, then all bindings get to stay in contention.
So for the input "b,tab", when the initial b is typed, the normal HTML binding has its contexts match, so both it and the zenHTML binding remain in contention, then when tab is pressed, the selection has been overwritten with "b", and is thus empty, so the zenHTML binding is now allowed to proceed.
The correct behaviour here is fairly clear, but implementing it going to be fairly complex... anyway, I've added it to the todo list.