After upgrading to the latest version in the DARCS repository yesterday,
I noticed that key bindings defined for different window types, i.e. in
different `defbindings' clauses, that involve the same non-modifier keys
and differ only in modifier keys are not handled correctly.
For example, I have the following key binding defined in cfg_bindings.lua:
defbindings("WFrame", {
submap(DEFAULT_PREFIX) {
kpress("N", "WFrame.switch_next(_)"),
},
})
where DEFAULT_PREFIX is defined as "Mod4+K" and DEFAULT_MOD is defined
as "Mod4+".
I also have the following key binding defined in cfg_ionws.lua:
defbindings("WIonWS", {
submap(DEFAULT_PREFIX) {
kpress(DEFAULT_MOD.."n", "ionws_move_current(_, 'down')"),
},
})
When I press "Mod4+K" followed by "Mod4+n", WFrame.switch_next is
called, rather than ionws_move_current. The bindings worked correctly
with a version of ion-3 from December 2004.
Through testing, I found that this problem does not occur when `similar'
bindings are defined in the same defbindings clause.
--
Jeremy Maitin-Shepard